diff --git a/packages/flutter/test/widgets/column_test.dart b/packages/flutter/test/widgets/column_test.dart index 7f86f285e9..08ed1080fd 100644 --- a/packages/flutter/test/widgets/column_test.dart +++ b/packages/flutter/test/widgets/column_test.dart @@ -777,4 +777,57 @@ void main() { expect(renderBox.size.width, equals(0.0)); expect(renderBox.size.height, equals(100.0)); }); + + testWidgets('Default Column.spacing value', (WidgetTester tester) async { + await tester.pumpWidget( + const Directionality( + textDirection: TextDirection.ltr, + child: Column(), + ), + ); + + expect(tester.widget(find.byType(Column)).spacing, 0.0); + }); + + testWidgets('Can update Column.spacing value', (WidgetTester tester) async { + Widget buildColumn({ required double spacing }) { + return Center( + child: Directionality( + textDirection: TextDirection.ltr, + child: Column( + spacing: spacing, + mainAxisSize: MainAxisSize.min, + children: [ + Container( + height: 100.0, + width: 100.0, + color: const Color(0xFFFF0000), + ), + Container( + height: 100.0, + width: 100.0, + color: const Color(0xFF0000FF), + ), + Container( + height: 100.0, + width: 100.0, + color: const Color(0xff00FF00), + ), + ], + ), + ), + ); + } + await tester.pumpWidget(buildColumn(spacing: 8.0)); + + expect(tester.widget(find.byType(Column)).spacing, equals(8.0)); + expect(tester.getSize(find.byType(Column)).width, equals(100.0)); + expect(tester.getSize(find.byType(Column)).height, equals(316.0)); + + await tester.pumpWidget(buildColumn(spacing: 18.0)); + + expect(tester.widget(find.byType(Column)).spacing, equals(18.0)); + expect(tester.getSize(find.byType(Column)).width, equals(100.0)); + expect(tester.getSize(find.byType(Column)).height, equals(336.0)); + }); } diff --git a/packages/flutter/test/widgets/row_test.dart b/packages/flutter/test/widgets/row_test.dart index 884dfbf288..00e47b9e52 100644 --- a/packages/flutter/test/widgets/row_test.dart +++ b/packages/flutter/test/widgets/row_test.dart @@ -1146,4 +1146,57 @@ void main() { expect(renderBox.size.width, equals(100.0)); expect(renderBox.size.height, equals(0.0)); }); + + testWidgets('Default Row.spacing value', (WidgetTester tester) async { + await tester.pumpWidget( + const Directionality( + textDirection: TextDirection.ltr, + child: Row(), + ), + ); + + expect(tester.widget(find.byType(Row)).spacing, 0.0); + }); + + testWidgets('Can update Row.spacing value', (WidgetTester tester) async { + Widget buildRow({ required double spacing }) { + return Center( + child: Directionality( + textDirection: TextDirection.ltr, + child: Row( + spacing: spacing, + mainAxisSize: MainAxisSize.min, + children: [ + Container( + height: 100.0, + width: 100.0, + color: const Color(0xFFFF0000), + ), + Container( + height: 100.0, + width: 100.0, + color: const Color(0xFF0000FF), + ), + Container( + height: 100.0, + width: 100.0, + color: const Color(0xff00FF00), + ), + ], + ), + ), + ); + } + await tester.pumpWidget(buildRow(spacing: 8.0)); + + expect(tester.widget(find.byType(Row)).spacing, equals(8.0)); + expect(tester.getSize(find.byType(Row)).width, equals(316.0)); + expect(tester.getSize(find.byType(Row)).height, equals(100.0)); + + await tester.pumpWidget(buildRow(spacing: 18.0)); + + expect(tester.widget(find.byType(Row)).spacing, equals(18.0)); + expect(tester.getSize(find.byType(Row)).width, equals(336.0)); + expect(tester.getSize(find.byType(Row)).height, equals(100.0)); + }); }