@@ -147,99 +147,6 @@ void main() {
147
147
);
148
148
}
149
149
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
-
243
150
testWidgets ('menu defaults colors' , (WidgetTester tester) async {
244
151
final ThemeData themeData = ThemeData ();
245
152
await tester.pumpWidget (
@@ -2275,9 +2182,9 @@ void main() {
2275
2182
expect (
2276
2183
collectSubmenuRects (),
2277
2184
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 ),
2281
2188
]),
2282
2189
);
2283
2190
});
@@ -2291,9 +2198,9 @@ void main() {
2291
2198
expect (
2292
2199
collectSubmenuRects (),
2293
2200
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 ),
2297
2204
]),
2298
2205
);
2299
2206
});
0 commit comments