99import 'dart:typed_data' ;
1010import 'dart:ui' ;
1111
12+ import 'package:flutter/foundation.dart' ;
1213import 'package:flutter/material.dart' ;
1314import 'package:flutter/rendering.dart' ;
1415import 'package:flutter_test/flutter_test.dart' ;
@@ -29,6 +30,37 @@ void main() {
2930 );
3031 });
3132
33+ testWidgets ('Image filter - dilate' , (WidgetTester tester) async {
34+ await tester.pumpWidget (
35+ RepaintBoundary (
36+ child: ImageFiltered (
37+ imageFilter: ImageFilter .dilate (radiusX: 10.0 , radiusY: 10.0 ),
38+ child: const Placeholder (),
39+ ),
40+ ),
41+ );
42+ await expectLater (
43+ find.byType (ImageFiltered ),
44+ matchesGoldenFile ('image_filter_dilate.png' ),
45+ );
46+ }, skip: kIsWeb); // https://github.com/flutter/flutter/issues/101874
47+
48+ testWidgets ('Image filter - erode' , (WidgetTester tester) async {
49+ await tester.pumpWidget (
50+ RepaintBoundary (
51+ child: ImageFiltered (
52+ // Do not erode too much, otherwise we will see nothing left.
53+ imageFilter: ImageFilter .erode (radiusX: 1.0 , radiusY: 1.0 ),
54+ child: const Placeholder (strokeWidth: 4 ),
55+ ),
56+ ),
57+ );
58+ await expectLater (
59+ find.byType (ImageFiltered ),
60+ matchesGoldenFile ('image_filter_erode.png' ),
61+ );
62+ }, skip: kIsWeb); // https://github.com/flutter/flutter/issues/101874
63+
3264 testWidgets ('Image filter - matrix' , (WidgetTester tester) async {
3365 final ImageFilter matrix = ImageFilter .matrix (Float64List .fromList (< double > [
3466 0.5 , 0.0 , 0.0 , 0.0 , //
0 commit comments