From 8758971f69aa9a5ca38de2929ea7796022c50216 Mon Sep 17 00:00:00 2001 From: Ahmed Mohamed Sameh Date: Wed, 12 Nov 2025 22:17:55 +0200 Subject: [PATCH] Make sure that a TabBarView doesn't crash in 0x0 environment (#178202) This is my attempt to handle https://github.com/flutter/flutter/issues/6537 for the TabBarView widget. --- packages/flutter/test/material/tabs_test.dart | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/packages/flutter/test/material/tabs_test.dart b/packages/flutter/test/material/tabs_test.dart index 094a235a9c7..bbb59ea8b06 100644 --- a/packages/flutter/test/material/tabs_test.dart +++ b/packages/flutter/test/material/tabs_test.dart @@ -9347,6 +9347,24 @@ void main() { expect(tester.takeException(), isNull); }); + testWidgets('TabBarView does not crash at zero area', (WidgetTester tester) async { + tester.view.physicalSize = Size.zero; + final TabController controller = TabController(length: 2, vsync: tester); + addTearDown(tester.view.reset); + addTearDown(controller.dispose); + await tester.pumpWidget( + MaterialApp( + home: Center( + child: TabBarView(controller: controller, children: const [Text('X'), Text('Y')]), + ), + ), + ); + expect(tester.getSize(find.byType(TabBarView)), Size.zero); + controller.animateTo(1); + await tester.pump(); + await tester.pumpAndSettle(); + }); + testWidgets('TabPageSelectorIndicator does not crash at zero area', (WidgetTester tester) async { await tester.pumpWidget( const MaterialApp(