blob: 782a29633bec8d2cfaee9329e1bbf53f776ec1a6 [file]
import 'package:sky/animation.dart';
import 'package:sky/widgets.dart';
import 'package:test/test.dart';
import 'widget_tester.dart';
class InnerComponent extends StatefulComponent {
InnerComponent();
bool _didInitState = false;
void initState() {
_didInitState = true;
}
void syncConstructorArguments(InnerComponent source) {
}
Widget build() {
return new Container();
}
}
class OutterContainer extends StatefulComponent {
OutterContainer({ this.child });
InnerComponent child;
void syncConstructorArguments(OutterContainer source) {
child = source.child;
}
Widget build() {
return child;
}
}
void main() {
test('resync stateful widget', () {
WidgetTester tester = new WidgetTester();
InnerComponent inner;
OutterContainer outter;
tester.pumpFrame(() {
return new OutterContainer(child: new InnerComponent());
});
tester.pumpFrame(() {
inner = new InnerComponent();
outter = new OutterContainer(child: inner);
return outter;
});
expect(inner._didInitState, isFalse);
expect(inner.parent, isNull);
outter.setState(() {});
scheduler.beginFrame(0.0);
expect(inner._didInitState, isFalse);
expect(inner.parent, isNull);
});
}