diff --git a/packages/flutter/test/foundation/tree_diagnostics_mixin_test.dart b/packages/flutter/test/foundation/tree_diagnostics_mixin_test.dart index b2a19f2c35..1d4593c485 100644 --- a/packages/flutter/test/foundation/tree_diagnostics_mixin_test.dart +++ b/packages/flutter/test/foundation/tree_diagnostics_mixin_test.dart @@ -40,18 +40,19 @@ void main() { ], ); - final String dump = tree.toStringDeep().replaceAll(new RegExp(r'#\d+'), ''); - expect(dump, equals('''TestTree - ├─child node A: TestTree + final String dump = + tree.toStringDeep().replaceAll(new RegExp(r'#\d+'), '#000'); + expect(dump, equals('''TestTree#000 + ├─child node A: TestTree#000 │ - ├─child node B: TestTree - │ ├─child node B1: TestTree + ├─child node B: TestTree#000 + │ ├─child node B1: TestTree#000 │ │ - │ ├─child node B2: TestTree + │ ├─child node B2: TestTree#000 │ │ - │ ├─child node B3: TestTree + │ ├─child node B3: TestTree#000 │ │ - ├─child node C: TestTree + ├─child node C: TestTree#000 │ ''')); }); diff --git a/packages/flutter/test/widgets/framework_test.dart b/packages/flutter/test/widgets/framework_test.dart index a1d7d7d117..d8c3f6b682 100644 --- a/packages/flutter/test/widgets/framework_test.dart +++ b/packages/flutter/test/widgets/framework_test.dart @@ -467,4 +467,40 @@ void main() { [null, key1, null, key2, null], ); }); + + testWidgets('Element diagnostics', (WidgetTester tester) async { + GlobalKey key0; + await tester.pumpWidget(new Column( + key: key0 = new GlobalKey(), + children: [ + new Container(), + new Container(key: new GlobalKey()), + new Container(child: new Container()), + new Container(key: new GlobalKey()), + new Container(), + ], + )); + final MultiChildRenderObjectElement element = key0.currentContext; + + final String dump = + element.toStringDeep().replaceAll(new RegExp(r'#\d+'), '#000'); + expect(dump, equals('''Column([GlobalKey#000]; renderObject: RenderFlex#000) +├Container() +│└LimitedBox(maxWidth: 0.0; maxHeight: 0.0; renderObject: RenderLimitedBox#000 relayoutBoundary=up1) +│ └ConstrainedBox(BoxConstraints(biggest); renderObject: RenderConstrainedBox#000 relayoutBoundary=up2) +├Container([GlobalKey#000]) +│└LimitedBox(maxWidth: 0.0; maxHeight: 0.0; renderObject: RenderLimitedBox#000 relayoutBoundary=up1) +│ └ConstrainedBox(BoxConstraints(biggest); renderObject: RenderConstrainedBox#000 relayoutBoundary=up2) +├Container() +│└Container() +│ └LimitedBox(maxWidth: 0.0; maxHeight: 0.0; renderObject: RenderLimitedBox#000 relayoutBoundary=up1) +│ └ConstrainedBox(BoxConstraints(biggest); renderObject: RenderConstrainedBox#000 relayoutBoundary=up2) +├Container([GlobalKey#000]) +│└LimitedBox(maxWidth: 0.0; maxHeight: 0.0; renderObject: RenderLimitedBox#000 relayoutBoundary=up1) +│ └ConstrainedBox(BoxConstraints(biggest); renderObject: RenderConstrainedBox#000 relayoutBoundary=up2) +└Container() + └LimitedBox(maxWidth: 0.0; maxHeight: 0.0; renderObject: RenderLimitedBox#000 relayoutBoundary=up1) + └ConstrainedBox(BoxConstraints(biggest); renderObject: RenderConstrainedBox#000 relayoutBoundary=up2) +''')); + }); } diff --git a/packages/flutter/test/widgets/table_test.dart b/packages/flutter/test/widgets/table_test.dart index 076e70532a..defb96a62e 100644 --- a/packages/flutter/test/widgets/table_test.dart +++ b/packages/flutter/test/widgets/table_test.dart @@ -497,5 +497,55 @@ void main() { expect(table.row(0).length, 2); }); + testWidgets('Table widget diagnostics', (WidgetTester tester) async { + GlobalKey key0; + final Table table = new Table( + key: key0 = new GlobalKey(), + defaultColumnWidth: const IntrinsicColumnWidth(), + children: [ + new TableRow( + children: [ + const Text('A'), const Text('B'), const Text('C') + ] + ), + new TableRow( + children: [ + const Text('D'), const Text('EEE'), const Text('F') + ] + ), + new TableRow( + children: [ + const Text('G'), const Text('H'), const Text('III') + ] + ), + ] + ); + await tester.pumpWidget(table); + final RenderObjectElement element = key0.currentContext; + + final String dump = + element.toStringDeep().replaceAll(new RegExp(r'#\d+'), '#000'); + expect(dump, equals('''Table([GlobalKey#000]; renderObject: RenderTable#000) +├Text("A") +│└RichText(renderObject: RenderParagraph#000 relayoutBoundary=up1) +├Text("B") +│└RichText(renderObject: RenderParagraph#000 relayoutBoundary=up1) +├Text("C") +│└RichText(renderObject: RenderParagraph#000 relayoutBoundary=up1) +├Text("D") +│└RichText(renderObject: RenderParagraph#000 relayoutBoundary=up1) +├Text("EEE") +│└RichText(renderObject: RenderParagraph#000 relayoutBoundary=up1) +├Text("F") +│└RichText(renderObject: RenderParagraph#000 relayoutBoundary=up1) +├Text("G") +│└RichText(renderObject: RenderParagraph#000 relayoutBoundary=up1) +├Text("H") +│└RichText(renderObject: RenderParagraph#000 relayoutBoundary=up1) +└Text("III") + └RichText(renderObject: RenderParagraph#000 relayoutBoundary=up1) +''')); + }); + // TODO(ianh): Test handling of TableCell object }