diff --git a/packages/flutter/test/material/menu_anchor_test.dart b/packages/flutter/test/material/menu_anchor_test.dart index 2297977e666..de8b5b48e06 100644 --- a/packages/flutter/test/material/menu_anchor_test.dart +++ b/packages/flutter/test/material/menu_anchor_test.dart @@ -5097,6 +5097,41 @@ void main() { expect(tester.getRect(findMenuPanels()).width, 800.0 - reservedPadding.horizontal); }); + testWidgets('CheckboxMenuButton does not crash at zero area', (WidgetTester tester) async { + await tester.pumpWidget( + MaterialApp( + home: Center( + child: SizedBox.shrink( + child: CheckboxMenuButton( + value: true, + onChanged: (bool? value) {}, + child: const Text('X'), + ), + ), + ), + ), + ); + expect(tester.getSize(find.byType(CheckboxMenuButton)), Size.zero); + }); + + testWidgets('RadioMenuButton does not crash at zero area', (WidgetTester tester) async { + await tester.pumpWidget( + MaterialApp( + home: Center( + child: SizedBox.shrink( + child: RadioMenuButton( + value: true, + groupValue: true, + onChanged: (bool? value) {}, + child: null, + ), + ), + ), + ), + ); + expect(tester.getSize(find.byType(RadioMenuButton)), Size.zero); + }); + testWidgets('Layout updates when reserved padding changes', (WidgetTester tester) async { const EdgeInsetsGeometry reservedPadding = EdgeInsets.symmetric(horizontal: 13.0);