Skip to content

Commit 26ab527

Browse files
Moved FilmStrip golden configuration from render method to constructor (Resolves #24) (#37)
1 parent 9f7f6b5 commit 26ab527

File tree

5 files changed

+58
-51
lines changed

5 files changed

+58
-51
lines changed

lib/src/scenes/film_strip.dart

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,19 @@ import 'package:qr_bar_code/code/code.dart';
2424
/// stitches them together into a single golden file with a given
2525
/// [FilmStripLayout].
2626
class FilmStrip {
27-
FilmStrip(this._tester);
27+
FilmStrip(
28+
this._tester, {
29+
required this.goldenName,
30+
required this.layout,
31+
this.goldenBackground,
32+
});
2833

2934
final WidgetTester _tester;
3035

36+
final String goldenName;
37+
final SceneLayout layout;
38+
final Widget? goldenBackground;
39+
3140
_FilmStripSetup? _setup;
3241
final _steps = <Object>[];
3342

@@ -126,9 +135,6 @@ class FilmStrip {
126135
}
127136

128137
Future<void> renderOrCompareGolden({
129-
required String goldenName,
130-
required SceneLayout layout,
131-
Widget? goldenBackground,
132138
m.Color qrCodeColor = m.Colors.black,
133139
m.Color qrCodeBackgroundColor = m.Colors.white,
134140
}) async {

test_goldens/flutter/buttons/buttons_test.dart

Lines changed: 33 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,11 @@ void main() {
1111
testGoldenSceneOnMac("elevated button interactions", (tester) async {
1212
final goldenKey = GlobalKey();
1313

14-
await FilmStrip(tester)
14+
await FilmStrip(
15+
tester,
16+
goldenName: "button_elevated_interactions",
17+
layout: SceneLayout.row,
18+
)
1519
.setupWithPump(() {
1620
return FlutterWidgetScaffold(
1721
goldenKey: goldenKey,
@@ -26,16 +30,17 @@ void main() {
2630
.takePhoto("hover", find.byKey(goldenKey))
2731
.pressHover()
2832
.takePhoto("pressed", find.byKey(goldenKey))
29-
.renderOrCompareGolden(
30-
goldenName: "button_elevated_interactions",
31-
layout: SceneLayout.row,
32-
);
33+
.renderOrCompareGolden();
3334
});
3435

3536
testGoldenSceneOnMac("text button interactions", (tester) async {
3637
final goldenKey = GlobalKey();
3738

38-
await FilmStrip(tester)
39+
await FilmStrip(
40+
tester,
41+
goldenName: "button_text_interactions",
42+
layout: SceneLayout.row,
43+
)
3944
.setupWithPump(() {
4045
return FlutterWidgetScaffold(
4146
goldenKey: goldenKey,
@@ -50,16 +55,17 @@ void main() {
5055
.takePhoto("hover", find.byKey(goldenKey))
5156
.pressHover()
5257
.takePhoto("pressed", find.byKey(goldenKey))
53-
.renderOrCompareGolden(
54-
goldenName: "button_text_interactions",
55-
layout: SceneLayout.row,
56-
);
58+
.renderOrCompareGolden();
5759
});
5860

5961
testGoldenSceneOnMac("icon button interactions", (tester) async {
6062
final goldenKey = GlobalKey();
6163

62-
await FilmStrip(tester)
64+
await FilmStrip(
65+
tester,
66+
goldenName: "button_icon_interactions",
67+
layout: SceneLayout.row,
68+
)
6369
.setupWithPump(() {
6470
return MaterialApp(
6571
theme: ThemeData(
@@ -83,16 +89,17 @@ void main() {
8389
.takePhoto("hover", find.byKey(goldenKey))
8490
.pressHover()
8591
.takePhoto("pressed", find.byKey(goldenKey))
86-
.renderOrCompareGolden(
87-
goldenName: "button_icon_interactions",
88-
layout: SceneLayout.row,
89-
);
92+
.renderOrCompareGolden();
9093
});
9194

9295
testGoldenSceneOnMac("floating action button interactions", (tester) async {
9396
final goldenKey = GlobalKey();
9497

95-
await FilmStrip(tester)
98+
await FilmStrip(
99+
tester,
100+
goldenName: "button_fab_interactions",
101+
layout: SceneLayout.row,
102+
)
96103
.setupWithPump(() {
97104
return FlutterWidgetScaffold(
98105
goldenKey: goldenKey,
@@ -107,10 +114,7 @@ void main() {
107114
.takePhoto("hover", find.byKey(goldenKey))
108115
.pressHover()
109116
.takePhoto("pressed", find.byKey(goldenKey))
110-
.renderOrCompareGolden(
111-
goldenName: "button_fab_interactions",
112-
layout: SceneLayout.row,
113-
);
117+
.renderOrCompareGolden();
114118
});
115119

116120
testGoldenSceneOnMac("extended floating action button interactions", (tester) async {
@@ -122,7 +126,15 @@ void main() {
122126
await precacheImage(imageProvider, tester.binding.rootElement!);
123127
});
124128

125-
await FilmStrip(tester)
129+
await FilmStrip(
130+
tester,
131+
goldenName: "button_extended_fab_interactions",
132+
layout: SceneLayout.row,
133+
goldenBackground: Image.memory(
134+
backgroundImageBytes,
135+
fit: BoxFit.cover,
136+
),
137+
)
126138
.setupWithPump(() {
127139
return FlutterWidgetScaffold(
128140
goldenKey: goldenKey,
@@ -134,22 +146,11 @@ void main() {
134146
);
135147
})
136148
.takePhoto("idle", find.byKey(goldenKey))
137-
// .takePhoto(find.byType(FlutterWidgetScaffold), "idle")
138-
139149
.hoverOver(find.byType(FloatingActionButton))
140150
.takePhoto("hover", find.byKey(goldenKey))
141-
// .takePhoto(find.byType(FlutterWidgetScaffold), "idle")
142-
143151
.pressHover()
144152
.takePhoto("pressed", find.byKey(goldenKey))
145-
// .takePhoto(find.byType(FlutterWidgetScaffold), "pressed")
146153
.renderOrCompareGolden(
147-
goldenName: "button_extended_fab_interactions",
148-
layout: SceneLayout.row,
149-
goldenBackground: Image.memory(
150-
backgroundImageBytes,
151-
fit: BoxFit.cover,
152-
),
153154
qrCodeColor: Colors.white,
154155
qrCodeBackgroundColor: const Color(0xFF035db8),
155156
);

test_goldens/flutter/list_tile/list_tile_test.dart

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,11 @@ void main() {
1111

1212
final goldenKey = GlobalKey();
1313

14-
await FilmStrip(tester)
14+
await FilmStrip(
15+
tester,
16+
goldenName: "list_tile_interactions",
17+
layout: SceneLayout.column,
18+
)
1519
.setupWithPump(() {
1620
return FlutterWidgetScaffold(
1721
goldenKey: goldenKey,
@@ -33,9 +37,6 @@ void main() {
3337
.takePhoto("hover", find.byKey(goldenKey))
3438
.pressHover()
3539
.takePhoto("pressed", find.byKey(goldenKey))
36-
.renderOrCompareGolden(
37-
goldenName: "list_tile_interactions",
38-
layout: SceneLayout.column,
39-
);
40+
.renderOrCompareGolden();
4041
});
4142
}

test_goldens/flutter/textfield/textfield_tests.dart

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,11 @@ void main() {
99
testGoldenSceneOnMac("text field interactions", (tester) async {
1010
final goldenKey = GlobalKey();
1111

12-
await FilmStrip(tester)
12+
await FilmStrip(
13+
tester,
14+
goldenName: "textfield_interactions",
15+
layout: SceneLayout.column,
16+
)
1317
.setupWithPump(() {
1418
return FlutterWidgetScaffold(
1519
goldenKey: goldenKey,
@@ -31,9 +35,6 @@ void main() {
3135
await tester.pumpAndSettle();
3236
})
3337
.takePhoto("typed text", find.byKey(goldenKey))
34-
.renderOrCompareGolden(
35-
goldenName: "textfield_interactions",
36-
layout: SceneLayout.column,
37-
);
38+
.renderOrCompareGolden();
3839
});
3940
}

test_goldens/scene_types/gallery_test.dart

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,9 @@ void main() {
4646
await tester.pumpWidget(
4747
scaffold(
4848
tester,
49-
GoldenImageBounds(
50-
child: decorator != null //
51-
? decorator.call(tester, itemWidget)
52-
: itemWidget,
53-
),
49+
decorator != null //
50+
? decorator.call(tester, itemWidget)
51+
: itemWidget,
5452
),
5553
);
5654
},

0 commit comments

Comments
 (0)