Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(21)

Unified Diff: sky/tests/raw/render_flex.dart

Issue 1146123003: Move simple_render_tree into tests as render_flex (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: now with expected.txt Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « sky/sdk/lib/framework/layout2.dart ('k') | sky/tests/raw/render_flex-expected.txt » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/tests/raw/render_flex.dart
diff --git a/sky/tests/raw/render_flex.dart b/sky/tests/raw/render_flex.dart
new file mode 100644
index 0000000000000000000000000000000000000000..24554d5869f057b65c81915887518afc2ba8f5bd
--- /dev/null
+++ b/sky/tests/raw/render_flex.dart
@@ -0,0 +1,85 @@
+// 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 '../resources/third_party/unittest/unittest.dart';
+import '../resources/unit.dart';
+import 'dart:sky' as sky;
+import 'package:sky/framework/app.dart';
+import 'package:sky/framework/layout2.dart';
+
+class RenderSolidColor extends RenderDecoratedBox {
+ final sky.Size desiredSize;
+ final int backgroundColor;
+
+ RenderSolidColor(int backgroundColor, { this.desiredSize: const sky.Size.infinite() })
+ : backgroundColor = backgroundColor,
+ super(new BoxDecoration(backgroundColor: backgroundColor)) {
+ }
+
+ BoxDimensions getIntrinsicDimensions(BoxConstraints constraints) {
+ return new BoxDimensions.withConstraints(constraints,
+ width: desiredSize.width,
+ height: desiredSize.height);
+ }
+
+ void performLayout() {
+ size = constraints.constrain(desiredSize);
+ }
+
+ void handlePointer(sky.PointerEvent event) {
+ if (event.type == 'pointerdown')
+ decoration = new BoxDecoration(backgroundColor: 0xFFFF0000);
+ else if (event.type == 'pointerup')
+ decoration = new BoxDecoration(backgroundColor: backgroundColor);
+ }
+}
+
+AppView app;
+
+void main() {
+ initUnit();
+
+ test("should flex", () {
+ var root = new RenderFlex(
+ direction: FlexDirection.Vertical,
+ decoration: new BoxDecoration(backgroundColor: 0xFF000000));
+
+ void addFlexChild(RenderFlex parent, int backgroundColor, { int flex: 0 }) {
+ RenderNode child = new RenderSolidColor(backgroundColor);
+ parent.add(child);
+ child.parentData.flex = flex;
+ }
+
+ // Yellow bar at top
+ addFlexChild(root, 0xFFFFFF00, flex: 1);
+
+ // Turquoise box
+ root.add(new RenderSolidColor(0x7700FFFF, desiredSize: new sky.Size(100.0, 100.0)));
+
+ // Green and cyan render block with padding
+ var renderBlock = new RenderBlock(decoration: new BoxDecoration(backgroundColor: 0xFFFFFFFF));
+
+ renderBlock.add(new RenderSolidColor(0xFF00FF00, desiredSize: new sky.Size(100.0, 50.0)));
+ renderBlock.add(new RenderSolidColor(0x7700FFFF, desiredSize: new sky.Size(50.0, 100.0)));
+
+ root.add(new RenderPadding(const EdgeDims(10.0, 10.0, 10.0, 10.0), renderBlock));
+
+ var row = new RenderFlex(
+ direction: FlexDirection.Horizontal,
+ decoration: new BoxDecoration(backgroundColor: 0xFF333333));
+
+ // Purple and blue cells
+ addFlexChild(row, 0x77FF00FF, flex: 1);
+ addFlexChild(row, 0xFF0000FF, flex: 2);
+
+ root.add(row);
+ row.parentData.flex = 3;
+
+ app = new AppView(root);
+
+ expect(root.size.width, equals(sky.view.width));
+ expect(root.size.height, equals(sky.view.height));
+ expect(renderBlock.size.width, equals(sky.view.width - 20.0));
+ });
+}
« no previous file with comments | « sky/sdk/lib/framework/layout2.dart ('k') | sky/tests/raw/render_flex-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698