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 <dkwingsmt@users.noreply.github.com>
diff --git a/packages/flutter/test/widgets/animated_cross_fade_test.dart b/packages/flutter/test/widgets/animated_cross_fade_test.dart
index 006b896..599feaf 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 @@
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 {