@@ -147,99 +147,6 @@ void main() {
147147 );
148148 }
149149
150- testWidgets ('Menu responds to density changes' , (WidgetTester tester) async {
151- Widget buildMenu ({VisualDensity ? visualDensity = VisualDensity .standard}) => MaterialApp (
152- theme: ThemeData (visualDensity: visualDensity),
153- home: Material (
154- child: Column (
155- children: < Widget > [
156- MenuBar (
157- children: createTestMenus (onPressed: onPressed),
158- ),
159- const Expanded (child: Placeholder ()),
160- ],
161- ),
162- ),
163- );
164-
165- await tester.pumpWidget (buildMenu ());
166- await tester.pump ();
167-
168- expect (tester.getRect (find.byType (MenuBar )), equals (const Rect .fromLTRB (145.0 , 0.0 , 655.0 , 48.0 )));
169-
170- // Open and make sure things are the right size.
171- await tester.tap (find.text (TestMenu .mainMenu1.label));
172- await tester.pump ();
173-
174- expect (tester.getRect (find.byType (MenuBar )), equals (const Rect .fromLTRB (145.0 , 0.0 , 655.0 , 48.0 )));
175- expect (
176- tester.getRect (find.widgetWithText (MenuItemButton , TestMenu .subMenu10.label)),
177- equals (const Rect .fromLTRB (257.0 , 56.0 , 471.0 , 104.0 )),
178- );
179- expect (
180- tester.getRect (
181- find.ancestor (of: find.text (TestMenu .subMenu10.label), matching: find.byType (Material )).at (1 ),
182- ),
183- equals (const Rect .fromLTRB (257.0 , 48.0 , 471.0 , 208.0 )),
184- );
185-
186- // Test compact visual density (-2, -2)
187- await tester.pumpWidget (Container ());
188- await tester.pumpWidget (buildMenu (visualDensity: VisualDensity .compact));
189- await tester.pump ();
190-
191- // The original horizontal padding with standard visual density for menu buttons are 12 px, and the total length
192- // for the menu bar is (655 - 145) = 510.
193- // There are 4 buttons in the test menu bar, and with compact visual density,
194- // the padding will reduce by abs(2 * (-2)) = 4. So the total length
195- // now should reduce by abs(4 * 2 * (-4)) = 32, which would be 510 - 32 = 478, and
196- // 478 = 639 - 161
197- expect (tester.getRect (find.byType (MenuBar )), equals (const Rect .fromLTRB (161.0 , 0.0 , 639.0 , 40.0 )));
198-
199- // Open and make sure things are the right size.
200- await tester.tap (find.text (TestMenu .mainMenu1.label));
201- await tester.pump ();
202-
203- expect (tester.getRect (find.byType (MenuBar )), equals (const Rect .fromLTRB (161.0 , 0.0 , 639.0 , 40.0 )));
204- expect (
205- tester.getRect (find.widgetWithText (MenuItemButton , TestMenu .subMenu10.label)),
206- equals (const Rect .fromLTRB (265.0 , 40.0 , 467.0 , 80.0 )),
207- );
208- expect (
209- tester.getRect (
210- find.ancestor (of: find.text (TestMenu .subMenu10.label), matching: find.byType (Material )).at (1 ),
211- ),
212- equals (const Rect .fromLTRB (265.0 , 40.0 , 467.0 , 160.0 )),
213- );
214-
215- await tester.pumpWidget (Container ());
216- await tester.pumpWidget (buildMenu (visualDensity: const VisualDensity (horizontal: 2.0 , vertical: 2.0 )));
217- await tester.pump ();
218-
219- // Similarly, there are 4 buttons in the test menu bar, and with (2, 2) visual density,
220- // the padding will increase by abs(2 * 4) = 8. So the total length for buttons
221- // should increase by abs(4 * 2 * 8) = 64. The horizontal padding for the menu bar
222- // increases by 2 * 8, so the total width increases to 510 + 64 + 16 = 590, and
223- // 590 = 695 - 105
224- expect (tester.getRect (find.byType (MenuBar )), equals (const Rect .fromLTRB (105.0 , 0.0 , 695.0 , 72.0 )));
225-
226- // Open and make sure things are the right size.
227- await tester.tap (find.text (TestMenu .mainMenu1.label));
228- await tester.pump ();
229-
230- expect (tester.getRect (find.byType (MenuBar )), equals (const Rect .fromLTRB (105.0 , 0.0 , 695.0 , 72.0 )));
231- expect (
232- tester.getRect (find.widgetWithText (MenuItemButton , TestMenu .subMenu10.label)),
233- equals (const Rect .fromLTRB (249.0 , 80.0 , 483.0 , 136.0 )),
234- );
235- expect (
236- tester.getRect (
237- find.ancestor (of: find.text (TestMenu .subMenu10.label), matching: find.byType (Material )).at (1 ),
238- ),
239- equals (const Rect .fromLTRB (241.0 , 64.0 , 491.0 , 264.0 )),
240- );
241- });
242-
243150 testWidgets ('menu defaults colors' , (WidgetTester tester) async {
244151 final ThemeData themeData = ThemeData ();
245152 await tester.pumpWidget (
@@ -2275,9 +2182,9 @@ void main() {
22752182 expect (
22762183 collectSubmenuRects (),
22772184 equals (const < Rect > [
2278- Rect .fromLTRB (161 .0 , 0.0 , 639 .0 , 40.0 ),
2279- Rect .fromLTRB (265 .0 , 40.0 , 467.0 , 160 .0 ),
2280- Rect .fromLTRB (467.0 , 72 .0 , 707 .0 , 232 .0 ),
2185+ Rect .fromLTRB (145 .0 , 0.0 , 655 .0 , 40.0 ),
2186+ Rect .fromLTRB (257 .0 , 40.0 , 467.0 , 176 .0 ),
2187+ Rect .fromLTRB (467.0 , 80 .0 , 715 .0 , 256 .0 ),
22812188 ]),
22822189 );
22832190 });
@@ -2291,9 +2198,9 @@ void main() {
22912198 expect (
22922199 collectSubmenuRects (),
22932200 equals (const < Rect > [
2294- Rect .fromLTRB (161 .0 , 0.0 , 639 .0 , 40.0 ),
2295- Rect .fromLTRB (333.0 , 40.0 , 535 .0 , 160 .0 ),
2296- Rect .fromLTRB (93 .0 , 72 .0 , 333.0 , 232 .0 ),
2201+ Rect .fromLTRB (145 .0 , 0.0 , 655 .0 , 40.0 ),
2202+ Rect .fromLTRB (333.0 , 40.0 , 543 .0 , 176 .0 ),
2203+ Rect .fromLTRB (85 .0 , 80 .0 , 333.0 , 256 .0 ),
22972204 ]),
22982205 );
22992206 });
0 commit comments