Skip to content

Commit 42924e2

Browse files
authored
Update Divider/VerticalDivider and theme tests for M2/M3 (#130415)
Updated unit tests for `Divider`/ `VerticalDivider` and theme to have M2 and M3 versions. More info in flutter/flutter#128725
1 parent 58acd60 commit 42924e2

File tree

2 files changed

+50
-48
lines changed

2 files changed

+50
-48
lines changed

packages/flutter/test/material/divider_test.dart

Lines changed: 40 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,29 @@
44

55
import 'package:flutter/material.dart';
66
import 'package:flutter_test/flutter_test.dart';
7+
78
import '../rendering/mock_canvas.dart';
89

910
void main() {
10-
testWidgets('Divider control test', (WidgetTester tester) async {
11+
testWidgets('Material3 - Divider control test', (WidgetTester tester) async {
12+
await tester.pumpWidget(
13+
MaterialApp(
14+
theme: ThemeData(useMaterial3: true),
15+
home: const Center(child: Divider()),
16+
),
17+
);
18+
final RenderBox box = tester.firstRenderObject(find.byType(Divider));
19+
expect(box.size.height, 16.0);
20+
final Container container = tester.widget(find.byType(Container));
21+
final BoxDecoration decoration = container.decoration! as BoxDecoration;
22+
expect(decoration.border!.bottom.width, 1.0);
23+
});
24+
25+
testWidgets('Material2 - Divider control test', (WidgetTester tester) async {
1126
await tester.pumpWidget(
1227
MaterialApp(
1328
theme: ThemeData(useMaterial3: false),
14-
home: const Center(
15-
child: Divider(),
16-
),
29+
home: const Center(child: Divider()),
1730
),
1831
);
1932
final RenderBox box = tester.firstRenderObject(find.byType(Divider));
@@ -27,11 +40,7 @@ void main() {
2740
await tester.pumpWidget(
2841
const Directionality(
2942
textDirection: TextDirection.ltr,
30-
child: Center(
31-
child: Divider(
32-
thickness: 5.0,
33-
),
34-
),
43+
child: Center(child: Divider(thickness: 5.0)),
3544
),
3645
);
3746
final Container container = tester.widget(find.byType(Container));
@@ -47,11 +56,7 @@ void main() {
4756
await tester.pumpWidget(
4857
const Directionality(
4958
textDirection: TextDirection.ltr,
50-
child: Center(
51-
child: Divider(
52-
indent: customIndent,
53-
),
54-
),
59+
child: Center(child: Divider(indent: customIndent)),
5560
),
5661
);
5762
// The divider line is drawn with a DecoratedBox with a border
@@ -63,11 +68,7 @@ void main() {
6368
await tester.pumpWidget(
6469
const Directionality(
6570
textDirection: TextDirection.ltr,
66-
child: Center(
67-
child: Divider(
68-
endIndent: customIndent,
69-
),
70-
),
71+
child: Center(child: Divider(endIndent: customIndent)),
7172
),
7273
);
7374
dividerRect = tester.getRect(find.byType(Divider));
@@ -92,13 +93,26 @@ void main() {
9293
expect(lineRect.right, dividerRect.right - customIndent);
9394
});
9495

95-
testWidgets('Vertical Divider Test', (WidgetTester tester) async {
96+
testWidgets('Material3 - Vertical Divider Test', (WidgetTester tester) async {
97+
await tester.pumpWidget(
98+
MaterialApp(
99+
theme: ThemeData(useMaterial3: true),
100+
home: const Center(child: VerticalDivider()),
101+
),
102+
);
103+
final RenderBox box = tester.firstRenderObject(find.byType(VerticalDivider));
104+
expect(box.size.width, 16.0);
105+
final Container container = tester.widget(find.byType(Container));
106+
final BoxDecoration decoration = container.decoration! as BoxDecoration;
107+
final Border border = decoration.border! as Border;
108+
expect(border.left.width, 1.0);
109+
});
110+
111+
testWidgets('Material2 - Vertical Divider Test', (WidgetTester tester) async {
96112
await tester.pumpWidget(
97113
MaterialApp(
98114
theme: ThemeData(useMaterial3: false),
99-
home: const Center(
100-
child: VerticalDivider(),
101-
),
115+
home: const Center(child: VerticalDivider()),
102116
),
103117
);
104118
final RenderBox box = tester.firstRenderObject(find.byType(VerticalDivider));
@@ -113,11 +127,7 @@ void main() {
113127
await tester.pumpWidget(
114128
const Directionality(
115129
textDirection: TextDirection.ltr,
116-
child: Center(
117-
child: VerticalDivider(
118-
thickness: 5.0,
119-
),
120-
),
130+
child: Center(child: VerticalDivider(thickness: 5.0)),
121131
),
122132
);
123133
final Container container = tester.widget(find.byType(Container));
@@ -158,11 +168,7 @@ void main() {
158168
await tester.pumpWidget(
159169
const Directionality(
160170
textDirection: TextDirection.ltr,
161-
child: Center(
162-
child: VerticalDivider(
163-
indent: customIndent,
164-
),
165-
),
171+
child: Center(child: VerticalDivider(indent: customIndent)),
166172
),
167173
);
168174
// The divider line is drawn with a DecoratedBox with a border
@@ -174,11 +180,7 @@ void main() {
174180
await tester.pumpWidget(
175181
const Directionality(
176182
textDirection: TextDirection.ltr,
177-
child: Center(
178-
child: VerticalDivider(
179-
endIndent: customIndent,
180-
),
181-
),
183+
child: Center(child: VerticalDivider(endIndent: customIndent)),
182184
),
183185
);
184186
dividerRect = tester.getRect(find.byType(VerticalDivider));

packages/flutter/test/material/divider_theme_test.dart

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ void main() {
2626
const DividerThemeData().debugFillProperties(builder);
2727

2828
final List<String> description = builder.properties
29-
.where((DiagnosticsNode node) => !node.isFiltered(DiagnosticLevel.info))
30-
.map((DiagnosticsNode node) => node.toString())
31-
.toList();
29+
.where((DiagnosticsNode node) => !node.isFiltered(DiagnosticLevel.info))
30+
.map((DiagnosticsNode node) => node.toString())
31+
.toList();
3232

3333
expect(description, <String>[]);
3434
});
@@ -44,9 +44,9 @@ void main() {
4444
).debugFillProperties(builder);
4545

4646
final List<String> description = builder.properties
47-
.where((DiagnosticsNode node) => !node.isFiltered(DiagnosticLevel.info))
48-
.map((DiagnosticsNode node) => node.toString())
49-
.toList();
47+
.where((DiagnosticsNode node) => !node.isFiltered(DiagnosticLevel.info))
48+
.map((DiagnosticsNode node) => node.toString())
49+
.toList();
5050

5151
expect(description, <String>[
5252
'color: Color(0xffffffff)',
@@ -57,7 +57,7 @@ void main() {
5757
]);
5858
});
5959

60-
group('Horizontal Divider', () {
60+
group('Material3 - Horizontal Divider', () {
6161
testWidgets('Passing no DividerThemeData returns defaults', (WidgetTester tester) async {
6262
final ThemeData theme = ThemeData(useMaterial3: true);
6363
await tester.pumpWidget(MaterialApp(
@@ -159,7 +159,7 @@ void main() {
159159
});
160160
});
161161

162-
group('Vertical Divider', () {
162+
group('Material3 - Vertical Divider', () {
163163
testWidgets('Passing no DividerThemeData returns defaults', (WidgetTester tester) async {
164164
final ThemeData theme = ThemeData(useMaterial3: true);
165165
await tester.pumpWidget(MaterialApp(
@@ -270,7 +270,7 @@ void main() {
270270
// support is deprecated and the APIs are removed, these tests
271271
// can be deleted.
272272

273-
group('Horizontal Divider', () {
273+
group('Material2 - Horizontal Divider', () {
274274
testWidgets('Passing no DividerThemeData returns defaults', (WidgetTester tester) async {
275275
await tester.pumpWidget(MaterialApp(
276276
theme: ThemeData(useMaterial3: false),
@@ -313,7 +313,7 @@ void main() {
313313
});
314314
});
315315

316-
group('Vertical Divider', () {
316+
group('Material2 - Vertical Divider', () {
317317
testWidgets('Passing no DividerThemeData returns defaults', (WidgetTester tester) async {
318318
await tester.pumpWidget(MaterialApp(
319319
theme: ThemeData(useMaterial3: false),

0 commit comments

Comments
 (0)