diff --git a/examples/rendering/sector_layout.dart b/examples/rendering/sector_layout.dart index ac3fc4699e..a6fc547357 100644 --- a/examples/rendering/sector_layout.dart +++ b/examples/rendering/sector_layout.dart @@ -2,7 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'dart:async'; import 'package:flutter/rendering.dart'; import 'lib/sector_layout.dart'; diff --git a/examples/stocks/lib/main.dart b/examples/stocks/lib/main.dart index 314a3b57a5..61e7d5d4d9 100644 --- a/examples/stocks/lib/main.dart +++ b/examples/stocks/lib/main.dart @@ -11,6 +11,7 @@ import 'dart:ui' as ui; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:flutter/painting.dart'; +import 'package:flutter/rendering.dart'; import 'stock_data.dart'; diff --git a/examples/stocks/lib/stock_home.dart b/examples/stocks/lib/stock_home.dart index 0d18aec008..33d9cdd5de 100644 --- a/examples/stocks/lib/stock_home.dart +++ b/examples/stocks/lib/stock_home.dart @@ -112,7 +112,7 @@ class StockHomeState extends State { ), new DrawerItem( icon: 'device/dvr', - onPressed: () { debugDumpApp(); }, + onPressed: () { debugDumpApp(); debugDumpRenderTree(); }, child: new Text('Dump App to Console') ), new DrawerDivider(), diff --git a/packages/flutter/lib/src/gestures/arena.dart b/packages/flutter/lib/src/gestures/arena.dart index 17e70da4ec..184a314ac2 100644 --- a/packages/flutter/lib/src/gestures/arena.dart +++ b/packages/flutter/lib/src/gestures/arena.dart @@ -45,6 +45,8 @@ class GestureArenaEntry { class _GestureArenaState { final List members = new List(); bool isOpen = true; + bool isHeld = false; + bool hasPendingSweep = false; void add(GestureArenaMember member) { assert(isOpen); @@ -72,6 +74,46 @@ class GestureArena { _tryToResolveArena(key, state); } + /// Force resolution on this arena, giving the win to the first member + void sweep(Object key) { + _GestureArenaState state = _arenas[key]; + if (state == null) + return; // This arena either never existed or has been resolved. + assert(!state.isOpen); + if (state.isHeld) { + state.hasPendingSweep = true; + return; // This arena is being held for a long-lived member + } + _arenas.remove(key); + if (!state.members.isEmpty) { + // First member wins + state.members.first.acceptGesture(key); + // Give all the other members the bad news + for (int i = 1; i < state.members.length; i++) + state.members[i].rejectGesture(key); + } + } + + /// Prevent the arena from being swept + void hold(Object key) { + _GestureArenaState state = _arenas[key]; + if (state == null) + return; // This arena either never existed or has been resolved. + state.isHeld = true; + } + + /// Release a hold, allowing the arena to be swept + /// If a sweep was attempted on a held arena, the sweep will be done + /// on release + void release(Object key) { + _GestureArenaState state = _arenas[key]; + if (state == null) + return; // This arena either never existed or has been resolved. + state.isHeld = false; + if (state.hasPendingSweep) + sweep(key); + } + void _tryToResolveArena(Object key, _GestureArenaState state) { assert(_arenas[key] == state); assert(!state.isOpen); diff --git a/packages/flutter/lib/src/material/scrollbar_painter.dart b/packages/flutter/lib/src/material/scrollbar_painter.dart index 16b2175553..cd839f43f0 100644 --- a/packages/flutter/lib/src/material/scrollbar_painter.dart +++ b/packages/flutter/lib/src/material/scrollbar_painter.dart @@ -3,7 +3,6 @@ // found in the LICENSE file. import 'dart:async'; -import 'dart:ui' as ui; import 'package:flutter/animation.dart'; import 'package:flutter/rendering.dart'; diff --git a/packages/flutter/lib/src/painting/text_style.dart b/packages/flutter/lib/src/painting/text_style.dart index 9ca3de29a9..cf241df700 100644 --- a/packages/flutter/lib/src/painting/text_style.dart +++ b/packages/flutter/lib/src/painting/text_style.dart @@ -252,25 +252,131 @@ class TextStyle { List result = []; if (color != null) result.add('${prefix}color: $color'); - // TODO(hansmuller): escape the fontFamily string. if (fontFamily != null) - result.add('${prefix}fontFamily: "$fontFamily"'); + result.add('${prefix}family: "$fontFamily"'); if (fontSize != null) - result.add('${prefix}fontSize: $fontSize'); - if (fontWeight != null) - result.add('${prefix}fontWeight: $fontWeight'); - if (fontStyle != null) - result.add('${prefix}fontStyle: $fontStyle'); - if (textAlign != null) - result.add('${prefix}textAlign: $textAlign'); - if (textBaseline != null) - result.add('${prefix}textBaseline: $textBaseline'); - if (decoration != null) - result.add('${prefix}decoration: $decoration'); - if (decorationColor != null) - result.add('${prefix}decorationColor: $decorationColor'); - if (decorationStyle != null) - result.add('${prefix}decorationStyle: $decorationStyle'); + result.add('${prefix}size: $fontSize'); + if (fontWeight != null) { + switch (fontWeight) { + case FontWeight.w100: + result.add('${prefix}weight: 100'); + break; + case FontWeight.w200: + result.add('${prefix}weight: 200'); + break; + case FontWeight.w300: + result.add('${prefix}weight: 300'); + break; + case FontWeight.w400: + result.add('${prefix}weight: 400'); + break; + case FontWeight.w500: + result.add('${prefix}weight: 500'); + break; + case FontWeight.w600: + result.add('${prefix}weight: 600'); + break; + case FontWeight.w700: + result.add('${prefix}weight: 700'); + break; + case FontWeight.w800: + result.add('${prefix}weight: 800'); + break; + case FontWeight.w900: + result.add('${prefix}weight: 900'); + break; + } + } + if (fontStyle != null) { + switch (fontStyle) { + case FontStyle.normal: + result.add('${prefix}style: normal'); + break; + case FontStyle.italic: + result.add('${prefix}style: italic'); + break; + } + } + if (textAlign != null) { + switch (textAlign) { + case TextAlign.left: + result.add('${prefix}align: left'); + break; + case TextAlign.right: + result.add('${prefix}align: right'); + break; + case TextAlign.center: + result.add('${prefix}align: center'); + break; + } + } + if (textBaseline != null) { + switch (textBaseline) { + case TextBaseline.alphabetic: + result.add('${prefix}baseline: alphabetic'); + break; + case TextBaseline.ideographic: + result.add('${prefix}baseline: ideographic'); + break; + } + } + if (decoration != null || decorationColor != null || decorationStyle != null) { + String decorationDescription = '${prefix}decoration: '; + bool haveDecorationDescription = false; + if (decorationStyle != null) { + switch (decorationStyle) { + case TextDecorationStyle.solid: + decorationDescription += 'solid'; + break; + case TextDecorationStyle.double: + decorationDescription += 'double'; + break; + case TextDecorationStyle.dotted: + decorationDescription += 'dotted'; + break; + case TextDecorationStyle.dashed: + decorationDescription += 'dashed'; + break; + case TextDecorationStyle.wavy: + decorationDescription += 'wavy'; + break; + } + haveDecorationDescription = true; + } + if (decorationColor != null) { + if (haveDecorationDescription) + decorationDescription += ' '; + decorationDescription += '$decorationColor'; + haveDecorationDescription = true; + } + if (decoration != null) { + if (haveDecorationDescription) + decorationDescription += ' '; + bool multipleDecorations = false; + for (TextDecoration value in decoration) { + if (multipleDecorations) + decorationDescription += '+'; + switch (value) { + case TextDecoration.none: + decorationDescription += 'none'; + break; + case TextDecoration.underline: + decorationDescription += 'underline'; + break; + case TextDecoration.overline: + decorationDescription += 'overline'; + break; + case TextDecoration.lineThrough: + decorationDescription += 'line-through'; + break; + } + multipleDecorations = true; + } + haveDecorationDescription = true; + } + assert(haveDecorationDescription); + result.add(decorationDescription); + } if (result.isEmpty) return '$prefix'; return result.join('\n'); diff --git a/packages/flutter/lib/src/rendering/binding.dart b/packages/flutter/lib/src/rendering/binding.dart index 3484b40469..e501ff39fa 100644 --- a/packages/flutter/lib/src/rendering/binding.dart +++ b/packages/flutter/lib/src/rendering/binding.dart @@ -244,6 +244,8 @@ class FlutterBinding extends HitTestTarget { pointerRouter.route(event); if (event.type == 'pointerdown') GestureArena.instance.close(event.pointer); + else if (event.type == 'pointerup') + GestureArena.instance.sweep(event.pointer); } } } diff --git a/packages/flutter/lib/src/rendering/object.dart b/packages/flutter/lib/src/rendering/object.dart index 606d4fb988..be74fec813 100644 --- a/packages/flutter/lib/src/rendering/object.dart +++ b/packages/flutter/lib/src/rendering/object.dart @@ -1139,11 +1139,18 @@ abstract class RenderObject extends AbstractNode implements HitTestTarget { /// Returns a description of the tree rooted at this node. /// If the prefix argument is provided, then every line in the output /// will be prefixed by that string. - String toStringDeep([String prefix = '']) { + String toStringDeep([String prefixLineOne = '', String prefixOtherLines = '']) { RenderObject debugPreviousActiveLayout = _debugActiveLayout; _debugActiveLayout = null; - prefix += ' '; - String result = '$this\n${debugDescribeSettings(prefix)}${debugDescribeChildren(prefix)}'; + String result = '$prefixLineOne$this\n'; + final String childrenDescription = debugDescribeChildren(prefixOtherLines); + final String settingsPrefix = childrenDescription != '' ? '$prefixOtherLines \u2502 ' : '$prefixOtherLines '; + result += debugDescribeSettings(settingsPrefix); + if (childrenDescription != '') + result += '$prefixOtherLines \u2502\n'; + else + result += '$prefixOtherLines\n'; + result += childrenDescription; _debugActiveLayout = debugPreviousActiveLayout; return result; } @@ -1198,7 +1205,7 @@ abstract class RenderObjectWithChildMixin implem } String debugDescribeChildren(String prefix) { if (child != null) - return '${prefix}child: ${child.toStringDeep(prefix)}'; + return '${child.toStringDeep("$prefix \u2514\u2500child: ", "$prefix ")}'; return ''; } } @@ -1442,13 +1449,19 @@ abstract class ContainerRenderObjectMixin '$runtimeType($x, $y)'; } /// Applies a transformation before painting its child @@ -1016,7 +1017,7 @@ class RenderTransform extends RenderProxyBox { String debugDescribeSettings(String prefix) { List result = _transform.toString().split('\n').map((String s) => '$prefix $s\n').toList(); result.removeLast(); - return '${super.debugDescribeSettings(prefix)}${prefix}transform matrix:\n${result.join()}\n${prefix}origin: $origin\n'; + return '${super.debugDescribeSettings(prefix)}${prefix}transform matrix:\n${result.join()}\n${prefix}origin: $origin\nalignment: $alignment\n'; } } diff --git a/packages/flutter/lib/src/widgets/binding.dart b/packages/flutter/lib/src/widgets/binding.dart index c73678c52e..8ceeb73244 100644 --- a/packages/flutter/lib/src/widgets/binding.dart +++ b/packages/flutter/lib/src/widgets/binding.dart @@ -92,6 +92,9 @@ void runApp(Widget app) { void debugDumpApp() { assert(WidgetFlutterBinding.instance != null); assert(WidgetFlutterBinding.instance.renderViewElement != null); + String mode = 'RELEASE MODE'; + assert(() { mode = 'CHECKED MODE'; return true; }); + print('${WidgetFlutterBinding.instance.runtimeType} - $mode'); WidgetFlutterBinding.instance.renderViewElement.toStringDeep().split('\n').forEach(print); } diff --git a/packages/flutter/lib/src/widgets/framework.dart b/packages/flutter/lib/src/widgets/framework.dart index 5ff36a3ab8..1cfd022b49 100644 --- a/packages/flutter/lib/src/widgets/framework.dart +++ b/packages/flutter/lib/src/widgets/framework.dart @@ -394,8 +394,11 @@ abstract class State { void debugFillDescription(List description) { description.add('$hashCode'); - if (_debugLifecycleState != _StateLifecycle.ready) - description.add('$_debugLifecycleState'); + assert(() { + if (_debugLifecycleState != _StateLifecycle.ready) + description.add('$_debugLifecycleState'); + return true; + }); if (_config == null) description.add('no config'); if (_element == null) @@ -829,9 +832,7 @@ abstract class Element implements BuildContext { String toStringDeep([String prefixLineOne = '', String prefixOtherLines = '']) { String result = '$prefixLineOne$this\n'; List children = []; - visitChildren((Element child) { - children.add(child); - }); + visitChildren(children.add); if (children.length > 0) { Element last = children.removeLast(); for (Element child in children) diff --git a/packages/flutter_sprites/lib/src/physics_debug.dart b/packages/flutter_sprites/lib/src/physics_debug.dart index cc3bc0c618..30f877c929 100644 --- a/packages/flutter_sprites/lib/src/physics_debug.dart +++ b/packages/flutter_sprites/lib/src/physics_debug.dart @@ -4,14 +4,22 @@ class _PhysicsDebugDraw extends box2d.DebugDraw { _PhysicsDebugDraw( box2d.ViewportTransform transform, this.physicsNode - ) : super(transform); + ) : super(transform) { + appendFlags( + box2d.DebugDraw.JOINT_BIT | + box2d.DebugDraw.CENTER_OF_MASS_BIT | + box2d.DebugDraw.WIREFRAME_DRAWING_BIT + ); + } PhysicsNode physicsNode; PaintingCanvas canvas; void drawSegment(Vector2 p1, Vector2 p2, box2d.Color3i color) { - Paint paint = new Paint()..color = _toColor(color); + Paint paint = new Paint() + ..color = _toColor(color) + ..strokeWidth = 1.0; canvas.drawLine(_toPoint(p1), _toPoint(p2), paint); } @@ -33,7 +41,6 @@ class _PhysicsDebugDraw extends box2d.DebugDraw { } void drawCircle(Vector2 center, num radius, box2d.Color3i color, [Vector2 axis]) { - print("drawCircle: $center"); Paint paint = new Paint() ..color = _toColor(color) ..setStyle(ui.PaintingStyle.stroke) diff --git a/packages/flutter_sprites/lib/src/sprite_box.dart b/packages/flutter_sprites/lib/src/sprite_box.dart index f2bc2f4db5..356b48b1d9 100644 --- a/packages/flutter_sprites/lib/src/sprite_box.dart +++ b/packages/flutter_sprites/lib/src/sprite_box.dart @@ -32,8 +32,10 @@ class SpriteBox extends RenderBox { if (value == _rootNode) return; // Ensure that the root node has a size - assert(value.size.width > 0); - assert(value.size.height > 0); + assert(_transformMode == SpriteBoxTransformMode.nativePoints + || value.size.width > 0); + assert(_transformMode == SpriteBoxTransformMode.nativePoints + || value.size.height > 0); // Remove sprite box references if (_rootNode != null) _removeSpriteBoxReference(_rootNode); @@ -101,11 +103,11 @@ class SpriteBox extends RenderBox { assert(rootNode != null); assert(rootNode._spriteBox == null); - // Setup root node - this.rootNode = rootNode; - // Setup transform mode this.transformMode = mode; + + // Setup root node + this.rootNode = rootNode; } void _removeSpriteBoxReference(Node node) { @@ -310,6 +312,8 @@ class SpriteBox extends RenderBox { rootNode.size = new Size(systemWidth, systemHeight); break; case SpriteBoxTransformMode.nativePoints: + systemWidth = size.width; + systemHeight = size.height; break; default: assert(false); diff --git a/packages/unit/test/engine/insert_before_test.dart b/packages/unit/test/engine/insert_before_test.dart index 4af3b4bbb3..ffd94ef7c1 100644 --- a/packages/unit/test/engine/insert_before_test.dart +++ b/packages/unit/test/engine/insert_before_test.dart @@ -6,15 +6,15 @@ void main() { Document document = new Document(); test("should throw with invalid arguments", () { - var parent = document.createElement("div"); - var child = document.createElement("div"); + Element parent = document.createElement("div"); + Element child = document.createElement("div"); parent.appendChild(child); // TODO(eseidel): This should throw! // expect(() { // parent.insertBefore([parent]); // }, throws); expect(() { - child.insertBefore([parent]); + child.insertBefore([parent]); }, throws); }); diff --git a/packages/unit/test/engine/replace_child_test.dart b/packages/unit/test/engine/replace_child_test.dart index ba40e156e0..42dfce4718 100644 --- a/packages/unit/test/engine/replace_child_test.dart +++ b/packages/unit/test/engine/replace_child_test.dart @@ -5,36 +5,36 @@ import 'package:test/test.dart'; import 'dom_utils.dart'; void main() { - var document = new Document(); + Document document = new Document(); test("should replace elements", () { - var parent = document.createElement("div"); - var oldChild = parent.appendChild(document.createElement("div")); - var newChild = document.createElement("div"); - oldChild.replaceWith([newChild]); + Element parent = document.createElement("div"); + Element oldChild = parent.appendChild(document.createElement("div")); + Element newChild = document.createElement("div"); + oldChild.replaceWith([newChild]); expect(oldChild.parentNode, isNull); expect(newChild.parentNode, equals(parent)); }); test("should replace text", () { - var parent = document.createElement("div"); - var oldChild = parent.appendChild(document.createText(" it's a text ")); - var newChild = document.createElement("div"); - oldChild.replaceWith([newChild]); + Element parent = document.createElement("div"); + Node oldChild = parent.appendChild(document.createText(" it's a text ")); + Element newChild = document.createElement("div"); + oldChild.replaceWith([newChild]); expect(oldChild.parentNode, isNull); expect(newChild.parentNode, equals(parent)); }); test("should replace children with a fragment", () { - var fragment = document.createDocumentFragment(); - var child1 = fragment.appendChild(document.createElement("div")); - var child2 = fragment.appendChild(document.createText(" text ")); - var child3 = fragment.appendChild(document.createText(" ")); - var child4 = fragment.appendChild(document.createElement("div")); - var parent = document.createElement("div"); - var oldChild = parent.appendChild(document.createElement("div")); - var lastChild = parent.appendChild(document.createElement("div")); - oldChild.replaceWith([fragment]); + DocumentFragment fragment = document.createDocumentFragment(); + Element child1 = fragment.appendChild(document.createElement("div")); + Node child2 = fragment.appendChild(document.createText(" text ")); + Node child3 = fragment.appendChild(document.createText(" ")); + Element child4 = fragment.appendChild(document.createElement("div")); + Element parent = document.createElement("div"); + Element oldChild = parent.appendChild(document.createElement("div")); + Element lastChild = parent.appendChild(document.createElement("div")); + oldChild.replaceWith([fragment]); expect(child1.parentNode, equals(parent)); expect(child2.parentNode, equals(parent)); expect(child3.parentNode, equals(parent)); diff --git a/packages/unit/test/gestures/arena_test.dart b/packages/unit/test/gestures/arena_test.dart index ccc861b50a..4f0d062fd6 100644 --- a/packages/unit/test/gestures/arena_test.dart +++ b/packages/unit/test/gestures/arena_test.dart @@ -66,4 +66,176 @@ void main() { expect(secondAcceptRan, isFalse); expect(secondRejectRan, isTrue); }); + + test('Should win by sweep', () { + GestureArena arena = new GestureArena(); + + int primaryKey = 4; + bool firstAcceptRan = false; + bool firstRejectRan = false; + bool secondAcceptRan = false; + bool secondRejectRan = false; + + TestGestureArenaMember first = new TestGestureArenaMember( + onAcceptGesture: (int key) { + expect(key, equals(primaryKey)); + firstAcceptRan = true; + }, + onRejectGesture: (int key) { + expect(key, equals(primaryKey)); + firstRejectRan = true; + } + ); + + TestGestureArenaMember second = new TestGestureArenaMember( + onAcceptGesture: (int key) { + expect(key, equals(primaryKey)); + secondAcceptRan = true; + }, + onRejectGesture: (int key) { + expect(key, equals(primaryKey)); + secondRejectRan = true; + } + ); + + arena.add(primaryKey, first); + arena.add(primaryKey, second); + arena.close(primaryKey); + + expect(firstAcceptRan, isFalse); + expect(firstRejectRan, isFalse); + expect(secondAcceptRan, isFalse); + expect(secondRejectRan, isFalse); + + arena.sweep(primaryKey); + + expect(firstAcceptRan, isTrue); + expect(firstRejectRan, isFalse); + expect(secondAcceptRan, isFalse); + expect(secondRejectRan, isTrue); + }); + + test('Should win on release after hold sweep release', () { + GestureArena arena = new GestureArena(); + + int primaryKey = 4; + bool firstAcceptRan = false; + bool firstRejectRan = false; + bool secondAcceptRan = false; + bool secondRejectRan = false; + + TestGestureArenaMember first = new TestGestureArenaMember( + onAcceptGesture: (int key) { + expect(key, equals(primaryKey)); + firstAcceptRan = true; + }, + onRejectGesture: (int key) { + expect(key, equals(primaryKey)); + firstRejectRan = true; + } + ); + + TestGestureArenaMember second = new TestGestureArenaMember( + onAcceptGesture: (int key) { + expect(key, equals(primaryKey)); + secondAcceptRan = true; + }, + onRejectGesture: (int key) { + expect(key, equals(primaryKey)); + secondRejectRan = true; + } + ); + + arena.add(primaryKey, first); + arena.add(primaryKey, second); + arena.close(primaryKey); + + expect(firstAcceptRan, isFalse); + expect(firstRejectRan, isFalse); + expect(secondAcceptRan, isFalse); + expect(secondRejectRan, isFalse); + + arena.hold(primaryKey); + + expect(firstAcceptRan, isFalse); + expect(firstRejectRan, isFalse); + expect(secondAcceptRan, isFalse); + expect(secondRejectRan, isFalse); + + arena.sweep(primaryKey); + + expect(firstAcceptRan, isFalse); + expect(firstRejectRan, isFalse); + expect(secondAcceptRan, isFalse); + expect(secondRejectRan, isFalse); + + arena.release(primaryKey); + + expect(firstAcceptRan, isTrue); + expect(firstRejectRan, isFalse); + expect(secondAcceptRan, isFalse); + expect(secondRejectRan, isTrue); + }); + + test('Should win on sweep after hold release sweep', () { + GestureArena arena = new GestureArena(); + + int primaryKey = 4; + bool firstAcceptRan = false; + bool firstRejectRan = false; + bool secondAcceptRan = false; + bool secondRejectRan = false; + + TestGestureArenaMember first = new TestGestureArenaMember( + onAcceptGesture: (int key) { + expect(key, equals(primaryKey)); + firstAcceptRan = true; + }, + onRejectGesture: (int key) { + expect(key, equals(primaryKey)); + firstRejectRan = true; + } + ); + + TestGestureArenaMember second = new TestGestureArenaMember( + onAcceptGesture: (int key) { + expect(key, equals(primaryKey)); + secondAcceptRan = true; + }, + onRejectGesture: (int key) { + expect(key, equals(primaryKey)); + secondRejectRan = true; + } + ); + + arena.add(primaryKey, first); + arena.add(primaryKey, second); + arena.close(primaryKey); + + expect(firstAcceptRan, isFalse); + expect(firstRejectRan, isFalse); + expect(secondAcceptRan, isFalse); + expect(secondRejectRan, isFalse); + + arena.hold(primaryKey); + + expect(firstAcceptRan, isFalse); + expect(firstRejectRan, isFalse); + expect(secondAcceptRan, isFalse); + expect(secondRejectRan, isFalse); + + arena.release(primaryKey); + + expect(firstAcceptRan, isFalse); + expect(firstRejectRan, isFalse); + expect(secondAcceptRan, isFalse); + expect(secondRejectRan, isFalse); + + arena.sweep(primaryKey); + + expect(firstAcceptRan, isTrue); + expect(firstRejectRan, isFalse); + expect(secondAcceptRan, isFalse); + expect(secondRejectRan, isTrue); + }); } diff --git a/packages/unit/test/gestures/long_press_test.dart b/packages/unit/test/gestures/long_press_test.dart index 133901f9fc..ce95e3ab27 100644 --- a/packages/unit/test/gestures/long_press_test.dart +++ b/packages/unit/test/gestures/long_press_test.dart @@ -26,7 +26,7 @@ void main() { longPressRecognized = true; }; - new FakeAsync().run((async) { + new FakeAsync().run((FakeAsync async) { longPress.addPointer(down); GestureArena.instance.close(5); expect(longPressRecognized, isFalse); @@ -50,7 +50,7 @@ void main() { longPressRecognized = true; }; - new FakeAsync().run((async) { + new FakeAsync().run((FakeAsync async) { longPress.addPointer(down); GestureArena.instance.close(5); expect(longPressRecognized, isFalse); @@ -82,7 +82,7 @@ void main() { longPressRecognized = true; }; - new FakeAsync().run((async) { + new FakeAsync().run((FakeAsync async) { showPress.addPointer(down); longPress.addPointer(down); GestureArena.instance.close(5); diff --git a/packages/unit/test/gestures/show_press_test.dart b/packages/unit/test/gestures/show_press_test.dart index d5e5dd5e9f..1206fbf52f 100644 --- a/packages/unit/test/gestures/show_press_test.dart +++ b/packages/unit/test/gestures/show_press_test.dart @@ -26,7 +26,7 @@ void main() { showPressRecognized = true; }; - new FakeAsync().run((async) { + new FakeAsync().run((FakeAsync async) { showPress.addPointer(down); GestureArena.instance.close(5); expect(showPressRecognized, isFalse); @@ -48,7 +48,7 @@ void main() { showPressRecognized = true; }; - new FakeAsync().run((async) { + new FakeAsync().run((FakeAsync async) { showPress.addPointer(down); GestureArena.instance.close(5); expect(showPressRecognized, isFalse); diff --git a/packages/unit/test/rendering/box_test.dart b/packages/unit/test/rendering/box_test.dart index 878237fbb1..680ede0236 100644 --- a/packages/unit/test/rendering/box_test.dart +++ b/packages/unit/test/rendering/box_test.dart @@ -11,7 +11,7 @@ void main() { backgroundColor: const Color(0xFF00FF00), gradient: new RadialGradient( center: Point.origin, radius: 500.0, - colors: [Colors.yellow[500], Colors.blue[500]]), + colors: [Colors.yellow[500], Colors.blue[500]]), boxShadow: shadows[3]) ); layout(root); @@ -34,7 +34,7 @@ void main() { child: inner ); RenderBox flex = new RenderFlex( - children: [padding], + children: [padding], direction: FlexDirection.vertical, alignItems: FlexAlignItems.stretch ); diff --git a/packages/unit/test/rendering/flex_test.dart b/packages/unit/test/rendering/flex_test.dart index 4ce08a1233..0d223c9aac 100644 --- a/packages/unit/test/rendering/flex_test.dart +++ b/packages/unit/test/rendering/flex_test.dart @@ -6,7 +6,7 @@ import 'rendering_tester.dart'; void main() { test('Overconstrained flex', () { RenderDecoratedBox box = new RenderDecoratedBox(decoration: new BoxDecoration()); - RenderFlex flex = new RenderFlex(children: [ box ]); + RenderFlex flex = new RenderFlex(children: [box]); layout(flex, constraints: const BoxConstraints( minWidth: 200.0, maxWidth: 100.0, minHeight: 200.0, maxHeight: 100.0) ); @@ -24,7 +24,7 @@ void main() { test('Parent data', () { RenderDecoratedBox box1 = new RenderDecoratedBox(decoration: new BoxDecoration()); RenderDecoratedBox box2 = new RenderDecoratedBox(decoration: new BoxDecoration()); - RenderFlex flex = new RenderFlex(children: [ box1, box2 ]); + RenderFlex flex = new RenderFlex(children: [box1, box2]); layout(flex, constraints: const BoxConstraints( minWidth: 0.0, maxWidth: 100.0, minHeight: 0.0, maxHeight: 100.0) ); @@ -33,7 +33,8 @@ void main() { expect(box2.size.width, equals(0.0)); expect(box2.size.height, equals(0.0)); - box2.parentData.flex = 1; + final FlexParentData box2ParentData = box2.parentData; + box2ParentData.flex = 1; flex.markNeedsLayout(); pumpFrame(); expect(box1.size.width, equals(0.0)); @@ -47,8 +48,9 @@ void main() { RenderDecoratedBox box2 = new RenderDecoratedBox(decoration: new BoxDecoration()); RenderFlex flex = new RenderFlex(); flex.setupParentData(box2); - box2.parentData.flex = 2; - flex.addAll([box1, box2]); + final FlexParentData box2ParentData = box2.parentData; + box2ParentData.flex = 2; + flex.addAll([box1, box2]); layout(flex, constraints: const BoxConstraints( minWidth: 0.0, maxWidth: 100.0, minHeight: 0.0, maxHeight: 100.0) ); diff --git a/packages/unit/test/rendering/grid_test.dart b/packages/unit/test/rendering/grid_test.dart index 60852a2e8a..8646ba3068 100644 --- a/packages/unit/test/rendering/grid_test.dart +++ b/packages/unit/test/rendering/grid_test.dart @@ -5,7 +5,7 @@ import 'rendering_tester.dart'; void main() { test('Basic grid layout test', () { - List children = [ + List children = [ new RenderDecoratedBox(decoration: new BoxDecoration()), new RenderDecoratedBox(decoration: new BoxDecoration()), new RenderDecoratedBox(decoration: new BoxDecoration()), @@ -15,7 +15,7 @@ void main() { RenderGrid grid = new RenderGrid(children: children, maxChildExtent: 100.0); layout(grid, constraints: const BoxConstraints(maxWidth: 200.0)); - children.forEach((child) { + children.forEach((RenderBox child) { expect(child.size.width, equals(100.0), reason: "child width"); expect(child.size.height, equals(100.0), reason: "child height"); }); @@ -29,7 +29,7 @@ void main() { pumpFrame(); - children.forEach((child) { + children.forEach((RenderBox child) { expect(child.size.width, equals(50.0), reason: "child width"); expect(child.size.height, equals(50.0), reason: "child height"); }); diff --git a/packages/unit/test/rendering/stack_test.dart b/packages/unit/test/rendering/stack_test.dart index 8a2fb726d6..8fc40a5611 100644 --- a/packages/unit/test/rendering/stack_test.dart +++ b/packages/unit/test/rendering/stack_test.dart @@ -19,7 +19,7 @@ void main() { backgroundColor: const Color(0xFFFF0000) )); - RenderBox stack = new RenderStack(children: [red, green]); + RenderBox stack = new RenderStack(children: [red, green]); (green.parentData as StackParentData) ..top = 0.0 ..right = 0.0 diff --git a/packages/unit/test/widget/block_test.dart b/packages/unit/test/widget/block_test.dart index 141313ea2b..b0722d9c83 100644 --- a/packages/unit/test/widget/block_test.dart +++ b/packages/unit/test/widget/block_test.dart @@ -10,7 +10,7 @@ void main() { test('Cannot scroll a non-overflowing block', () { testWidgets((WidgetTester tester) { tester.pumpWidget( - new Block([ + new Block([ new Container( height: 200.0, // less than 600, the height of the test area child: new Text('Hello') @@ -37,7 +37,7 @@ void main() { test('Can scroll an overflowing block', () { testWidgets((WidgetTester tester) { tester.pumpWidget( - new Block([ + new Block([ new Container( height: 2000.0, // more than 600, the height of the test area child: new Text('Hello') diff --git a/packages/unit/test/widget/center_test.dart b/packages/unit/test/widget/center_test.dart index 340e08de9f..ee21e6b499 100644 --- a/packages/unit/test/widget/center_test.dart +++ b/packages/unit/test/widget/center_test.dart @@ -6,7 +6,7 @@ import 'widget_tester.dart'; void main() { test('Can be placed in an infinte box', () { testWidgets((WidgetTester tester) { - tester.pumpWidget(new Block([new Center()])); + tester.pumpWidget(new Block([new Center()])); }); }); } diff --git a/packages/unit/test/widget/coordinates_test.dart b/packages/unit/test/widget/coordinates_test.dart index e6ee66bb9f..3bd3808555 100644 --- a/packages/unit/test/widget/coordinates_test.dart +++ b/packages/unit/test/widget/coordinates_test.dart @@ -11,7 +11,7 @@ void main() { Key keyB = new GlobalKey(); tester.pumpWidget( - new Stack([ + new Stack([ new Positioned( top: 100.0, left: 100.0, diff --git a/packages/unit/test/widget/date_picker_test.dart b/packages/unit/test/widget/date_picker_test.dart index d0c00eee67..0fdbdc49bb 100644 --- a/packages/unit/test/widget/date_picker_test.dart +++ b/packages/unit/test/widget/date_picker_test.dart @@ -8,7 +8,7 @@ void main() { testWidgets((WidgetTester tester) { DateTime currentValue; - Widget widget = new Block([ + Widget widget = new Block([ new DatePicker( selectedDate: new DateTime.utc(2015, 6, 9, 7, 12), firstDate: new DateTime.utc(2013), diff --git a/packages/unit/test/widget/dismissable_test.dart b/packages/unit/test/widget/dismissable_test.dart index b9a7b5f3cc..3c717f225b 100644 --- a/packages/unit/test/widget/dismissable_test.dart +++ b/packages/unit/test/widget/dismissable_test.dart @@ -8,7 +8,7 @@ import 'widget_tester.dart'; const double itemExtent = 100.0; ScrollDirection scrollDirection = ScrollDirection.vertical; DismissDirection dismissDirection = DismissDirection.horizontal; -List dismissedItems = []; +List dismissedItems = []; void handleOnResized(item) { expect(dismissedItems.contains(item), isFalse); @@ -117,7 +117,7 @@ void main() { testWidgets((WidgetTester tester) { scrollDirection = ScrollDirection.vertical; dismissDirection = DismissDirection.horizontal; - dismissedItems = []; + dismissedItems = []; tester.pumpWidget(widgetBuilder()); expect(dismissedItems, isEmpty); @@ -136,7 +136,7 @@ void main() { testWidgets((WidgetTester tester) { scrollDirection = ScrollDirection.horizontal; dismissDirection = DismissDirection.vertical; - dismissedItems = []; + dismissedItems = []; tester.pumpWidget(widgetBuilder()); expect(dismissedItems, isEmpty); @@ -155,7 +155,7 @@ void main() { testWidgets((WidgetTester tester) { scrollDirection = ScrollDirection.vertical; dismissDirection = DismissDirection.left; - dismissedItems = []; + dismissedItems = []; tester.pumpWidget(widgetBuilder()); expect(dismissedItems, isEmpty); @@ -174,7 +174,7 @@ void main() { testWidgets((WidgetTester tester) { scrollDirection = ScrollDirection.vertical; dismissDirection = DismissDirection.right; - dismissedItems = []; + dismissedItems = []; tester.pumpWidget(widgetBuilder()); expect(dismissedItems, isEmpty); @@ -193,7 +193,7 @@ void main() { testWidgets((WidgetTester tester) { scrollDirection = ScrollDirection.horizontal; dismissDirection = DismissDirection.up; - dismissedItems = []; + dismissedItems = []; tester.pumpWidget(widgetBuilder()); expect(dismissedItems, isEmpty); @@ -212,7 +212,7 @@ void main() { testWidgets((WidgetTester tester) { scrollDirection = ScrollDirection.horizontal; dismissDirection = DismissDirection.down; - dismissedItems = []; + dismissedItems = []; tester.pumpWidget(widgetBuilder()); expect(dismissedItems, isEmpty); @@ -233,7 +233,7 @@ void main() { testWidgets((WidgetTester tester) { scrollDirection = ScrollDirection.horizontal; dismissDirection = DismissDirection.down; - dismissedItems = []; + dismissedItems = []; tester.pumpWidget(widgetBuilder()); Element itemElement = tester.findText('0'); @@ -261,7 +261,7 @@ void main() { child: new Container( width: 100.0, height: 1000.0, - child: new Column([ + child: new Column([ new Test1215DismissableComponent('1'), new Test1215DismissableComponent('2') ]) diff --git a/packages/unit/test/widget/draggable_test.dart b/packages/unit/test/widget/draggable_test.dart index fc7ad01093..9b30893052 100644 --- a/packages/unit/test/widget/draggable_test.dart +++ b/packages/unit/test/widget/draggable_test.dart @@ -12,8 +12,8 @@ void main() { List accepted = []; tester.pumpWidget(new Navigator( - routes: { - '/': (RouteArguments args) { return new Column([ + routes: { + '/': (RouteArguments args) { return new Column([ new Draggable( navigator: args.navigator, data: 1, diff --git a/packages/unit/test/widget/drawer_test.dart b/packages/unit/test/widget/drawer_test.dart index 9cbea0686e..631ae43ef9 100644 --- a/packages/unit/test/widget/drawer_test.dart +++ b/packages/unit/test/widget/drawer_test.dart @@ -11,7 +11,7 @@ void main() { NavigatorState navigator; tester.pumpWidget( new MaterialApp( - routes: { + routes: { '/': (RouteArguments args) { navigator = args.navigator; new Container(); @@ -40,7 +40,7 @@ void main() { tester.pumpWidget(new Container()); // throw away the old App and its Navigator tester.pumpWidget( new MaterialApp( - routes: { + routes: { '/': (RouteArguments args) { navigator = args.navigator; new Container(); diff --git a/packages/unit/test/widget/duplicate_key_test.dart b/packages/unit/test/widget/duplicate_key_test.dart index ff9f59d167..9040b6aee7 100644 --- a/packages/unit/test/widget/duplicate_key_test.dart +++ b/packages/unit/test/widget/duplicate_key_test.dart @@ -8,7 +8,7 @@ class Item { GlobalKey key2 = new GlobalKey(); String toString() => "Item($key1, $key2)"; } -List items = [new Item(), new Item()]; +List items = [new Item(), new Item()]; class StatefulLeaf extends StatefulComponent { StatefulLeaf({ GlobalKey key }) : super(key: key); @@ -34,7 +34,7 @@ class KeyedWrapper extends StatelessComponent { } Widget builder() { - return new Column([ + return new Column([ new KeyedWrapper(items[1].key1, items[1].key2), new KeyedWrapper(items[0].key1, items[0].key2) ]); diff --git a/packages/unit/test/widget/flex_test.dart b/packages/unit/test/widget/flex_test.dart index a1e58afcc4..87d354834e 100644 --- a/packages/unit/test/widget/flex_test.dart +++ b/packages/unit/test/widget/flex_test.dart @@ -12,11 +12,11 @@ void main() { decoration: const BoxDecoration( backgroundColor: const Color(0xFF00FF00) ), - child: new Stack([ + child: new Stack([ new Positioned( top: 10.0, left: 10.0, - child: new Column([ + child: new Column([ new GestureDetector( onTap: () { didReceiveTap = true; diff --git a/packages/unit/test/widget/focus_test.dart b/packages/unit/test/widget/focus_test.dart index b4c0427732..d270564a1f 100644 --- a/packages/unit/test/widget/focus_test.dart +++ b/packages/unit/test/widget/focus_test.dart @@ -23,7 +23,7 @@ void main() { GlobalKey keyB = new GlobalKey(); tester.pumpWidget( new Focus( - child: new Column([ + child: new Column([ // reverse these when you fix https://github.com/flutter/engine/issues/1495 new TestFocusable('b', 'B FOCUSED', keyB), new TestFocusable('a', 'A FOCUSED', keyA), diff --git a/packages/unit/test/widget/homogeneous_viewport_test.dart b/packages/unit/test/widget/homogeneous_viewport_test.dart index 87131c23ac..3f96271e90 100644 --- a/packages/unit/test/widget/homogeneous_viewport_test.dart +++ b/packages/unit/test/widget/homogeneous_viewport_test.dart @@ -36,7 +36,7 @@ void main() { tester.pumpWidget(builder()); - StatefulComponentElement element = tester.findElement((element) => element.widget is FlipComponent); + StatefulComponentElement element = tester.findElement((Element element) => element.widget is FlipComponent); FlipComponentState testComponent = element.state; expect(callbackTracker, equals([0, 1, 2, 3, 4, 5])); diff --git a/packages/unit/test/widget/input_test.dart b/packages/unit/test/widget/input_test.dart index 3aedb0f36d..ec3d58db7c 100644 --- a/packages/unit/test/widget/input_test.dart +++ b/packages/unit/test/widget/input_test.dart @@ -37,7 +37,7 @@ void main() { child: new Input( key: inputKey, placeholder: 'Placeholder', - onChanged: (value) { inputValue = value; } + onChanged: (String value) { inputValue = value; } ) ); } diff --git a/packages/unit/test/widget/mixed_viewport_test.dart b/packages/unit/test/widget/mixed_viewport_test.dart index 59037ef753..f5532a8528 100644 --- a/packages/unit/test/widget/mixed_viewport_test.dart +++ b/packages/unit/test/widget/mixed_viewport_test.dart @@ -31,7 +31,7 @@ void main() { tester.pumpWidget(builder()); - StatefulComponentElement element = tester.findElement((element) => element.widget is FlipComponent); + StatefulComponentElement element = tester.findElement((Element element) => element.widget is FlipComponent); FlipComponentState testComponent = element.state; expect(callbackTracker, equals([0, 1, 2, 3, 4, 5])); diff --git a/packages/unit/test/widget/multichild_test.dart b/packages/unit/test/widget/multichild_test.dart index 6db41dc6b3..e2f7b3428d 100644 --- a/packages/unit/test/widget/multichild_test.dart +++ b/packages/unit/test/widget/multichild_test.dart @@ -7,7 +7,7 @@ import 'widget_tester.dart'; void checkTree(WidgetTester tester, List expectedDecorations) { MultiChildRenderObjectElement element = - tester.findElement((element) => element is MultiChildRenderObjectElement); + tester.findElement((Element element) => element is MultiChildRenderObjectElement); expect(element, isNotNull); expect(element.renderObject is RenderStack, isTrue); RenderStack renderObject = element.renderObject; @@ -17,7 +17,8 @@ void checkTree(WidgetTester tester, List expectedDecorations) { expect(child is RenderDecoratedBox, isTrue); RenderDecoratedBox decoratedBox = child; expect(decoratedBox.decoration, equals(decoration)); - child = decoratedBox.parentData.nextSibling; + final StackParentData decoratedBoxParentData = decoratedBox.parentData; + child = decoratedBoxParentData.nextSibling; } expect(child, isNull); } catch (e) { @@ -31,67 +32,67 @@ void main() { testWidgets((WidgetTester tester) { tester.pumpWidget( - new Stack([ + new Stack([ new DecoratedBox(decoration: kBoxDecorationA), new DecoratedBox(decoration: kBoxDecorationB), new DecoratedBox(decoration: kBoxDecorationC), ]) ); - checkTree(tester, [kBoxDecorationA, kBoxDecorationB, kBoxDecorationC]); + checkTree(tester, [kBoxDecorationA, kBoxDecorationB, kBoxDecorationC]); tester.pumpWidget( - new Stack([ + new Stack([ new DecoratedBox(decoration: kBoxDecorationA), new DecoratedBox(decoration: kBoxDecorationC), ]) ); - checkTree(tester, [kBoxDecorationA, kBoxDecorationC]); + checkTree(tester, [kBoxDecorationA, kBoxDecorationC]); tester.pumpWidget( - new Stack([ + new Stack([ new DecoratedBox(decoration: kBoxDecorationA), new DecoratedBox(key: new Key('b'), decoration: kBoxDecorationB), new DecoratedBox(decoration: kBoxDecorationC), ]) ); - checkTree(tester, [kBoxDecorationA, kBoxDecorationB, kBoxDecorationC]); + checkTree(tester, [kBoxDecorationA, kBoxDecorationB, kBoxDecorationC]); tester.pumpWidget( - new Stack([ + new Stack([ new DecoratedBox(key: new Key('b'), decoration: kBoxDecorationB), new DecoratedBox(decoration: kBoxDecorationC), new DecoratedBox(key: new Key('a'), decoration: kBoxDecorationA), ]) ); - checkTree(tester, [kBoxDecorationB, kBoxDecorationC, kBoxDecorationA]); + checkTree(tester, [kBoxDecorationB, kBoxDecorationC, kBoxDecorationA]); tester.pumpWidget( - new Stack([ + new Stack([ new DecoratedBox(key: new Key('a'), decoration: kBoxDecorationA), new DecoratedBox(decoration: kBoxDecorationC), new DecoratedBox(key: new Key('b'), decoration: kBoxDecorationB), ]) ); - checkTree(tester, [kBoxDecorationA, kBoxDecorationC, kBoxDecorationB]); + checkTree(tester, [kBoxDecorationA, kBoxDecorationC, kBoxDecorationB]); tester.pumpWidget( - new Stack([ + new Stack([ new DecoratedBox(decoration: kBoxDecorationC), ]) ); - checkTree(tester, [kBoxDecorationC]); + checkTree(tester, [kBoxDecorationC]); tester.pumpWidget( - new Stack([]) + new Stack([]) ); - checkTree(tester, []); + checkTree(tester, []); }); }); @@ -100,17 +101,17 @@ void main() { testWidgets((WidgetTester tester) { tester.pumpWidget( - new Stack([ + new Stack([ new DecoratedBox(decoration: kBoxDecorationA), new DecoratedBox(decoration: kBoxDecorationB), new DecoratedBox(decoration: kBoxDecorationC), ]) ); - checkTree(tester, [kBoxDecorationA, kBoxDecorationB, kBoxDecorationC]); + checkTree(tester, [kBoxDecorationA, kBoxDecorationB, kBoxDecorationC]); tester.pumpWidget( - new Stack([ + new Stack([ new DecoratedBox(decoration: kBoxDecorationA), new Container( child: new DecoratedBox(decoration: kBoxDecorationB) @@ -119,10 +120,10 @@ void main() { ]) ); - checkTree(tester, [kBoxDecorationA, kBoxDecorationB, kBoxDecorationC]); + checkTree(tester, [kBoxDecorationA, kBoxDecorationB, kBoxDecorationC]); tester.pumpWidget( - new Stack([ + new Stack([ new DecoratedBox(decoration: kBoxDecorationA), new Container( child: new Container( @@ -133,10 +134,10 @@ void main() { ]) ); - checkTree(tester, [kBoxDecorationA, kBoxDecorationB, kBoxDecorationC]); + checkTree(tester, [kBoxDecorationA, kBoxDecorationB, kBoxDecorationC]); tester.pumpWidget( - new Stack([ + new Stack([ new Container( child: new Container( child: new DecoratedBox(decoration: kBoxDecorationB) @@ -149,10 +150,10 @@ void main() { ]) ); - checkTree(tester, [kBoxDecorationB, kBoxDecorationA, kBoxDecorationC]); + checkTree(tester, [kBoxDecorationB, kBoxDecorationA, kBoxDecorationC]); tester.pumpWidget( - new Stack([ + new Stack([ new Container( child: new DecoratedBox(decoration: kBoxDecorationB) ), @@ -163,10 +164,10 @@ void main() { ]) ); - checkTree(tester, [kBoxDecorationB, kBoxDecorationA, kBoxDecorationC]); + checkTree(tester, [kBoxDecorationB, kBoxDecorationA, kBoxDecorationC]); tester.pumpWidget( - new Stack([ + new Stack([ new Container( key: new Key('b'), child: new DecoratedBox(decoration: kBoxDecorationB) @@ -178,10 +179,10 @@ void main() { ]) ); - checkTree(tester, [kBoxDecorationB, kBoxDecorationA]); + checkTree(tester, [kBoxDecorationB, kBoxDecorationA]); tester.pumpWidget( - new Stack([ + new Stack([ new Container( key: new Key('a'), child: new DecoratedBox(decoration: kBoxDecorationA) @@ -193,29 +194,29 @@ void main() { ]) ); - checkTree(tester, [kBoxDecorationA, kBoxDecorationB]); + checkTree(tester, [kBoxDecorationA, kBoxDecorationB]); tester.pumpWidget( - new Stack([ ]) + new Stack([]) ); - checkTree(tester, []); + checkTree(tester, []); }); }); test('MultiChildRenderObjectElement with stateful components', () { testWidgets((WidgetTester tester) { tester.pumpWidget( - new Stack([ + new Stack([ new DecoratedBox(decoration: kBoxDecorationA), new DecoratedBox(decoration: kBoxDecorationB), ]) ); - checkTree(tester, [kBoxDecorationA, kBoxDecorationB]); + checkTree(tester, [kBoxDecorationA, kBoxDecorationB]); tester.pumpWidget( - new Stack([ + new Stack([ new FlipComponent( left: new DecoratedBox(decoration: kBoxDecorationA), right: new DecoratedBox(decoration: kBoxDecorationB) @@ -224,15 +225,15 @@ void main() { ]) ); - checkTree(tester, [kBoxDecorationA, kBoxDecorationC]); + checkTree(tester, [kBoxDecorationA, kBoxDecorationC]); flipStatefulComponent(tester); tester.pump(); - checkTree(tester, [kBoxDecorationB, kBoxDecorationC]); + checkTree(tester, [kBoxDecorationB, kBoxDecorationC]); tester.pumpWidget( - new Stack([ + new Stack([ new FlipComponent( left: new DecoratedBox(decoration: kBoxDecorationA), right: new DecoratedBox(decoration: kBoxDecorationB) @@ -240,15 +241,15 @@ void main() { ]) ); - checkTree(tester, [kBoxDecorationB]); + checkTree(tester, [kBoxDecorationB]); flipStatefulComponent(tester); tester.pump(); - checkTree(tester, [kBoxDecorationA]); + checkTree(tester, [kBoxDecorationA]); tester.pumpWidget( - new Stack([ + new Stack([ new FlipComponent( key: new Key('flip'), left: new DecoratedBox(decoration: kBoxDecorationA), @@ -258,7 +259,7 @@ void main() { ); tester.pumpWidget( - new Stack([ + new Stack([ new DecoratedBox(key: new Key('c'), decoration: kBoxDecorationC), new FlipComponent( key: new Key('flip'), @@ -268,15 +269,15 @@ void main() { ]) ); - checkTree(tester, [kBoxDecorationC, kBoxDecorationA]); + checkTree(tester, [kBoxDecorationC, kBoxDecorationA]); flipStatefulComponent(tester); tester.pump(); - checkTree(tester, [kBoxDecorationC, kBoxDecorationB]); + checkTree(tester, [kBoxDecorationC, kBoxDecorationB]); tester.pumpWidget( - new Stack([ + new Stack([ new FlipComponent( key: new Key('flip'), left: new DecoratedBox(decoration: kBoxDecorationA), @@ -286,7 +287,7 @@ void main() { ]) ); - checkTree(tester, [kBoxDecorationB, kBoxDecorationC]); + checkTree(tester, [kBoxDecorationB, kBoxDecorationC]); }); }); } diff --git a/packages/unit/test/widget/parent_data_test.dart b/packages/unit/test/widget/parent_data_test.dart index 2d692d0956..bc5eb2e922 100644 --- a/packages/unit/test/widget/parent_data_test.dart +++ b/packages/unit/test/widget/parent_data_test.dart @@ -16,7 +16,7 @@ class TestParentData { void checkTree(WidgetTester tester, List expectedParentData) { MultiChildRenderObjectElement element = - tester.findElement((element) => element is MultiChildRenderObjectElement); + tester.findElement((Element element) => element is MultiChildRenderObjectElement); expect(element, isNotNull); expect(element.renderObject is RenderStack, isTrue); RenderStack renderObject = element.renderObject; @@ -31,7 +31,7 @@ void checkTree(WidgetTester tester, List expectedParentData) { expect(parentData.right, equals(expected.right)); expect(parentData.bottom, equals(expected.bottom)); expect(parentData.left, equals(expected.left)); - child = decoratedBox.parentData.nextSibling; + child = (decoratedBox.parentData as StackParentData).nextSibling; } expect(child, isNull); } catch (e) { @@ -61,7 +61,7 @@ void main() { testWidgets((WidgetTester tester) { tester.pumpWidget( - new Stack([ + new Stack([ new DecoratedBox(decoration: kBoxDecorationA), new Positioned( top: 10.0, @@ -72,14 +72,14 @@ void main() { ]) ); - checkTree(tester, [ + checkTree(tester, [ kNonPositioned, new TestParentData(top: 10.0, left: 10.0), kNonPositioned, ]); tester.pumpWidget( - new Stack([ + new Stack([ new Positioned( bottom: 5.0, right: 7.0, @@ -94,7 +94,7 @@ void main() { ]) ); - checkTree(tester, [ + checkTree(tester, [ new TestParentData(bottom: 5.0, right: 7.0), new TestParentData(top: 10.0, left: 10.0), kNonPositioned, @@ -105,7 +105,7 @@ void main() { DecoratedBox kDecoratedBoxC = new DecoratedBox(decoration: kBoxDecorationC); tester.pumpWidget( - new Stack([ + new Stack([ new Positioned( bottom: 5.0, right: 7.0, @@ -120,14 +120,14 @@ void main() { ]) ); - checkTree(tester, [ + checkTree(tester, [ new TestParentData(bottom: 5.0, right: 7.0), new TestParentData(top: 10.0, left: 10.0), kNonPositioned, ]); tester.pumpWidget( - new Stack([ + new Stack([ new Positioned( bottom: 6.0, right: 8.0, @@ -142,14 +142,14 @@ void main() { ]) ); - checkTree(tester, [ + checkTree(tester, [ new TestParentData(bottom: 6.0, right: 8.0), new TestParentData(left: 10.0, right: 10.0), kNonPositioned, ]); tester.pumpWidget( - new Stack([ + new Stack([ kDecoratedBoxA, new Positioned( left: 11.0, @@ -160,14 +160,14 @@ void main() { ]) ); - checkTree(tester, [ + checkTree(tester, [ kNonPositioned, new TestParentData(left: 11.0, right: 12.0), kNonPositioned, ]); tester.pumpWidget( - new Stack([ + new Stack([ kDecoratedBoxA, new Positioned( right: 10.0, @@ -182,14 +182,14 @@ void main() { ]) ); - checkTree(tester, [ + checkTree(tester, [ kNonPositioned, new TestParentData(right: 10.0), new TestParentData(top: 8.0), ]); tester.pumpWidget( - new Stack([ + new Stack([ new Positioned( right: 10.0, child: new FlipComponent(left: kDecoratedBoxA, right: kDecoratedBoxB) @@ -197,19 +197,19 @@ void main() { ]) ); - checkTree(tester, [ + checkTree(tester, [ new TestParentData(right: 10.0), ]); flipStatefulComponent(tester); tester.pump(); - checkTree(tester, [ + checkTree(tester, [ new TestParentData(right: 10.0), ]); tester.pumpWidget( - new Stack([ + new Stack([ new Positioned( top: 7.0, child: new FlipComponent(left: kDecoratedBoxA, right: kDecoratedBoxB) @@ -217,22 +217,22 @@ void main() { ]) ); - checkTree(tester, [ + checkTree(tester, [ new TestParentData(top: 7.0), ]); flipStatefulComponent(tester); tester.pump(); - checkTree(tester, [ + checkTree(tester, [ new TestParentData(top: 7.0), ]); tester.pumpWidget( - new Stack([]) + new Stack([]) ); - checkTree(tester, []); + checkTree(tester, []); }); }); @@ -241,7 +241,7 @@ void main() { expect(cachedException, isNull); tester.pumpWidget( - new Stack([ + new Stack([ new Positioned( top: 5.0, bottom: 8.0, @@ -257,14 +257,14 @@ void main() { expect(cachedException, isNotNull); cachedException = null; - tester.pumpWidget(new Stack([])); + tester.pumpWidget(new Stack([])); - checkTree(tester, []); + checkTree(tester, []); expect(cachedException, isNull); tester.pumpWidget( new Container( - child: new Flex([ + child: new Flex([ new Positioned( top: 6.0, left: 7.0, @@ -278,10 +278,10 @@ void main() { cachedException = null; tester.pumpWidget( - new Stack([]) + new Stack([]) ); - checkTree(tester, []); + checkTree(tester, []); }); }); } diff --git a/packages/unit/test/widget/progress_indicator_test.dart b/packages/unit/test/widget/progress_indicator_test.dart index de3541b24d..9a5c971f8f 100644 --- a/packages/unit/test/widget/progress_indicator_test.dart +++ b/packages/unit/test/widget/progress_indicator_test.dart @@ -8,11 +8,11 @@ import 'widget_tester.dart'; void main() { test('LinearProgressIndicator changes when its value changes', () { testWidgets((WidgetTester tester) { - tester.pumpWidget(new Block([new LinearProgressIndicator(value: 0.0)])); + tester.pumpWidget(new Block([new LinearProgressIndicator(value: 0.0)])); List layers1 = tester.layers; - tester.pumpWidget(new Block([new LinearProgressIndicator(value: 0.5)])); + tester.pumpWidget(new Block([new LinearProgressIndicator(value: 0.5)])); List layers2 = tester.layers; expect(layers1, isNot(equals(layers2))); diff --git a/packages/unit/test/widget/render_object_widget_test.dart b/packages/unit/test/widget/render_object_widget_test.dart index 76088a6998..61e8944952 100644 --- a/packages/unit/test/widget/render_object_widget_test.dart +++ b/packages/unit/test/widget/render_object_widget_test.dart @@ -19,7 +19,7 @@ void main() { testWidgets((WidgetTester tester) { tester.pumpWidget(new DecoratedBox(decoration: kBoxDecorationA)); OneChildRenderObjectElement element = - tester.findElement((element) => element is OneChildRenderObjectElement); + tester.findElement((Element element) => element is OneChildRenderObjectElement); expect(element, isNotNull); expect(element.renderObject is RenderDecoratedBox, isTrue); RenderDecoratedBox renderObject = element.renderObject; @@ -27,7 +27,7 @@ void main() { expect(renderObject.position, equals(BoxDecorationPosition.background)); tester.pumpWidget(new DecoratedBox(decoration: kBoxDecorationB)); - element = tester.findElement((element) => element is OneChildRenderObjectElement); + element = tester.findElement((Element element) => element is OneChildRenderObjectElement); expect(element, isNotNull); expect(element.renderObject is RenderDecoratedBox, isTrue); renderObject = element.renderObject; @@ -41,7 +41,7 @@ void main() { void checkFullTree() { OneChildRenderObjectElement element = - tester.findElement((element) => element is OneChildRenderObjectElement); + tester.findElement((Element element) => element is OneChildRenderObjectElement); expect(element, isNotNull); expect(element.renderObject is RenderDecoratedBox, isTrue); RenderDecoratedBox renderObject = element.renderObject; @@ -57,7 +57,7 @@ void main() { void childBareTree() { OneChildRenderObjectElement element = - tester.findElement((element) => element is OneChildRenderObjectElement); + tester.findElement((Element element) => element is OneChildRenderObjectElement); expect(element, isNotNull); expect(element.renderObject is RenderDecoratedBox, isTrue); RenderDecoratedBox renderObject = element.renderObject; @@ -136,7 +136,7 @@ void main() { )); OneChildRenderObjectElement element = - tester.findElement((element) => element is OneChildRenderObjectElement); + tester.findElement((Element element) => element is OneChildRenderObjectElement); expect(element.renderObject is RenderDecoratedBox, isTrue); RenderDecoratedBox parent = element.renderObject; expect(parent.child is RenderDecoratedBox, isTrue); @@ -152,7 +152,7 @@ void main() { )); element = - tester.findElement((element) => element is OneChildRenderObjectElement); + tester.findElement((Element element) => element is OneChildRenderObjectElement); expect(element.renderObject is RenderDecoratedBox, isTrue); expect(element.renderObject, equals(parent)); expect(parent.child, isNull); diff --git a/packages/unit/test/widget/reparent_state_test.dart b/packages/unit/test/widget/reparent_state_test.dart index 804837f8f8..cf3cbc17e8 100644 --- a/packages/unit/test/widget/reparent_state_test.dart +++ b/packages/unit/test/widget/reparent_state_test.dart @@ -33,7 +33,7 @@ void main() { StateMarker grandchild = new StateMarker(); tester.pumpWidget( - new Stack([ + new Stack([ new Container( child: new StateMarker(key: left) ), @@ -55,7 +55,7 @@ void main() { StateMarker newGrandchild = new StateMarker(); tester.pumpWidget( - new Stack([ + new Stack([ new Container( child: new StateMarker( key: right, @@ -101,7 +101,7 @@ void main() { (key.currentState as StateMarkerState).marker = "marked"; tester.pumpWidget(new ScrollableList( - items: [0], + items: [0], itemExtent: 100.0, itemBuilder: (BuildContext context, int item) { return new Container( diff --git a/packages/unit/test/widget/set_state_3_test.dart b/packages/unit/test/widget/set_state_3_test.dart index cfc2e3fc93..fcf2372fdf 100644 --- a/packages/unit/test/widget/set_state_3_test.dart +++ b/packages/unit/test/widget/set_state_3_test.dart @@ -27,7 +27,7 @@ class ChangerState extends State { void test() { setState(() { _state = true; }); } - Widget build(BuildContext) => _state ? new Wrapper(config.child) : config.child; + Widget build(BuildContext context) => _state ? new Wrapper(config.child) : config.child; } class Wrapper extends StatelessComponent { diff --git a/packages/unit/test/widget/shader_mask_test.dart b/packages/unit/test/widget/shader_mask_test.dart index aa465abaa5..22c0360c71 100644 --- a/packages/unit/test/widget/shader_mask_test.dart +++ b/packages/unit/test/widget/shader_mask_test.dart @@ -10,8 +10,8 @@ ui.Shader createShader(Rect bounds) { return new LinearGradient( begin: Point.origin, end: new Point(0.0, bounds.height), - colors: [const Color(0x00FFFFFF), const Color(0xFFFFFFFF)], - stops: [0.1, 0.35] + colors: [const Color(0x00FFFFFF), const Color(0xFFFFFFFF)], + stops: [0.1, 0.35] ) .createShader(); } diff --git a/packages/unit/test/widget/size_observer_test.dart b/packages/unit/test/widget/size_observer_test.dart index 95f9e44eeb..1eae694bdf 100644 --- a/packages/unit/test/widget/size_observer_test.dart +++ b/packages/unit/test/widget/size_observer_test.dart @@ -8,10 +8,10 @@ import 'widget_tester.dart'; void main() { test('SizeObserver notices zero size', () { testWidgets((WidgetTester tester) { - List results = []; + List results = []; tester.pumpWidget(new Center( child: new SizeObserver( - callback: (size) { results.add(size); }, + callback: (Size size) { results.add(size); }, child: new Container(width:0.0, height:0.0) ) )); @@ -20,7 +20,7 @@ void main() { expect(results, equals([Size.zero])); tester.pumpWidget(new Center( child: new SizeObserver( - callback: (size) { results.add(size); }, + callback: (Size size) { results.add(size); }, child: new Container(width:100.0, height:0.0) ) )); @@ -29,7 +29,7 @@ void main() { expect(results, equals([Size.zero, const Size(100.0, 0.0)])); tester.pumpWidget(new Center( child: new SizeObserver( - callback: (size) { results.add(size); }, + callback: (Size size) { results.add(size); }, child: new Container(width:0.0, height:0.0) ) )); @@ -38,7 +38,7 @@ void main() { expect(results, equals([Size.zero, const Size(100.0, 0.0), Size.zero])); tester.pumpWidget(new Center( child: new SizeObserver( - callback: (size) { results.add(size); }, + callback: (Size size) { results.add(size); }, child: new Container(width:0.0, height:0.0) ) )); diff --git a/packages/unit/test/widget/snack_bar_test.dart b/packages/unit/test/widget/snack_bar_test.dart index 1c3fb697fe..606a5b1628 100644 --- a/packages/unit/test/widget/snack_bar_test.dart +++ b/packages/unit/test/widget/snack_bar_test.dart @@ -11,7 +11,7 @@ void main() { Key tapTarget = new Key('tap-target'); tester.pumpWidget(new MaterialApp( - routes: { + routes: { '/': (RouteArguments args) { return new GestureDetector( onTap: () { diff --git a/packages/unit/test/widget/snap_scrolling_test.dart b/packages/unit/test/widget/snap_scrolling_test.dart index 9a193b4259..b55bfe4da1 100644 --- a/packages/unit/test/widget/snap_scrolling_test.dart +++ b/packages/unit/test/widget/snap_scrolling_test.dart @@ -35,7 +35,7 @@ Widget buildFrame() { key: scrollableListKey, snapOffsetCallback: snapOffsetCallback, scrollDirection: scrollDirection, - items: [0, 1, 2, 3, 4, 5, 7, 8, 9], + items: [0, 1, 2, 3, 4, 5, 7, 8, 9], itemBuilder: buildItem, itemExtent: itemExtent ) diff --git a/packages/unit/test/widget/stack_test.dart b/packages/unit/test/widget/stack_test.dart index 6bf00668b1..9d64024334 100644 --- a/packages/unit/test/widget/stack_test.dart +++ b/packages/unit/test/widget/stack_test.dart @@ -1,3 +1,4 @@ +import 'package:flutter/rendering.dart'; import 'package:flutter/widgets.dart'; import 'package:test/test.dart'; @@ -6,13 +7,13 @@ import 'widget_tester.dart'; void main() { test('Can construct an empty Stack', () { testWidgets((WidgetTester tester) { - tester.pumpWidget(new Stack([])); + tester.pumpWidget(new Stack([])); }); }); test('Can construct an empty Centered Stack', () { testWidgets((WidgetTester tester) { - tester.pumpWidget(new Center(child: new Stack([]))); + tester.pumpWidget(new Center(child: new Stack([]))); }); }); @@ -21,7 +22,7 @@ void main() { Key key = new Key('container'); tester.pumpWidget( - new Stack([ + new Stack([ new Positioned( left: 10.0, child: new Container( @@ -33,14 +34,18 @@ void main() { ]) ); - Element container = tester.findElementByKey(key); - expect(container.renderObject.parentData.top, isNull); - expect(container.renderObject.parentData.right, isNull); - expect(container.renderObject.parentData.bottom, isNull); - expect(container.renderObject.parentData.left, equals(10.0)); + Element container; + StackParentData parentData; + + container = tester.findElementByKey(key); + parentData = container.renderObject.parentData; + expect(parentData.top, isNull); + expect(parentData.right, isNull); + expect(parentData.bottom, isNull); + expect(parentData.left, equals(10.0)); tester.pumpWidget( - new Stack([ + new Stack([ new Positioned( right: 10.0, child: new Container( @@ -53,10 +58,11 @@ void main() { ); container = tester.findElementByKey(key); - expect(container.renderObject.parentData.top, isNull); - expect(container.renderObject.parentData.right, equals(10.0)); - expect(container.renderObject.parentData.bottom, isNull); - expect(container.renderObject.parentData.left, isNull); + parentData = container.renderObject.parentData; + expect(parentData.top, isNull); + expect(parentData.right, equals(10.0)); + expect(parentData.bottom, isNull); + expect(parentData.left, isNull); }); }); @@ -65,21 +71,24 @@ void main() { Key key = new Key('container'); Container container = new Container(key: key, width: 10.0, height: 10.0); - tester.pumpWidget(new Stack([ new Positioned(left: 10.0, child: container) ])); + tester.pumpWidget(new Stack([ new Positioned(left: 10.0, child: container) ])); Element containerElement = tester.findElementByKey(key); - expect(containerElement.renderObject.parentData.top, isNull); - expect(containerElement.renderObject.parentData.right, isNull); - expect(containerElement.renderObject.parentData.bottom, isNull); - expect(containerElement.renderObject.parentData.left, equals(10.0)); + StackParentData parentData; + parentData = containerElement.renderObject.parentData; + expect(parentData.top, isNull); + expect(parentData.right, isNull); + expect(parentData.bottom, isNull); + expect(parentData.left, equals(10.0)); - tester.pumpWidget(new Stack([ container ])); + tester.pumpWidget(new Stack([ container ])); containerElement = tester.findElementByKey(key); - expect(containerElement.renderObject.parentData.top, isNull); - expect(containerElement.renderObject.parentData.right, isNull); - expect(containerElement.renderObject.parentData.bottom, isNull); - expect(containerElement.renderObject.parentData.left, isNull); + parentData = containerElement.renderObject.parentData; + expect(parentData.top, isNull); + expect(parentData.right, isNull); + expect(parentData.bottom, isNull); + expect(parentData.left, isNull); }); }); @@ -90,7 +99,7 @@ void main() { tester.pumpWidget( new Center( - child: new Stack([ + child: new Stack([ new Container(key: child0Key, width: 20.0, height: 20.0), new Container(key: child1Key, width: 10.0, height: 10.0) ], @@ -101,22 +110,24 @@ void main() { ); Element child0 = tester.findElementByKey(child0Key); - expect(child0.renderObject.parentData.position, equals(const Point(0.0, 0.0))); + final StackParentData child0RenderObjectParentData = child0.renderObject.parentData; + expect(child0RenderObjectParentData.position, equals(const Point(0.0, 0.0))); Element child1 = tester.findElementByKey(child1Key); - expect(child1.renderObject.parentData.position, equals(const Point(5.0, 5.0))); + final StackParentData child1RenderObjectParentData = child1.renderObject.parentData; + expect(child1RenderObjectParentData.position, equals(const Point(5.0, 5.0))); }); }); test('Can construct an empty IndexedStack', () { testWidgets((WidgetTester tester) { - tester.pumpWidget(new IndexedStack([])); + tester.pumpWidget(new IndexedStack([])); }); }); test('Can construct an empty Centered IndexedStack', () { testWidgets((WidgetTester tester) { - tester.pumpWidget(new Center(child: new IndexedStack([]))); + tester.pumpWidget(new Center(child: new IndexedStack([]))); }); }); @@ -126,9 +137,9 @@ void main() { List itemsPainted; Widget buildFrame(int index) { - itemsPainted = []; - List items = new List.generate(itemCount, (i) { - return new CustomPaint(child: new Text('$i'), callback: (_0, _1) { itemsPainted.add(i); }); + itemsPainted = []; + List items = new List.generate(itemCount, (i) { + return new CustomPaint(child: new Text('$i'), callback: (_, __) { itemsPainted.add(i); }); }); return new Center(child: new IndexedStack(items, index: index)); } @@ -154,8 +165,8 @@ void main() { List itemsTapped; Widget buildFrame(int index) { - itemsTapped = []; - List items = new List.generate(itemCount, (i) { + itemsTapped = []; + List items = new List.generate(itemCount, (i) { return new GestureDetector(child: new Text('$i'), onTap: () { itemsTapped.add(i); }); }); return new Center(child: new IndexedStack(items, key: key, index: index)); diff --git a/packages/unit/test/widget/stateful_component_test.dart b/packages/unit/test/widget/stateful_component_test.dart index 7e7f620a90..c545744d64 100644 --- a/packages/unit/test/widget/stateful_component_test.dart +++ b/packages/unit/test/widget/stateful_component_test.dart @@ -11,7 +11,7 @@ void main() { void checkTree(BoxDecoration expectedDecoration) { OneChildRenderObjectElement element = - tester.findElement((element) => element is OneChildRenderObjectElement); + tester.findElement((Element element) => element is OneChildRenderObjectElement); expect(element, isNotNull); expect(element.renderObject is RenderDecoratedBox, isTrue); RenderDecoratedBox renderObject = element.renderObject; diff --git a/packages/unit/test/widget/syncing_test.dart b/packages/unit/test/widget/syncing_test.dart index bf6bf8ecb9..77afd31e4a 100644 --- a/packages/unit/test/widget/syncing_test.dart +++ b/packages/unit/test/widget/syncing_test.dart @@ -112,13 +112,13 @@ void main() { testWidgets((WidgetTester tester) { Widget a = new TestWidget(persistentState: 0x61, syncedState: 0x41, child: new Text('apple')); Widget b = new TestWidget(persistentState: 0x62, syncedState: 0x42, child: new Text('banana')); - tester.pumpWidget(new Column([])); + tester.pumpWidget(new Column([])); GlobalKey keyA = new GlobalKey(); GlobalKey keyB = new GlobalKey(); tester.pumpWidget( - new Column([ + new Column([ new Container( key: keyA, child: a @@ -143,7 +143,7 @@ void main() { expect(second.syncedState, equals(0x42)); tester.pumpWidget( - new Column([ + new Column([ new Container( key: keyA, child: a @@ -170,7 +170,7 @@ void main() { // since they are both "old" nodes, they shouldn't sync with each other even though they look alike tester.pumpWidget( - new Column([ + new Column([ new Container( key: keyA, child: b diff --git a/packages/unit/test/widget/test_widgets.dart b/packages/unit/test/widget/test_widgets.dart index f132925cac..2dff9da0b9 100644 --- a/packages/unit/test/widget/test_widgets.dart +++ b/packages/unit/test/widget/test_widgets.dart @@ -49,7 +49,7 @@ class TestBuildCounter extends StatelessComponent { void flipStatefulComponent(WidgetTester tester) { StatefulComponentElement stateElement = - tester.findElement((element) => element is StatefulComponentElement); + tester.findElement((Element element) => element is StatefulComponentElement); expect(stateElement, isNotNull); expect(stateElement.state is FlipComponentState, isTrue); FlipComponentState state = stateElement.state; diff --git a/packages/unit/test/widget/transform_test.dart b/packages/unit/test/widget/transform_test.dart index efa44cdf45..03c0eef907 100644 --- a/packages/unit/test/widget/transform_test.dart +++ b/packages/unit/test/widget/transform_test.dart @@ -8,7 +8,7 @@ void main() { testWidgets((WidgetTester tester) { bool didReceiveTap = false; tester.pumpWidget( - new Stack([ + new Stack([ new Positioned( top: 100.0, left: 100.0, @@ -53,7 +53,7 @@ void main() { testWidgets((WidgetTester tester) { bool didReceiveTap = false; tester.pumpWidget( - new Stack([ + new Stack([ new Positioned( top: 100.0, left: 100.0, @@ -98,7 +98,7 @@ void main() { testWidgets((WidgetTester tester) { bool didReceiveTap = false; tester.pumpWidget( - new Stack([ + new Stack([ new Positioned( top: 100.0, left: 100.0, diff --git a/packages/unit/test/widget/widget_tester.dart b/packages/unit/test/widget/widget_tester.dart index dbc599a5e8..e215572f17 100644 --- a/packages/unit/test/widget/widget_tester.dart +++ b/packages/unit/test/widget/widget_tester.dart @@ -24,11 +24,12 @@ class RootComponentState extends State { Widget build(BuildContext context) => child; } +typedef Point SizeToPointFunction(Size size); + class WidgetTester { WidgetTester._(FakeAsync async) : async = async, - clock = async.getClock(new DateTime.utc(2015, 1, 1)) { - } + clock = async.getClock(new DateTime.utc(2015, 1, 1)); final FakeAsync async; final Clock clock; @@ -46,7 +47,7 @@ class WidgetTester { } List _layers(Layer layer) { - List result = [layer]; + List result = [layer]; if (layer is ContainerLayer) { ContainerLayer root = layer; Layer child = root.firstChild; @@ -124,7 +125,7 @@ class WidgetTester { return _getElementPoint(element, (Size size) => size.bottomRight(Point.origin)); } - Point _getElementPoint(Element element, Function sizeToPoint) { + Point _getElementPoint(Element element, SizeToPointFunction sizeToPoint) { assert(element != null); RenderBox box = element.renderObject as RenderBox; assert(box != null);