From 896e5b332d364cbe407966787115ce6cc4e6dde4 Mon Sep 17 00:00:00 2001 From: fzyzcjy <5236035+fzyzcjy@users.noreply.github.com> Date: Wed, 4 May 2022 07:04:07 +0800 Subject: [PATCH] (Test-only) Add tests for new `ImageFilter.dilate`/`ImageFilter.erode` in flutter engine (#101036) --- .../test/widgets/image_filter_test.dart | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/packages/flutter/test/widgets/image_filter_test.dart b/packages/flutter/test/widgets/image_filter_test.dart index 6395cb044ed..94748798112 100644 --- a/packages/flutter/test/widgets/image_filter_test.dart +++ b/packages/flutter/test/widgets/image_filter_test.dart @@ -9,6 +9,7 @@ import 'dart:typed_data'; import 'dart:ui'; +import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; import 'package:flutter_test/flutter_test.dart'; @@ -29,6 +30,37 @@ void main() { ); }); + testWidgets('Image filter - dilate', (WidgetTester tester) async { + await tester.pumpWidget( + RepaintBoundary( + child: ImageFiltered( + imageFilter: ImageFilter.dilate(radiusX: 10.0, radiusY: 10.0), + child: const Placeholder(), + ), + ), + ); + await expectLater( + find.byType(ImageFiltered), + matchesGoldenFile('image_filter_dilate.png'), + ); + }, skip: kIsWeb); // https://github.com/flutter/flutter/issues/101874 + + testWidgets('Image filter - erode', (WidgetTester tester) async { + await tester.pumpWidget( + RepaintBoundary( + child: ImageFiltered( + // Do not erode too much, otherwise we will see nothing left. + imageFilter: ImageFilter.erode(radiusX: 1.0, radiusY: 1.0), + child: const Placeholder(strokeWidth: 4), + ), + ), + ); + await expectLater( + find.byType(ImageFiltered), + matchesGoldenFile('image_filter_erode.png'), + ); + }, skip: kIsWeb); // https://github.com/flutter/flutter/issues/101874 + testWidgets('Image filter - matrix', (WidgetTester tester) async { final ImageFilter matrix = ImageFilter.matrix(Float64List.fromList([ 0.5, 0.0, 0.0, 0.0, //