From a8489e94285d5310b243c89a6b8a21bf74f38de0 Mon Sep 17 00:00:00 2001 From: Adam Barth Date: Wed, 26 Aug 2015 15:42:52 -0700 Subject: [PATCH] Merge pumpPaintFrame and pumpFrame in WidgetTester We can make all the test pass by removing more of the mocks and using the real code. --- sky/unit/test/rendering/shrink_wrap_test.dart | 2 -- sky/unit/test/widget/build_utils.dart | 29 ++----------------- .../test/widget/progress_indicator_test.dart | 4 +-- 3 files changed, 5 insertions(+), 30 deletions(-) diff --git a/sky/unit/test/rendering/shrink_wrap_test.dart b/sky/unit/test/rendering/shrink_wrap_test.dart index 356cb325aa5..510676d14e7 100644 --- a/sky/unit/test/rendering/shrink_wrap_test.dart +++ b/sky/unit/test/rendering/shrink_wrap_test.dart @@ -1,5 +1,3 @@ -import 'dart:sky' as sky; - import 'package:sky/rendering.dart'; import 'package:test/test.dart'; diff --git a/sky/unit/test/widget/build_utils.dart b/sky/unit/test/widget/build_utils.dart index b6e7d4aed28..67035b82208 100644 --- a/sky/unit/test/widget/build_utils.dart +++ b/sky/unit/test/widget/build_utils.dart @@ -2,17 +2,6 @@ import 'dart:sky' as sky; import 'package:sky/rendering.dart'; import 'package:sky/widgets.dart'; -const Size _kTestViewSize = const Size(800.0, 600.0); - -class TestRenderView extends RenderView { - TestRenderView({ RenderBox child }) : super(child: child) { - attach(); - rootConstraints = new ViewConstraints(size: _kTestViewSize); - scheduleInitialLayout(); - scheduleInitialPaint(new TransformLayer(transform: new Matrix4.identity())); - } -} - typedef Widget WidgetBuilder(); class TestApp extends App { @@ -57,12 +46,10 @@ class TestGestureEvent extends sky.GestureEvent { class WidgetTester { WidgetTester() { _app = new TestApp(); - _renderView = new TestRenderView(); - runApp(_app, renderViewOverride: _renderView); + runApp(_app); } TestApp _app; - RenderView _renderView; List _layers(Layer layer) { List result = [layer]; @@ -76,7 +63,7 @@ class WidgetTester { } return result; } - List get layers => _layers(_renderView.layer); + List get layers => _layers(SkyBinding.instance.renderView.layer); void walkWidgets(WidgetTreeWalker walker) { void walk(Widget widget) { @@ -125,17 +112,7 @@ class WidgetTester { void pumpFrame(WidgetBuilder builder) { _app.builder = builder; - Component.flushBuild(); - RenderObject.flushLayout(); - } - - // TODO(hansmuller): just having one pumpFrame() fn would be preferable. - void pumpPaintFrame(WidgetBuilder builder) { - _app.builder = builder; - Component.flushBuild(); - RenderObject.flushLayout(); - _renderView.updateCompositingBits(); - RenderObject.flushPaint(); + SkyBinding.instance.beginFrame(0.0); } } diff --git a/sky/unit/test/widget/progress_indicator_test.dart b/sky/unit/test/widget/progress_indicator_test.dart index 9b198a6d4e6..5e7ca00e7d5 100644 --- a/sky/unit/test/widget/progress_indicator_test.dart +++ b/sky/unit/test/widget/progress_indicator_test.dart @@ -9,12 +9,12 @@ void main() { test('LinearProgressIndicator changes when its value changes', () { WidgetTester tester = new WidgetTester(); - tester.pumpPaintFrame(() { + tester.pumpFrame(() { return new Block([new LinearProgressIndicator(value: 0.0)]); }); List layers1 = tester.layers; - tester.pumpPaintFrame(() { + tester.pumpFrame(() { return new Block([new LinearProgressIndicator(value: 0.5)]); }); List layers2 = tester.layers;