flutter/packages/unit/test/widget/build_utils.dart
Adam Barth 16328cc875 Add GlobalKey.registerSyncListener
This lets clients listen for when a widget with a given global key goes through
a sync operation. We'll need this for mimic to track its mimicable when it
moves around the tree.
2015-08-24 12:55:55 -07:00

49 lines
992 B
Dart

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();
}
}
typedef Widget WidgetBuilder();
class TestApp extends App {
TestApp();
WidgetBuilder _builder;
void set builder (WidgetBuilder value) {
setState(() {
_builder = value;
});
}
Widget build() {
if (_builder != null)
return _builder();
return new Container();
}
}
class WidgetTester {
WidgetTester() {
_app = new TestApp();
_renderView = new TestRenderView();
runApp(_app, renderViewOverride: _renderView);
}
TestApp _app;
RenderView _renderView;
void pumpFrame(WidgetBuilder builder) {
_app.builder = builder;
Component.flushBuild();
RenderObject.flushLayout();
}
}