diff --git a/packages/flutter/lib/src/material/input_decorator.dart b/packages/flutter/lib/src/material/input_decorator.dart index e3945e14ec..c51480ff90 100644 --- a/packages/flutter/lib/src/material/input_decorator.dart +++ b/packages/flutter/lib/src/material/input_decorator.dart @@ -674,7 +674,7 @@ class _RenderDecoration extends RenderBox { final List value = []; void add(RenderBox child, String name) { if (child != null) - value.add(input.toDiagnosticsNode(name: name)); + value.add(child.toDiagnosticsNode(name: name)); } add(icon, 'icon'); add(input, 'input'); diff --git a/packages/flutter/test/material/input_decorator_test.dart b/packages/flutter/test/material/input_decorator_test.dart index d1b0d7156b..3a5e423867 100644 --- a/packages/flutter/test/material/input_decorator_test.dart +++ b/packages/flutter/test/material/input_decorator_test.dart @@ -1049,6 +1049,47 @@ void main() { ); }); + testWidgets('InputDecorator.debugDescribeChildren', (WidgetTester tester) async { + await tester.pumpWidget( + buildInputDecorator( + decoration: const InputDecoration( + icon: const Text('icon'), + labelText: 'label', + hintText: 'hint', + prefixText: 'prefix', + suffixText: 'suffix', + prefixIcon: const Text('prefixIcon'), + suffixIcon: const Text('suffixIcon'), + helperText: 'helper', + counterText: 'counter', + ), + child: const Text('text'), + ), + ); + + final RenderObject renderer = tester.renderObject(find.byType(InputDecorator)); + final Iterable nodeNames = renderer.debugDescribeChildren() + .map((DiagnosticsNode node) => node.name); + expect(nodeNames, unorderedEquals([ + 'container', + 'counter', + 'helperError', + 'hint', + 'icon', + 'input', + 'label', + 'prefix', + 'prefixIcon', + 'suffix', + 'suffixIcon', + ])); + + final Set nodeValues = new Set.from( + renderer.debugDescribeChildren().map((DiagnosticsNode node) => node.value) + ); + expect(nodeValues.length, 11); + }); + testWidgets('InputDecorator with empty border and label', (WidgetTester tester) async { // Regression test for https://github.com/flutter/flutter/issues/14165 await tester.pumpWidget(