@@ -1649,4 +1649,52 @@ void main() {
1649
1649
1650
1650
expect (RendererBinding .instance! .mouseTracker.debugDeviceActiveCursor (1 ), SystemMouseCursors .basic);
1651
1651
});
1652
+
1653
+ testWidgets ('ToggleButtons focus, hover, and highlight elevations are 0' , (WidgetTester tester) async {
1654
+ final List <FocusNode > focusNodes = < FocusNode > [FocusNode (), FocusNode ()];
1655
+ await tester.pumpWidget (
1656
+ Material (
1657
+ child: boilerplate (
1658
+ child: ToggleButtons (
1659
+ isSelected: const < bool > [true , false ],
1660
+ onPressed: (int index) { },
1661
+ focusNodes: focusNodes,
1662
+ children: const < Widget > [Text ('one' ), Text ('two' )],
1663
+ ),
1664
+ ),
1665
+ ),
1666
+ );
1667
+
1668
+ double toggleButtonElevation (String text) {
1669
+ return tester.widget <Material >(find.widgetWithText (Material , text).first).elevation;
1670
+ }
1671
+
1672
+ // Default toggle button elevation
1673
+ expect (toggleButtonElevation ('one' ), 0 ); // highlighted
1674
+ expect (toggleButtonElevation ('two' ), 0 ); // not highlighted
1675
+
1676
+ // Hovered button elevation
1677
+ final TestGesture hoverGesture = await tester.createGesture (kind: PointerDeviceKind .mouse);
1678
+ await hoverGesture.addPointer ();
1679
+ await hoverGesture.moveTo (tester.getCenter (find.text ('one' )));
1680
+ await tester.pumpAndSettle ();
1681
+ expect (toggleButtonElevation ('one' ), 0 );
1682
+ await hoverGesture.moveTo (tester.getCenter (find.text ('two' )));
1683
+ await tester.pumpAndSettle ();
1684
+ expect (toggleButtonElevation ('two' ), 0 );
1685
+
1686
+ // Focused button elevation
1687
+ focusNodes[0 ].requestFocus ();
1688
+ await tester.pumpAndSettle ();
1689
+ expect (focusNodes[0 ].hasFocus, isTrue);
1690
+ expect (focusNodes[1 ].hasFocus, isFalse);
1691
+ expect (toggleButtonElevation ('one' ), 0 );
1692
+ focusNodes[1 ].requestFocus ();
1693
+ await tester.pumpAndSettle ();
1694
+ expect (focusNodes[0 ].hasFocus, isFalse);
1695
+ expect (focusNodes[1 ].hasFocus, isTrue);
1696
+ expect (toggleButtonElevation ('two' ), 0 );
1697
+
1698
+ await hoverGesture.removePointer ();
1699
+ });
1652
1700
}
0 commit comments