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 {