@@ -19,6 +19,35 @@ Widget boilerplate({required Widget child}) {
1919
2020void main () {
2121
22+ testWidgets ('SegmentedButton is built with Material of type MaterialType.transparency' , (WidgetTester tester) async {
23+ final ThemeData theme = ThemeData (useMaterial3: true );
24+ await tester.pumpWidget (
25+ MaterialApp (
26+ theme: theme,
27+ home: Scaffold (
28+ body: Center (
29+ child: SegmentedButton <int >(
30+ segments: const < ButtonSegment <int >> [
31+ ButtonSegment <int >(value: 1 , label: Text ('1' )),
32+ ButtonSegment <int >(value: 2 , label: Text ('2' )),
33+ ButtonSegment <int >(value: 3 , label: Text ('3' ), enabled: false ),
34+ ],
35+ selected: const < int > {2 },
36+ onSelectionChanged: (Set <int > selected) { },
37+ ),
38+ ),
39+ ),
40+ ),
41+ );
42+
43+ // Expect SegmentedButton to be built with type MaterialType.transparency.
44+ final Finder text = find.text ('1' );
45+ final Finder parent = find.ancestor (of: text, matching: find.byType (Material )).first;
46+ final Finder parentMaterial = find.ancestor (of: parent, matching: find.byType (Material )).first;
47+ final Material material = tester.widget <Material >(parentMaterial);
48+ expect (material.type, MaterialType .transparency);
49+ });
50+
2251 testWidgets ('SegmentedButton supports exclusive choice by default' , (WidgetTester tester) async {
2352 int callbackCount = 0 ;
2453 int selectedSegment = 2 ;
0 commit comments