blob: c2c31a061cc56f5670706deff75b5b89df557f8c [file] [log] [blame]
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'package:sky/widgets.dart';
import '../resources/display_list.dart';
// see issue 626
class ProblemComponent extends StatefulComponent {
void syncConstructorArguments(ProblemComponent source) { }
bool _flag = false;
void flip() {
setState(() {
_flag = true;
});
}
Widget build() {
if (_flag)
return new Padding(padding: const EdgeDims.all(10.0));
return new SizedBox(width: 100.0, height: 100.0);
}
}
ProblemComponent a;
ProblemComponent b;
class TestApp extends App {
Widget build() {
return new Flex([
a = new ProblemComponent(),
b = new ProblemComponent()
],
direction: FlexDirection.vertical);
}
}
main() async {
try {
TestRenderView renderViewOverride = new TestRenderView();
TestApp app = new TestApp();
runApp(app, renderViewOverride: renderViewOverride);
await renderViewOverride.checkFrame();
b.flip();
await renderViewOverride.checkFrame();
a.flip();
await renderViewOverride.checkFrame();
renderViewOverride.endTest();
} catch (e, s) {
print("Exception: $e\nStack:\n$s\n");
}
}