From eb2e689a693c4dc00c7f09b6b14cd42c2ffe70a1 Mon Sep 17 00:00:00 2001 From: Ahmed Mohamed Sameh Date: Sat, 27 Dec 2025 02:12:17 +0200 Subject: [PATCH] Make sure that an AnimatedCrossFade does not crash in 0x0 environment (#180088) This is my attempt to handle https://github.com/flutter/flutter/issues/6537 for the AnimatedCrossFade widget. Co-authored-by: Tong Mu --- .../widgets/animated_cross_fade_test.dart | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/packages/flutter/test/widgets/animated_cross_fade_test.dart b/packages/flutter/test/widgets/animated_cross_fade_test.dart index 006b896a209..599feaf1c7d 100644 --- a/packages/flutter/test/widgets/animated_cross_fade_test.dart +++ b/packages/flutter/test/widgets/animated_cross_fade_test.dart @@ -396,6 +396,25 @@ void main() { expect(numberOfTouchEventNoticed, 1); }); + + testWidgets('AnimatedCrossFade does not crash at zero area', (WidgetTester tester) async { + await tester.pumpWidget( + const Directionality( + textDirection: TextDirection.ltr, + child: Center( + child: SizedBox.shrink( + child: AnimatedCrossFade( + firstChild: Text('X'), + secondChild: Text('Y'), + crossFadeState: CrossFadeState.showFirst, + duration: Duration(seconds: 1), + ), + ), + ), + ), + ); + expect(tester.getSize(find.byType(AnimatedCrossFade)), Size.zero); + }); } class _TickerWatchingWidget extends StatefulWidget {