@@ -86,17 +86,23 @@ Future<void> testMain() async {
8686 // `imageGenerator` should produce an image that is 150x150 pixels.
8787 void emitImageTests (String name, Future <ui.Image > Function () imageGenerator) {
8888 group (name, () {
89- late ui.Image image;
90- setUp (() async {
91- image = await imageGenerator ();
92- });
89+ final List <ui.Image > images = < ui.Image > [];
90+
91+ Future <ui.Image > generateImage () async {
92+ final ui.Image image = await imageGenerator ();
93+ images.add (image);
94+ return image;
95+ }
9396
9497 tearDown (() {
95- image.dispose ();
98+ for (final ui.Image image in images) {
99+ image.dispose ();
100+ }
101+ images.clear ();
96102 });
97103
98104 test ('drawImage' , () async {
99- final ui.Image image = await imageGenerator ();
105+ final ui.Image image = await generateImage ();
100106
101107 final ui.PictureRecorder recorder = ui.PictureRecorder ();
102108 final ui.Canvas canvas = ui.Canvas (recorder, drawRegion);
@@ -111,7 +117,7 @@ Future<void> testMain() async {
111117 });
112118
113119 test ('drawImageRect' , () async {
114- final ui.Image image = await imageGenerator ();
120+ final ui.Image image = await generateImage ();
115121
116122 final ui.PictureRecorder recorder = ui.PictureRecorder ();
117123 final ui.Canvas canvas = ui.Canvas (recorder, drawRegion);
@@ -147,7 +153,7 @@ Future<void> testMain() async {
147153 });
148154
149155 test ('drawImageNine' , () async {
150- final ui.Image image = await imageGenerator ();
156+ final ui.Image image = await generateImage ();
151157
152158 final ui.PictureRecorder recorder = ui.PictureRecorder ();
153159 final ui.Canvas canvas = ui.Canvas (recorder, drawRegion);
@@ -168,7 +174,7 @@ Future<void> testMain() async {
168174 final ui.Canvas canvas = ui.Canvas (recorder, drawRegion);
169175 final Float64List matrix = Matrix4 .rotationZ (pi / 6 ).toFloat64 ();
170176 Future <void > drawOvalWithShader (ui.Rect rect, ui.FilterQuality quality) async {
171- final ui.Image image = await imageGenerator ();
177+ final ui.Image image = await generateImage ();
172178 final ui.ImageShader shader = ui.ImageShader (
173179 image,
174180 ui.TileMode .repeated,
@@ -199,7 +205,7 @@ Future<void> testMain() async {
199205 });
200206
201207 test ('fragment_shader_sampler' , () async {
202- final ui.Image image = await imageGenerator ();
208+ final ui.Image image = await generateImage ();
203209
204210 final ui.FragmentProgram program = await renderer.createFragmentProgram ('glitch_shader' );
205211 final ui.FragmentShader shader = program.fragmentShader ();
@@ -224,7 +230,7 @@ Future<void> testMain() async {
224230 }, skip: isHtml); // HTML doesn't support fragment shaders
225231
226232 test ('drawVertices with image shader' , () async {
227- final ui.Image image = await imageGenerator ();
233+ final ui.Image image = await generateImage ();
228234
229235 final Float64List matrix = Matrix4 .rotationZ (pi / 6 ).toFloat64 ();
230236 final ui.ImageShader shader = ui.ImageShader (
@@ -270,15 +276,15 @@ Future<void> testMain() async {
270276 });
271277
272278 test ('toByteData_rgba' , () async {
273- final ui.Image image = await imageGenerator ();
279+ final ui.Image image = await generateImage ();
274280
275281 final ByteData ? rgbaData = await image.toByteData ();
276282 expect (rgbaData, isNotNull);
277283 expect (rgbaData! .lengthInBytes, isNonZero);
278284 });
279285
280286 test ('toByteData_png' , () async {
281- final ui.Image image = await imageGenerator ();
287+ final ui.Image image = await generateImage ();
282288
283289 final ByteData ? pngData = await image.toByteData (format: ui.ImageByteFormat .png);
284290 expect (pngData, isNotNull);
0 commit comments