Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
F
Front-End
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
abdullh.alsoleman
Front-End
Commits
c5a81d1b
Unverified
Commit
c5a81d1b
authored
Jun 12, 2023
by
Hans Muller
Committed by
GitHub
Jun 12, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update button tests for Material 3 by default (#128628)
parent
353b8bc8
Changes
9
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
698 additions
and
761 deletions
+698
-761
elevated_button_test.dart
packages/flutter/test/material/elevated_button_test.dart
+17
-18
filled_button_test.dart
packages/flutter/test/material/filled_button_test.dart
+20
-22
floating_action_button_location_test.dart
...r/test/material/floating_action_button_location_test.dart
+8
-8
floating_action_button_test.dart
...es/flutter/test/material/floating_action_button_test.dart
+4
-3
material_button_test.dart
packages/flutter/test/material/material_button_test.dart
+44
-24
outlined_button_test.dart
packages/flutter/test/material/outlined_button_test.dart
+25
-27
raw_material_button_test.dart
packages/flutter/test/material/raw_material_button_test.dart
+53
-40
text_button_test.dart
packages/flutter/test/material/text_button_test.dart
+11
-16
toggle_buttons_test.dart
packages/flutter/test/material/toggle_buttons_test.dart
+516
-603
No files found.
packages/flutter/test/material/elevated_button_test.dart
View file @
c5a81d1b
...
@@ -738,7 +738,9 @@ void main() {
...
@@ -738,7 +738,9 @@ void main() {
testWidgets
(
'Does ElevatedButton contribute semantics'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Does ElevatedButton contribute semantics'
,
(
WidgetTester
tester
)
async
{
final
SemanticsTester
semantics
=
SemanticsTester
(
tester
);
final
SemanticsTester
semantics
=
SemanticsTester
(
tester
);
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Directionality
(
Theme
(
data:
ThemeData
(
useMaterial3:
false
),
child:
Directionality
(
textDirection:
TextDirection
.
ltr
,
textDirection:
TextDirection
.
ltr
,
child:
Center
(
child:
Center
(
child:
ElevatedButton
(
child:
ElevatedButton
(
...
@@ -753,6 +755,7 @@ void main() {
...
@@ -753,6 +755,7 @@ void main() {
),
),
),
),
),
),
),
);
);
expect
(
semantics
,
hasSemantics
(
expect
(
semantics
,
hasSemantics
(
...
@@ -790,7 +793,7 @@ void main() {
...
@@ -790,7 +793,7 @@ void main() {
Widget
buildFrame
(
MaterialTapTargetSize
tapTargetSize
,
Key
key
)
{
Widget
buildFrame
(
MaterialTapTargetSize
tapTargetSize
,
Key
key
)
{
return
Theme
(
return
Theme
(
data:
ThemeData
(
materialTapTargetSize:
tapTargetSize
),
data:
ThemeData
(
useMaterial3:
false
,
materialTapTargetSize:
tapTargetSize
),
child:
Directionality
(
child:
Directionality
(
textDirection:
TextDirection
.
ltr
,
textDirection:
TextDirection
.
ltr
,
child:
Center
(
child:
Center
(
...
@@ -838,9 +841,7 @@ void main() {
...
@@ -838,9 +841,7 @@ void main() {
Future
<
void
>
buildTest
(
VisualDensity
visualDensity
,
{
bool
useText
=
false
})
async
{
Future
<
void
>
buildTest
(
VisualDensity
visualDensity
,
{
bool
useText
=
false
})
async
{
return
tester
.
pumpWidget
(
return
tester
.
pumpWidget
(
MaterialApp
(
MaterialApp
(
// Test was setup using fonts from Material 2, so make sure we always
theme:
ThemeData
(
useMaterial3:
false
),
// test against englishLike2014.
theme:
ThemeData
(
textTheme:
Typography
.
englishLike2014
),
home:
Directionality
(
home:
Directionality
(
textDirection:
TextDirection
.
rtl
,
textDirection:
TextDirection
.
rtl
,
child:
Center
(
child:
Center
(
...
@@ -1033,10 +1034,8 @@ void main() {
...
@@ -1033,10 +1034,8 @@ void main() {
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
MaterialApp
(
MaterialApp
(
theme:
ThemeData
(
theme:
ThemeData
(
useMaterial3:
false
,
colorScheme:
const
ColorScheme
.
light
(),
colorScheme:
const
ColorScheme
.
light
(),
// Force Material 2 defaults for the typography and size
// default values as the test was designed against these settings.
textTheme:
Typography
.
englishLike2014
,
elevatedButtonTheme:
ElevatedButtonThemeData
(
elevatedButtonTheme:
ElevatedButtonThemeData
(
style:
ElevatedButton
.
styleFrom
(
minimumSize:
const
Size
(
64
,
36
)),
style:
ElevatedButton
.
styleFrom
(
minimumSize:
const
Size
(
64
,
36
)),
),
),
...
...
packages/flutter/test/material/filled_button_test.dart
View file @
c5a81d1b
...
@@ -14,7 +14,7 @@ import '../widgets/semantics_tester.dart';
...
@@ -14,7 +14,7 @@ import '../widgets/semantics_tester.dart';
void
main
(
)
{
void
main
(
)
{
testWidgets
(
'FilledButton, FilledButton.icon defaults'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'FilledButton, FilledButton.icon defaults'
,
(
WidgetTester
tester
)
async
{
const
ColorScheme
colorScheme
=
ColorScheme
.
light
();
const
ColorScheme
colorScheme
=
ColorScheme
.
light
();
final
ThemeData
theme
=
ThemeData
.
from
(
colorScheme:
colorScheme
);
final
ThemeData
theme
=
ThemeData
.
from
(
useMaterial3:
false
,
colorScheme:
colorScheme
);
// Enabled FilledButton
// Enabled FilledButton
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
...
@@ -884,7 +884,9 @@ void main() {
...
@@ -884,7 +884,9 @@ void main() {
testWidgets
(
'Does FilledButton contribute semantics'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Does FilledButton contribute semantics'
,
(
WidgetTester
tester
)
async
{
final
SemanticsTester
semantics
=
SemanticsTester
(
tester
);
final
SemanticsTester
semantics
=
SemanticsTester
(
tester
);
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Directionality
(
Theme
(
data:
ThemeData
(
useMaterial3:
false
),
child:
Directionality
(
textDirection:
TextDirection
.
ltr
,
textDirection:
TextDirection
.
ltr
,
child:
Center
(
child:
Center
(
child:
FilledButton
(
child:
FilledButton
(
...
@@ -899,6 +901,7 @@ void main() {
...
@@ -899,6 +901,7 @@ void main() {
),
),
),
),
),
),
),
);
);
expect
(
semantics
,
hasSemantics
(
expect
(
semantics
,
hasSemantics
(
...
@@ -936,7 +939,7 @@ void main() {
...
@@ -936,7 +939,7 @@ void main() {
Widget
buildFrame
(
MaterialTapTargetSize
tapTargetSize
,
Key
key
)
{
Widget
buildFrame
(
MaterialTapTargetSize
tapTargetSize
,
Key
key
)
{
return
Theme
(
return
Theme
(
data:
ThemeData
(
materialTapTargetSize:
tapTargetSize
),
data:
ThemeData
(
useMaterial3:
false
,
materialTapTargetSize:
tapTargetSize
),
child:
Directionality
(
child:
Directionality
(
textDirection:
TextDirection
.
ltr
,
textDirection:
TextDirection
.
ltr
,
child:
Center
(
child:
Center
(
...
@@ -984,9 +987,7 @@ void main() {
...
@@ -984,9 +987,7 @@ void main() {
Future
<
void
>
buildTest
(
VisualDensity
visualDensity
,
{
bool
useText
=
false
})
async
{
Future
<
void
>
buildTest
(
VisualDensity
visualDensity
,
{
bool
useText
=
false
})
async
{
return
tester
.
pumpWidget
(
return
tester
.
pumpWidget
(
MaterialApp
(
MaterialApp
(
// Test was setup using fonts from Material 2, so make sure we always
theme:
ThemeData
(
useMaterial3:
false
),
// test against englishLike2014.
theme:
ThemeData
(
textTheme:
Typography
.
englishLike2014
),
home:
Directionality
(
home:
Directionality
(
textDirection:
TextDirection
.
rtl
,
textDirection:
TextDirection
.
rtl
,
child:
Center
(
child:
Center
(
...
@@ -1179,10 +1180,7 @@ void main() {
...
@@ -1179,10 +1180,7 @@ void main() {
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
MaterialApp
(
MaterialApp
(
theme:
ThemeData
(
theme:
ThemeData
(
colorScheme:
const
ColorScheme
.
light
(),
useMaterial3:
false
,
// Force Material 2 defaults for the typography and size
// default values as the test was designed against these settings.
textTheme:
Typography
.
englishLike2014
,
filledButtonTheme:
FilledButtonThemeData
(
filledButtonTheme:
FilledButtonThemeData
(
style:
FilledButton
.
styleFrom
(
minimumSize:
const
Size
(
64
,
36
)),
style:
FilledButton
.
styleFrom
(
minimumSize:
const
Size
(
64
,
36
)),
),
),
...
@@ -1410,7 +1408,7 @@ void main() {
...
@@ -1410,7 +1408,7 @@ void main() {
const
Color
borderColor
=
Color
(
0xff4caf50
);
const
Color
borderColor
=
Color
(
0xff4caf50
);
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
MaterialApp
(
MaterialApp
(
theme:
ThemeData
(
colorScheme:
const
ColorScheme
.
light
(),
textTheme:
Typography
.
englishLike2014
),
theme:
ThemeData
(
useMaterial3:
false
),
home:
Center
(
home:
Center
(
child:
FilledButton
(
child:
FilledButton
(
style:
FilledButton
.
styleFrom
(
style:
FilledButton
.
styleFrom
(
...
@@ -1599,7 +1597,7 @@ void main() {
...
@@ -1599,7 +1597,7 @@ void main() {
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
MaterialApp
(
MaterialApp
(
theme:
ThemeData
(
textTheme:
Typography
.
englishLike2014
),
theme:
ThemeData
(
useMaterial3:
false
),
home:
Scaffold
(
home:
Scaffold
(
body:
Center
(
body:
Center
(
child:
Column
(
child:
Column
(
...
...
packages/flutter/test/material/floating_action_button_location_test.dart
View file @
c5a81d1b
...
@@ -693,6 +693,7 @@ void main() {
...
@@ -693,6 +693,7 @@ void main() {
bool
resizeToAvoidBottomInset
=
true
,
bool
resizeToAvoidBottomInset
=
true
,
})
{
})
{
return
MaterialApp
(
return
MaterialApp
(
theme:
ThemeData
(
useMaterial3:
false
),
home:
MediaQuery
(
home:
MediaQuery
(
data:
data
,
data:
data
,
child:
Scaffold
(
child:
Scaffold
(
...
@@ -1640,15 +1641,14 @@ const double _dockedOffsetY = 544.0;
...
@@ -1640,15 +1641,14 @@ const double _dockedOffsetY = 544.0;
const
double
_containedOffsetY
=
544.0
+
56.0
/
2
;
const
double
_containedOffsetY
=
544.0
+
56.0
/
2
;
const
double
_miniFloatOffsetY
=
_floatOffsetY
+
kMiniButtonOffsetAdjustment
;
const
double
_miniFloatOffsetY
=
_floatOffsetY
+
kMiniButtonOffsetAdjustment
;
Widget
_singleFabScaffold
(
Widget
_singleFabScaffold
(
FloatingActionButtonLocation
location
,
{
FloatingActionButtonLocation
location
,
bool
useMaterial3
=
false
,
{
FloatingActionButtonAnimator
?
animator
,
FloatingActionButtonAnimator
?
animator
,
bool
mini
=
false
,
bool
mini
=
false
,
TextDirection
textDirection
=
TextDirection
.
ltr
,
TextDirection
textDirection
=
TextDirection
.
ltr
,
}
})
{
)
{
return
MaterialApp
(
return
MaterialApp
(
theme:
ThemeData
(
useMaterial3:
useMaterial3
),
home:
Directionality
(
home:
Directionality
(
textDirection:
textDirection
,
textDirection:
textDirection
,
child:
Scaffold
(
child:
Scaffold
(
...
...
packages/flutter/test/material/floating_action_button_test.dart
View file @
c5a81d1b
...
@@ -19,9 +19,8 @@ import '../widgets/semantics_tester.dart';
...
@@ -19,9 +19,8 @@ import '../widgets/semantics_tester.dart';
import
'feedback_tester.dart'
;
import
'feedback_tester.dart'
;
void
main
(
)
{
void
main
(
)
{
final
ThemeData
material3Theme
=
ThemeData
(
useMaterial3:
true
);
final
ThemeData
material3Theme
=
ThemeData
.
light
().
copyWith
(
useMaterial3:
true
);
final
ThemeData
material2Theme
=
ThemeData
(
useMaterial3:
false
);
final
ThemeData
material2Theme
=
ThemeData
.
light
().
copyWith
(
useMaterial3:
false
);
testWidgets
(
'Floating Action Button control test'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Floating Action Button control test'
,
(
WidgetTester
tester
)
async
{
bool
didPressButton
=
false
;
bool
didPressButton
=
false
;
...
@@ -950,6 +949,7 @@ void main() {
...
@@ -950,6 +949,7 @@ void main() {
const
Color
splashColor
=
Color
(
0xcafefeed
);
const
Color
splashColor
=
Color
(
0xcafefeed
);
await
tester
.
pumpWidget
(
MaterialApp
(
await
tester
.
pumpWidget
(
MaterialApp
(
theme:
material2Theme
,
home:
FloatingActionButton
(
home:
FloatingActionButton
(
onPressed:
()
{},
onPressed:
()
{},
splashColor:
splashColor
,
splashColor:
splashColor
,
...
@@ -1051,6 +1051,7 @@ void main() {
...
@@ -1051,6 +1051,7 @@ void main() {
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
MaterialApp
(
MaterialApp
(
theme:
material2Theme
,
home:
Scaffold
(
home:
Scaffold
(
floatingActionButton:
FloatingActionButton
.
extended
(
floatingActionButton:
FloatingActionButton
.
extended
(
label:
const
Text
(
''
,
key:
labelKey
),
label:
const
Text
(
''
,
key:
labelKey
),
...
...
packages/flutter/test/material/material_button_test.dart
View file @
c5a81d1b
...
@@ -23,13 +23,16 @@ void main() {
...
@@ -23,13 +23,16 @@ void main() {
// Enabled MaterialButton
// Enabled MaterialButton
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Directionality
(
Theme
(
data:
ThemeData
(
useMaterial3:
false
),
child:
Directionality
(
textDirection:
TextDirection
.
ltr
,
textDirection:
TextDirection
.
ltr
,
child:
MaterialButton
(
child:
MaterialButton
(
onPressed:
()
{
},
onPressed:
()
{
},
child:
const
Text
(
'button'
),
child:
const
Text
(
'button'
),
),
),
),
),
),
);
);
Material
material
=
tester
.
widget
<
Material
>(
rawButtonMaterial
);
Material
material
=
tester
.
widget
<
Material
>(
rawButtonMaterial
);
expect
(
material
.
animationDuration
,
const
Duration
(
milliseconds:
200
));
expect
(
material
.
animationDuration
,
const
Duration
(
milliseconds:
200
));
...
@@ -68,13 +71,16 @@ void main() {
...
@@ -68,13 +71,16 @@ void main() {
// Disabled MaterialButton
// Disabled MaterialButton
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
const
Directionality
(
Theme
(
data:
ThemeData
(
useMaterial3:
false
),
child:
const
Directionality
(
textDirection:
TextDirection
.
ltr
,
textDirection:
TextDirection
.
ltr
,
child:
MaterialButton
(
child:
MaterialButton
(
onPressed:
null
,
onPressed:
null
,
child:
Text
(
'button'
),
child:
Text
(
'button'
),
),
),
),
),
),
);
);
material
=
tester
.
widget
<
Material
>(
rawButtonMaterial
);
material
=
tester
.
widget
<
Material
>(
rawButtonMaterial
);
expect
(
material
.
animationDuration
,
const
Duration
(
milliseconds:
200
));
expect
(
material
.
animationDuration
,
const
Duration
(
milliseconds:
200
));
...
@@ -442,6 +448,7 @@ void main() {
...
@@ -442,6 +448,7 @@ void main() {
textDirection:
TextDirection
.
ltr
,
textDirection:
TextDirection
.
ltr
,
child:
Theme
(
child:
Theme
(
data:
ThemeData
(
data:
ThemeData
(
useMaterial3:
false
,
materialTapTargetSize:
MaterialTapTargetSize
.
shrinkWrap
,
materialTapTargetSize:
MaterialTapTargetSize
.
shrinkWrap
,
),
),
child:
buttonWidget
,
child:
buttonWidget
,
...
@@ -488,6 +495,7 @@ void main() {
...
@@ -488,6 +495,7 @@ void main() {
textDirection:
TextDirection
.
ltr
,
textDirection:
TextDirection
.
ltr
,
child:
Theme
(
child:
Theme
(
data:
ThemeData
(
data:
ThemeData
(
useMaterial3:
false
,
highlightColor:
themeHighlightColor1
,
highlightColor:
themeHighlightColor1
,
splashColor:
themeSplashColor1
,
splashColor:
themeSplashColor1
,
materialTapTargetSize:
MaterialTapTargetSize
.
shrinkWrap
,
materialTapTargetSize:
MaterialTapTargetSize
.
shrinkWrap
,
...
@@ -516,6 +524,7 @@ void main() {
...
@@ -516,6 +524,7 @@ void main() {
textDirection:
TextDirection
.
ltr
,
textDirection:
TextDirection
.
ltr
,
child:
Theme
(
child:
Theme
(
data:
ThemeData
(
data:
ThemeData
(
useMaterial3:
false
,
highlightColor:
themeHighlightColor2
,
highlightColor:
themeHighlightColor2
,
splashColor:
themeSplashColor2
,
splashColor:
themeSplashColor2
,
materialTapTargetSize:
MaterialTapTargetSize
.
shrinkWrap
,
materialTapTargetSize:
MaterialTapTargetSize
.
shrinkWrap
,
...
@@ -574,7 +583,10 @@ void main() {
...
@@ -574,7 +583,10 @@ void main() {
);
);
// enabled button
// enabled button
await
tester
.
pumpWidget
(
Directionality
(
await
tester
.
pumpWidget
(
Theme
(
data:
ThemeData
(
useMaterial3:
false
),
child:
Directionality
(
textDirection:
TextDirection
.
ltr
,
textDirection:
TextDirection
.
ltr
,
child:
Center
(
child:
Center
(
child:
MaterialButton
(
child:
MaterialButton
(
...
@@ -582,7 +594,9 @@ void main() {
...
@@ -582,7 +594,9 @@ void main() {
onPressed:
()
{
/* to make sure the button is enabled */
},
onPressed:
()
{
/* to make sure the button is enabled */
},
),
),
),
),
));
),
),
);
expect
(
semantics
,
hasSemantics
(
expect
(
semantics
,
hasSemantics
(
TestSemantics
.
root
(
TestSemantics
.
root
(
...
@@ -607,7 +621,10 @@ void main() {
...
@@ -607,7 +621,10 @@ void main() {
));
));
// disabled button
// disabled button
await
tester
.
pumpWidget
(
const
Directionality
(
await
tester
.
pumpWidget
(
Theme
(
data:
ThemeData
(
useMaterial3:
false
),
child:
const
Directionality
(
textDirection:
TextDirection
.
ltr
,
textDirection:
TextDirection
.
ltr
,
child:
Center
(
child:
Center
(
child:
MaterialButton
(
child:
MaterialButton
(
...
@@ -615,7 +632,9 @@ void main() {
...
@@ -615,7 +632,9 @@ void main() {
child:
Text
(
'Button'
),
child:
Text
(
'Button'
),
),
),
),
),
));
),
),
);
expect
(
semantics
,
hasSemantics
(
expect
(
semantics
,
hasSemantics
(
TestSemantics
.
root
(
TestSemantics
.
root
(
...
@@ -773,6 +792,7 @@ void main() {
...
@@ -773,6 +792,7 @@ void main() {
Future
<
void
>
buildTest
(
VisualDensity
visualDensity
,
{
bool
useText
=
false
})
async
{
Future
<
void
>
buildTest
(
VisualDensity
visualDensity
,
{
bool
useText
=
false
})
async
{
return
tester
.
pumpWidget
(
return
tester
.
pumpWidget
(
MaterialApp
(
MaterialApp
(
theme:
ThemeData
(
useMaterial3:
false
),
home:
Directionality
(
home:
Directionality
(
textDirection:
TextDirection
.
rtl
,
textDirection:
TextDirection
.
rtl
,
child:
Center
(
child:
Center
(
...
...
packages/flutter/test/material/outlined_button_test.dart
View file @
c5a81d1b
...
@@ -42,7 +42,7 @@ void main() {
...
@@ -42,7 +42,7 @@ void main() {
expect
(
material
.
clipBehavior
,
Clip
.
none
);
expect
(
material
.
clipBehavior
,
Clip
.
none
);
expect
(
material
.
color
,
Colors
.
transparent
);
expect
(
material
.
color
,
Colors
.
transparent
);
expect
(
material
.
elevation
,
0.0
);
expect
(
material
.
elevation
,
0.0
);
expect
(
material
.
shadowColor
,
material3
?
null
:
const
Color
(
0xff000000
));
expect
(
material
.
shadowColor
,
material3
?
Colors
.
transparent
:
const
Color
(
0xff000000
));
expect
(
material
.
shape
,
material3
expect
(
material
.
shape
,
material3
?
StadiumBorder
(
side:
BorderSide
(
color:
colorScheme
.
outline
))
?
StadiumBorder
(
side:
BorderSide
(
color:
colorScheme
.
outline
))
...
@@ -82,7 +82,7 @@ void main() {
...
@@ -82,7 +82,7 @@ void main() {
expect
(
material
.
clipBehavior
,
Clip
.
none
);
expect
(
material
.
clipBehavior
,
Clip
.
none
);
expect
(
material
.
color
,
Colors
.
transparent
);
expect
(
material
.
color
,
Colors
.
transparent
);
expect
(
material
.
elevation
,
0.0
);
expect
(
material
.
elevation
,
0.0
);
expect
(
material
.
shadowColor
,
material3
?
null
:
const
Color
(
0xff000000
));
expect
(
material
.
shadowColor
,
material3
?
Colors
.
transparent
:
const
Color
(
0xff000000
));
expect
(
material
.
shape
,
material3
expect
(
material
.
shape
,
material3
?
StadiumBorder
(
side:
BorderSide
(
color:
colorScheme
.
outline
))
?
StadiumBorder
(
side:
BorderSide
(
color:
colorScheme
.
outline
))
...
@@ -125,7 +125,7 @@ void main() {
...
@@ -125,7 +125,7 @@ void main() {
expect
(
material
.
clipBehavior
,
Clip
.
none
);
expect
(
material
.
clipBehavior
,
Clip
.
none
);
expect
(
material
.
color
,
Colors
.
transparent
);
expect
(
material
.
color
,
Colors
.
transparent
);
expect
(
material
.
elevation
,
0.0
);
expect
(
material
.
elevation
,
0.0
);
expect
(
material
.
shadowColor
,
material3
?
null
:
const
Color
(
0xff000000
));
expect
(
material
.
shadowColor
,
material3
?
Colors
.
transparent
:
const
Color
(
0xff000000
));
expect
(
material
.
shape
,
material3
expect
(
material
.
shape
,
material3
?
StadiumBorder
(
side:
BorderSide
(
color:
colorScheme
.
outline
))
?
StadiumBorder
(
side:
BorderSide
(
color:
colorScheme
.
outline
))
...
@@ -160,7 +160,7 @@ void main() {
...
@@ -160,7 +160,7 @@ void main() {
expect
(
material
.
clipBehavior
,
Clip
.
none
);
expect
(
material
.
clipBehavior
,
Clip
.
none
);
expect
(
material
.
color
,
Colors
.
transparent
);
expect
(
material
.
color
,
Colors
.
transparent
);
expect
(
material
.
elevation
,
0.0
);
expect
(
material
.
elevation
,
0.0
);
expect
(
material
.
shadowColor
,
material3
?
null
:
const
Color
(
0xff000000
));
expect
(
material
.
shadowColor
,
material3
?
Colors
.
transparent
:
const
Color
(
0xff000000
));
expect
(
material
.
shape
,
material3
expect
(
material
.
shape
,
material3
?
StadiumBorder
(
side:
BorderSide
(
color:
colorScheme
.
onSurface
.
withOpacity
(
0.12
)))
?
StadiumBorder
(
side:
BorderSide
(
color:
colorScheme
.
onSurface
.
withOpacity
(
0.12
)))
...
@@ -966,7 +966,9 @@ void main() {
...
@@ -966,7 +966,9 @@ void main() {
testWidgets
(
'OutlinedButton contributes semantics'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'OutlinedButton contributes semantics'
,
(
WidgetTester
tester
)
async
{
final
SemanticsTester
semantics
=
SemanticsTester
(
tester
);
final
SemanticsTester
semantics
=
SemanticsTester
(
tester
);
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Directionality
(
Theme
(
data:
ThemeData
(
useMaterial3:
false
),
child:
Directionality
(
textDirection:
TextDirection
.
ltr
,
textDirection:
TextDirection
.
ltr
,
child:
Center
(
child:
Center
(
child:
OutlinedButton
(
child:
OutlinedButton
(
...
@@ -981,6 +983,7 @@ void main() {
...
@@ -981,6 +983,7 @@ void main() {
),
),
),
),
),
),
),
);
);
expect
(
semantics
,
hasSemantics
(
expect
(
semantics
,
hasSemantics
(
...
@@ -1011,8 +1014,7 @@ void main() {
...
@@ -1011,8 +1014,7 @@ void main() {
testWidgets
(
'OutlinedButton scales textScaleFactor'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'OutlinedButton scales textScaleFactor'
,
(
WidgetTester
tester
)
async
{
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Theme
(
Theme
(
// Force Material 2 typography.
data:
ThemeData
(
useMaterial3:
false
),
data:
ThemeData
(
textTheme:
Typography
.
englishLike2014
),
child:
Directionality
(
child:
Directionality
(
textDirection:
TextDirection
.
ltr
,
textDirection:
TextDirection
.
ltr
,
child:
MediaQuery
(
child:
MediaQuery
(
...
@@ -1041,7 +1043,7 @@ void main() {
...
@@ -1041,7 +1043,7 @@ void main() {
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Theme
(
Theme
(
// Force Material 2 typography.
// Force Material 2 typography.
data:
ThemeData
(
textTheme:
Typography
.
englishLike2014
),
data:
ThemeData
(
useMaterial3:
false
),
child:
Directionality
(
child:
Directionality
(
textDirection:
TextDirection
.
ltr
,
textDirection:
TextDirection
.
ltr
,
child:
MediaQuery
(
child:
MediaQuery
(
...
@@ -1072,8 +1074,7 @@ void main() {
...
@@ -1072,8 +1074,7 @@ void main() {
// Set text scale large enough to expand text and button.
// Set text scale large enough to expand text and button.
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Theme
(
Theme
(
// Force Material 2 typography.
data:
ThemeData
(
useMaterial3:
false
),
data:
ThemeData
(
textTheme:
Typography
.
englishLike2014
),
child:
Directionality
(
child:
Directionality
(
textDirection:
TextDirection
.
ltr
,
textDirection:
TextDirection
.
ltr
,
child:
MediaQuery
(
child:
MediaQuery
(
...
@@ -1131,7 +1132,7 @@ void main() {
...
@@ -1131,7 +1132,7 @@ void main() {
Future
<
void
>
buildTest
(
VisualDensity
visualDensity
,
{
bool
useText
=
false
})
async
{
Future
<
void
>
buildTest
(
VisualDensity
visualDensity
,
{
bool
useText
=
false
})
async
{
return
tester
.
pumpWidget
(
return
tester
.
pumpWidget
(
MaterialApp
(
MaterialApp
(
theme:
ThemeData
(
textTheme:
Typography
.
englishLike2014
),
theme:
ThemeData
(
useMaterial3:
false
),
home:
Directionality
(
home:
Directionality
(
textDirection:
TextDirection
.
rtl
,
textDirection:
TextDirection
.
rtl
,
child:
Center
(
child:
Center
(
...
@@ -1261,10 +1262,7 @@ void main() {
...
@@ -1261,10 +1262,7 @@ void main() {
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
MaterialApp
(
MaterialApp
(
theme:
ThemeData
(
theme:
ThemeData
(
colorScheme:
const
ColorScheme
.
light
(),
useMaterial3:
false
,
// Force Material 2 defaults for the typography and size
// default values as the test was designed against these settings.
textTheme:
Typography
.
englishLike2014
,
outlinedButtonTheme:
OutlinedButtonThemeData
(
outlinedButtonTheme:
OutlinedButtonThemeData
(
style:
OutlinedButton
.
styleFrom
(
minimumSize:
const
Size
(
64
,
36
)),
style:
OutlinedButton
.
styleFrom
(
minimumSize:
const
Size
(
64
,
36
)),
),
),
...
@@ -1407,7 +1405,7 @@ void main() {
...
@@ -1407,7 +1405,7 @@ void main() {
testWidgets
(
'Override OutlinedButton default padding'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Override OutlinedButton default padding'
,
(
WidgetTester
tester
)
async
{
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
MaterialApp
(
MaterialApp
(
theme:
ThemeData
.
from
(
colorScheme:
const
ColorScheme
.
light
()
),
theme:
ThemeData
(
useMaterial3:
false
),
home:
Builder
(
home:
Builder
(
builder:
(
BuildContext
context
)
{
builder:
(
BuildContext
context
)
{
return
MediaQuery
(
return
MediaQuery
(
...
@@ -1677,7 +1675,7 @@ void main() {
...
@@ -1677,7 +1675,7 @@ void main() {
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
MaterialApp
(
MaterialApp
(
theme:
ThemeData
(
textTheme:
Typography
.
englishLike2014
),
theme:
ThemeData
(
useMaterial3:
false
),
home:
Scaffold
(
home:
Scaffold
(
body:
Center
(
body:
Center
(
child:
Column
(
child:
Column
(
...
...
packages/flutter/test/material/raw_material_button_test.dart
View file @
c5a81d1b
...
@@ -17,7 +17,9 @@ void main() {
...
@@ -17,7 +17,9 @@ void main() {
bool
pressed
=
false
;
bool
pressed
=
false
;
const
Color
splashColor
=
Color
(
0xff00ff00
);
const
Color
splashColor
=
Color
(
0xff00ff00
);
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Directionality
(
Theme
(
data:
ThemeData
(
useMaterial3:
false
),
child:
Directionality
(
textDirection:
TextDirection
.
ltr
,
textDirection:
TextDirection
.
ltr
,
child:
Center
(
child:
Center
(
child:
RawMaterialButton
(
child:
RawMaterialButton
(
...
@@ -27,6 +29,7 @@ void main() {
...
@@ -27,6 +29,7 @@ void main() {
),
),
),
),
),
),
),
);
);
await
tester
.
tap
(
find
.
text
(
'BUTTON'
));
await
tester
.
tap
(
find
.
text
(
'BUTTON'
));
...
@@ -45,7 +48,9 @@ void main() {
...
@@ -45,7 +48,9 @@ void main() {
final
FocusNode
focusNode
=
FocusNode
(
debugLabel:
'Test Button'
);
final
FocusNode
focusNode
=
FocusNode
(
debugLabel:
'Test Button'
);
const
Color
splashColor
=
Color
(
0xff00ff00
);
const
Color
splashColor
=
Color
(
0xff00ff00
);
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Shortcuts
(
Theme
(
data:
ThemeData
(
useMaterial3:
false
),
child:
Shortcuts
(
shortcuts:
const
<
ShortcutActivator
,
Intent
>{
shortcuts:
const
<
ShortcutActivator
,
Intent
>{
SingleActivator
(
LogicalKeyboardKey
.
enter
):
ActivateIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
enter
):
ActivateIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
space
):
ActivateIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
space
):
ActivateIntent
(),
...
@@ -62,6 +67,7 @@ void main() {
...
@@ -62,6 +67,7 @@ void main() {
),
),
),
),
),
),
),
);
);
focusNode
.
requestFocus
();
focusNode
.
requestFocus
();
...
@@ -175,7 +181,9 @@ void main() {
...
@@ -175,7 +181,9 @@ void main() {
const
Color
fillColor
=
Color
(
0xFFEF5350
);
const
Color
fillColor
=
Color
(
0xFFEF5350
);
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Directionality
(
Theme
(
data:
ThemeData
(
useMaterial3:
false
),
child:
Directionality
(
textDirection:
TextDirection
.
ltr
,
textDirection:
TextDirection
.
ltr
,
child:
Center
(
child:
Center
(
child:
RawMaterialButton
(
child:
RawMaterialButton
(
...
@@ -188,6 +196,7 @@ void main() {
...
@@ -188,6 +196,7 @@ void main() {
),
),
),
),
),
),
),
);
);
final
Offset
center
=
tester
.
getCenter
(
find
.
byType
(
InkWell
));
final
Offset
center
=
tester
.
getCenter
(
find
.
byType
(
InkWell
));
...
@@ -207,7 +216,9 @@ void main() {
...
@@ -207,7 +216,9 @@ void main() {
const
Color
fillColor
=
Color
(
0xFFEF5350
);
const
Color
fillColor
=
Color
(
0xFFEF5350
);
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Directionality
(
Theme
(
data:
ThemeData
(
useMaterial3:
false
),
child:
Directionality
(
textDirection:
TextDirection
.
ltr
,
textDirection:
TextDirection
.
ltr
,
child:
Center
(
child:
Center
(
child:
RawMaterialButton
(
child:
RawMaterialButton
(
...
@@ -220,6 +231,7 @@ void main() {
...
@@ -220,6 +231,7 @@ void main() {
),
),
),
),
),
),
),
);
);
final
Offset
top
=
tester
.
getRect
(
find
.
byType
(
InkWell
)).
topCenter
;
final
Offset
top
=
tester
.
getRect
(
find
.
byType
(
InkWell
)).
topCenter
;
...
@@ -520,6 +532,7 @@ void main() {
...
@@ -520,6 +532,7 @@ void main() {
Future
<
void
>
buildTest
(
VisualDensity
visualDensity
,
{
bool
useText
=
false
})
async
{
Future
<
void
>
buildTest
(
VisualDensity
visualDensity
,
{
bool
useText
=
false
})
async
{
return
tester
.
pumpWidget
(
return
tester
.
pumpWidget
(
MaterialApp
(
MaterialApp
(
theme:
ThemeData
(
useMaterial3:
false
),
home:
Directionality
(
home:
Directionality
(
textDirection:
TextDirection
.
rtl
,
textDirection:
TextDirection
.
rtl
,
child:
Center
(
child:
Center
(
...
...
packages/flutter/test/material/text_button_test.dart
View file @
c5a81d1b
...
@@ -42,7 +42,7 @@ void main() {
...
@@ -42,7 +42,7 @@ void main() {
expect
(
material
.
clipBehavior
,
Clip
.
none
);
expect
(
material
.
clipBehavior
,
Clip
.
none
);
expect
(
material
.
color
,
Colors
.
transparent
);
expect
(
material
.
color
,
Colors
.
transparent
);
expect
(
material
.
elevation
,
0.0
);
expect
(
material
.
elevation
,
0.0
);
expect
(
material
.
shadowColor
,
material3
?
null
:
const
Color
(
0xff000000
));
expect
(
material
.
shadowColor
,
material3
?
Colors
.
transparent
:
const
Color
(
0xff000000
));
expect
(
material
.
shape
,
material3
expect
(
material
.
shape
,
material3
?
const
StadiumBorder
()
?
const
StadiumBorder
()
:
const
RoundedRectangleBorder
(
borderRadius:
BorderRadius
.
all
(
Radius
.
circular
(
4
))));
:
const
RoundedRectangleBorder
(
borderRadius:
BorderRadius
.
all
(
Radius
.
circular
(
4
))));
...
@@ -77,7 +77,7 @@ void main() {
...
@@ -77,7 +77,7 @@ void main() {
expect
(
material
.
clipBehavior
,
Clip
.
none
);
expect
(
material
.
clipBehavior
,
Clip
.
none
);
expect
(
material
.
color
,
Colors
.
transparent
);
expect
(
material
.
color
,
Colors
.
transparent
);
expect
(
material
.
elevation
,
0.0
);
expect
(
material
.
elevation
,
0.0
);
expect
(
material
.
shadowColor
,
material3
?
null
:
const
Color
(
0xff000000
));
expect
(
material
.
shadowColor
,
material3
?
Colors
.
transparent
:
const
Color
(
0xff000000
));
expect
(
material
.
shape
,
material3
expect
(
material
.
shape
,
material3
?
const
StadiumBorder
()
?
const
StadiumBorder
()
:
const
RoundedRectangleBorder
(
borderRadius:
BorderRadius
.
all
(
Radius
.
circular
(
4
))));
:
const
RoundedRectangleBorder
(
borderRadius:
BorderRadius
.
all
(
Radius
.
circular
(
4
))));
...
@@ -115,7 +115,7 @@ void main() {
...
@@ -115,7 +115,7 @@ void main() {
expect
(
material
.
clipBehavior
,
Clip
.
none
);
expect
(
material
.
clipBehavior
,
Clip
.
none
);
expect
(
material
.
color
,
Colors
.
transparent
);
expect
(
material
.
color
,
Colors
.
transparent
);
expect
(
material
.
elevation
,
0.0
);
expect
(
material
.
elevation
,
0.0
);
expect
(
material
.
shadowColor
,
material3
?
null
:
const
Color
(
0xff000000
));
expect
(
material
.
shadowColor
,
material3
?
Colors
.
transparent
:
const
Color
(
0xff000000
));
expect
(
material
.
shape
,
material3
expect
(
material
.
shape
,
material3
?
const
StadiumBorder
()
?
const
StadiumBorder
()
:
const
RoundedRectangleBorder
(
borderRadius:
BorderRadius
.
all
(
Radius
.
circular
(
4
))));
:
const
RoundedRectangleBorder
(
borderRadius:
BorderRadius
.
all
(
Radius
.
circular
(
4
))));
...
@@ -145,7 +145,7 @@ void main() {
...
@@ -145,7 +145,7 @@ void main() {
expect
(
material
.
clipBehavior
,
Clip
.
none
);
expect
(
material
.
clipBehavior
,
Clip
.
none
);
expect
(
material
.
color
,
Colors
.
transparent
);
expect
(
material
.
color
,
Colors
.
transparent
);
expect
(
material
.
elevation
,
0.0
);
expect
(
material
.
elevation
,
0.0
);
expect
(
material
.
shadowColor
,
material3
?
null
:
const
Color
(
0xff000000
));
expect
(
material
.
shadowColor
,
material3
?
Colors
.
transparent
:
const
Color
(
0xff000000
));
expect
(
material
.
shape
,
material3
expect
(
material
.
shape
,
material3
?
const
StadiumBorder
()
?
const
StadiumBorder
()
:
const
RoundedRectangleBorder
(
borderRadius:
BorderRadius
.
all
(
Radius
.
circular
(
4
))));
:
const
RoundedRectangleBorder
(
borderRadius:
BorderRadius
.
all
(
Radius
.
circular
(
4
))));
...
@@ -580,8 +580,7 @@ void main() {
...
@@ -580,8 +580,7 @@ void main() {
testWidgets
(
'Does TextButton scale with font scale changes'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Does TextButton scale with font scale changes'
,
(
WidgetTester
tester
)
async
{
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Theme
(
Theme
(
// Force Material 2 typography.
data:
ThemeData
(
useMaterial3:
false
),
data:
ThemeData
(
textTheme:
Typography
.
englishLike2014
),
child:
Directionality
(
child:
Directionality
(
textDirection:
TextDirection
.
ltr
,
textDirection:
TextDirection
.
ltr
,
child:
MediaQuery
(
child:
MediaQuery
(
...
@@ -603,8 +602,7 @@ void main() {
...
@@ -603,8 +602,7 @@ void main() {
// textScaleFactor expands text, but not button.
// textScaleFactor expands text, but not button.
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Theme
(
Theme
(
// Force Material 2 typography.
data:
ThemeData
(
useMaterial3:
false
),
data:
ThemeData
(
textTheme:
Typography
.
englishLike2014
),
child:
Directionality
(
child:
Directionality
(
textDirection:
TextDirection
.
ltr
,
textDirection:
TextDirection
.
ltr
,
child:
MediaQuery
(
child:
MediaQuery
(
...
@@ -632,8 +630,7 @@ void main() {
...
@@ -632,8 +630,7 @@ void main() {
// Set text scale large enough to expand text and button.
// Set text scale large enough to expand text and button.
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Theme
(
Theme
(
// Force Material 2 typography.
data:
ThemeData
(
useMaterial3:
false
),
data:
ThemeData
(
textTheme:
Typography
.
englishLike2014
),
child:
Directionality
(
child:
Directionality
(
textDirection:
TextDirection
.
ltr
,
textDirection:
TextDirection
.
ltr
,
child:
MediaQuery
(
child:
MediaQuery
(
...
@@ -656,7 +653,7 @@ void main() {
...
@@ -656,7 +653,7 @@ void main() {
testWidgets
(
'TextButton size is configurable by ThemeData.materialTapTargetSize'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'TextButton size is configurable by ThemeData.materialTapTargetSize'
,
(
WidgetTester
tester
)
async
{
Widget
buildFrame
(
MaterialTapTargetSize
tapTargetSize
,
Key
key
)
{
Widget
buildFrame
(
MaterialTapTargetSize
tapTargetSize
,
Key
key
)
{
return
Theme
(
return
Theme
(
data:
ThemeData
(
materialTapTargetSize:
tapTargetSize
),
data:
ThemeData
(
useMaterial3:
false
,
materialTapTargetSize:
tapTargetSize
),
child:
Directionality
(
child:
Directionality
(
textDirection:
TextDirection
.
ltr
,
textDirection:
TextDirection
.
ltr
,
child:
Center
(
child:
Center
(
...
@@ -925,7 +922,7 @@ void main() {
...
@@ -925,7 +922,7 @@ void main() {
Future
<
void
>
buildTest
(
VisualDensity
visualDensity
,
{
bool
useText
=
false
})
async
{
Future
<
void
>
buildTest
(
VisualDensity
visualDensity
,
{
bool
useText
=
false
})
async
{
return
tester
.
pumpWidget
(
return
tester
.
pumpWidget
(
MaterialApp
(
MaterialApp
(
theme:
ThemeData
(
textTheme:
Typography
.
englishLike2014
),
theme:
ThemeData
(
useMaterial3:
false
),
home:
Directionality
(
home:
Directionality
(
textDirection:
TextDirection
.
rtl
,
textDirection:
TextDirection
.
rtl
,
child:
Center
(
child:
Center
(
...
@@ -1065,10 +1062,8 @@ void main() {
...
@@ -1065,10 +1062,8 @@ void main() {
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
MaterialApp
(
MaterialApp
(
theme:
ThemeData
(
theme:
ThemeData
(
useMaterial3:
false
,
colorScheme:
const
ColorScheme
.
light
(),
colorScheme:
const
ColorScheme
.
light
(),
// Force Material 2 defaults for the typography and size
// default values as the test was designed against these settings.
textTheme:
Typography
.
englishLike2014
,
textButtonTheme:
TextButtonThemeData
(
textButtonTheme:
TextButtonThemeData
(
style:
TextButton
.
styleFrom
(
minimumSize:
const
Size
(
64
,
36
)),
style:
TextButton
.
styleFrom
(
minimumSize:
const
Size
(
64
,
36
)),
),
),
...
@@ -1484,7 +1479,7 @@ void main() {
...
@@ -1484,7 +1479,7 @@ void main() {
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
MaterialApp
(
MaterialApp
(
theme:
ThemeData
(
textTheme:
Typography
.
englishLike2014
),
theme:
ThemeData
(
useMaterial3:
false
),
home:
Scaffold
(
home:
Scaffold
(
body:
Center
(
body:
Center
(
child:
Column
(
child:
Column
(
...
...
packages/flutter/test/material/toggle_buttons_test.dart
View file @
c5a81d1b
...
@@ -17,10 +17,22 @@ import '../widgets/semantics_tester.dart';
...
@@ -17,10 +17,22 @@ import '../widgets/semantics_tester.dart';
const
double
_defaultBorderWidth
=
1.0
;
const
double
_defaultBorderWidth
=
1.0
;
Widget
boilerplate
(
{
required
Widget
child
})
{
Widget
boilerplate
(
{
return
Directionality
(
bool
?
useMaterial3
,
MaterialTapTargetSize
?
tapTargetSize
,
required
Widget
child
,
})
{
return
Theme
(
data:
ThemeData
(
useMaterial3:
useMaterial3
,
materialTapTargetSize:
tapTargetSize
,
),
child:
Directionality
(
textDirection:
TextDirection
.
ltr
,
textDirection:
TextDirection
.
ltr
,
child:
Center
(
child:
child
),
child:
Center
(
child:
Material
(
child:
child
),
),
),
);
);
}
}
...
@@ -34,8 +46,7 @@ void main() {
...
@@ -34,8 +46,7 @@ void main() {
}
}
final
ThemeData
theme
=
ThemeData
();
final
ThemeData
theme
=
ThemeData
();
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
onPressed:
(
int
index
)
{},
onPressed:
(
int
index
)
{},
isSelected:
const
<
bool
>[
false
,
true
],
isSelected:
const
<
bool
>[
false
,
true
],
...
@@ -45,7 +56,6 @@ void main() {
...
@@ -45,7 +56,6 @@ void main() {
],
],
),
),
),
),
),
);
);
expect
(
expect
(
...
@@ -70,8 +80,7 @@ void main() {
...
@@ -70,8 +80,7 @@ void main() {
final
List
<
bool
>
isSelected
=
<
bool
>[
false
,
true
];
final
List
<
bool
>
isSelected
=
<
bool
>[
false
,
true
];
final
ThemeData
theme
=
ThemeData
();
final
ThemeData
theme
=
ThemeData
();
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
StatefulBuilder
(
child:
StatefulBuilder
(
builder:
(
BuildContext
context
,
StateSetter
setState
)
{
builder:
(
BuildContext
context
,
StateSetter
setState
)
{
return
boilerplate
(
return
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
...
@@ -89,7 +98,6 @@ void main() {
...
@@ -89,7 +98,6 @@ void main() {
);
);
},
},
),
),
),
);
);
expect
(
isSelected
[
0
],
isFalse
);
expect
(
isSelected
[
0
],
isFalse
);
...
@@ -132,8 +140,7 @@ void main() {
...
@@ -132,8 +140,7 @@ void main() {
final
ThemeData
theme
=
ThemeData
();
final
ThemeData
theme
=
ThemeData
();
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
isSelected:
isSelected
,
isSelected:
isSelected
,
children:
const
<
Widget
>[
children:
const
<
Widget
>[
...
@@ -142,7 +149,6 @@ void main() {
...
@@ -142,7 +149,6 @@ void main() {
],
],
),
),
),
),
),
);
);
expect
(
isSelected
[
0
],
isFalse
);
expect
(
isSelected
[
0
],
isFalse
);
...
@@ -178,8 +184,7 @@ void main() {
...
@@ -178,8 +184,7 @@ void main() {
(
WidgetTester
tester
)
async
{
(
WidgetTester
tester
)
async
{
await
expectLater
(
await
expectLater
(
()
=>
tester
.
pumpWidget
(
()
=>
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
isSelected:
const
<
bool
>[
false
],
isSelected:
const
<
bool
>[
false
],
children:
const
<
Widget
>[
children:
const
<
Widget
>[
...
@@ -189,7 +194,6 @@ void main() {
...
@@ -189,7 +194,6 @@ void main() {
),
),
),
),
),
),
),
throwsA
(
isAssertionError
.
having
(
throwsA
(
isAssertionError
.
having
(
(
AssertionError
error
)
=>
error
.
toString
(),
(
AssertionError
error
)
=>
error
.
toString
(),
'.toString()'
,
'.toString()'
,
...
@@ -205,8 +209,7 @@ void main() {
...
@@ -205,8 +209,7 @@ void main() {
testWidgets
(
'Default text style is applied'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Default text style is applied'
,
(
WidgetTester
tester
)
async
{
final
ThemeData
theme
=
ThemeData
();
final
ThemeData
theme
=
ThemeData
();
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
isSelected:
const
<
bool
>[
false
,
true
],
isSelected:
const
<
bool
>[
false
,
true
],
onPressed:
(
int
index
)
{},
onPressed:
(
int
index
)
{},
...
@@ -216,7 +219,6 @@ void main() {
...
@@ -216,7 +219,6 @@ void main() {
],
],
),
),
),
),
),
);
);
TextStyle
textStyle
;
TextStyle
textStyle
;
...
@@ -237,8 +239,7 @@ void main() {
...
@@ -237,8 +239,7 @@ void main() {
testWidgets
(
'Custom text style except color is applied'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Custom text style except color is applied'
,
(
WidgetTester
tester
)
async
{
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
isSelected:
const
<
bool
>[
false
,
true
],
isSelected:
const
<
bool
>[
false
,
true
],
onPressed:
(
int
index
)
{},
onPressed:
(
int
index
)
{},
...
@@ -253,7 +254,6 @@ void main() {
...
@@ -253,7 +254,6 @@ void main() {
],
],
),
),
),
),
),
);
);
TextStyle
textStyle
;
TextStyle
textStyle
;
...
@@ -276,8 +276,7 @@ void main() {
...
@@ -276,8 +276,7 @@ void main() {
testWidgets
(
'Default BoxConstraints'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Default BoxConstraints'
,
(
WidgetTester
tester
)
async
{
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
isSelected:
const
<
bool
>[
false
,
false
,
false
],
isSelected:
const
<
bool
>[
false
,
false
,
false
],
onPressed:
(
int
index
)
{},
onPressed:
(
int
index
)
{},
...
@@ -288,7 +287,6 @@ void main() {
...
@@ -288,7 +287,6 @@ void main() {
],
],
),
),
),
),
),
);
);
final
Rect
firstRect
=
tester
.
getRect
(
find
.
byType
(
TextButton
).
at
(
0
));
final
Rect
firstRect
=
tester
.
getRect
(
find
.
byType
(
TextButton
).
at
(
0
));
...
@@ -305,8 +303,7 @@ void main() {
...
@@ -305,8 +303,7 @@ void main() {
testWidgets
(
'Custom BoxConstraints'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Custom BoxConstraints'
,
(
WidgetTester
tester
)
async
{
// Test for minimum constraints
// Test for minimum constraints
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
constraints:
const
BoxConstraints
(
constraints:
const
BoxConstraints
(
minWidth:
50.0
,
minWidth:
50.0
,
...
@@ -321,7 +318,6 @@ void main() {
...
@@ -321,7 +318,6 @@ void main() {
],
],
),
),
),
),
),
);
);
Rect
firstRect
=
tester
.
getRect
(
find
.
byType
(
TextButton
).
at
(
0
));
Rect
firstRect
=
tester
.
getRect
(
find
.
byType
(
TextButton
).
at
(
0
));
...
@@ -336,8 +332,7 @@ void main() {
...
@@ -336,8 +332,7 @@ void main() {
// Test for maximum constraints
// Test for maximum constraints
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
tapTargetSize:
MaterialTapTargetSize
.
shrinkWrap
,
tapTargetSize:
MaterialTapTargetSize
.
shrinkWrap
,
constraints:
const
BoxConstraints
(
constraints:
const
BoxConstraints
(
...
@@ -353,7 +348,6 @@ void main() {
...
@@ -353,7 +348,6 @@ void main() {
],
],
),
),
),
),
),
);
);
firstRect
=
tester
.
getRect
(
find
.
byType
(
TextButton
).
at
(
0
));
firstRect
=
tester
.
getRect
(
find
.
byType
(
TextButton
).
at
(
0
));
...
@@ -384,8 +378,7 @@ void main() {
...
@@ -384,8 +378,7 @@ void main() {
}
}
final
ThemeData
theme
=
ThemeData
();
final
ThemeData
theme
=
ThemeData
();
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
isSelected:
const
<
bool
>[
false
],
isSelected:
const
<
bool
>[
false
],
onPressed:
(
int
index
)
{},
onPressed:
(
int
index
)
{},
...
@@ -397,7 +390,6 @@ void main() {
...
@@ -397,7 +390,6 @@ void main() {
],
],
),
),
),
),
),
);
);
// Default enabled color
// Default enabled color
...
@@ -411,8 +403,7 @@ void main() {
...
@@ -411,8 +403,7 @@ void main() {
);
);
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
isSelected:
const
<
bool
>[
true
],
isSelected:
const
<
bool
>[
true
],
onPressed:
(
int
index
)
{},
onPressed:
(
int
index
)
{},
...
@@ -424,7 +415,6 @@ void main() {
...
@@ -424,7 +415,6 @@ void main() {
],
],
),
),
),
),
),
);
);
await
tester
.
pumpAndSettle
();
await
tester
.
pumpAndSettle
();
// Default selected color
// Default selected color
...
@@ -438,8 +428,7 @@ void main() {
...
@@ -438,8 +428,7 @@ void main() {
);
);
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
isSelected:
const
<
bool
>[
true
],
isSelected:
const
<
bool
>[
true
],
children:
const
<
Widget
>[
children:
const
<
Widget
>[
...
@@ -450,7 +439,6 @@ void main() {
...
@@ -450,7 +439,6 @@ void main() {
],
],
),
),
),
),
),
);
);
await
tester
.
pumpAndSettle
();
await
tester
.
pumpAndSettle
();
// Default disabled color
// Default disabled color
...
@@ -491,8 +479,7 @@ void main() {
...
@@ -491,8 +479,7 @@ void main() {
expect
(
theme
.
colorScheme
.
onSurface
.
withOpacity
(
0.38
),
isNot
(
disabledColor
));
expect
(
theme
.
colorScheme
.
onSurface
.
withOpacity
(
0.38
),
isNot
(
disabledColor
));
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
color:
enabledColor
,
color:
enabledColor
,
isSelected:
const
<
bool
>[
false
],
isSelected:
const
<
bool
>[
false
],
...
@@ -505,7 +492,6 @@ void main() {
...
@@ -505,7 +492,6 @@ void main() {
],
],
),
),
),
),
),
);
);
// Custom enabled color
// Custom enabled color
...
@@ -513,8 +499,7 @@ void main() {
...
@@ -513,8 +499,7 @@ void main() {
expect
(
iconTheme
(
Icons
.
check
).
data
.
color
,
enabledColor
);
expect
(
iconTheme
(
Icons
.
check
).
data
.
color
,
enabledColor
);
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
selectedColor:
selectedColor
,
selectedColor:
selectedColor
,
isSelected:
const
<
bool
>[
true
],
isSelected:
const
<
bool
>[
true
],
...
@@ -527,7 +512,6 @@ void main() {
...
@@ -527,7 +512,6 @@ void main() {
],
],
),
),
),
),
),
);
);
await
tester
.
pumpAndSettle
();
await
tester
.
pumpAndSettle
();
// Custom selected color
// Custom selected color
...
@@ -535,8 +519,7 @@ void main() {
...
@@ -535,8 +519,7 @@ void main() {
expect
(
iconTheme
(
Icons
.
check
).
data
.
color
,
selectedColor
);
expect
(
iconTheme
(
Icons
.
check
).
data
.
color
,
selectedColor
);
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
disabledColor:
disabledColor
,
disabledColor:
disabledColor
,
isSelected:
const
<
bool
>[
true
],
isSelected:
const
<
bool
>[
true
],
...
@@ -548,7 +531,6 @@ void main() {
...
@@ -548,7 +531,6 @@ void main() {
],
],
),
),
),
),
),
);
);
await
tester
.
pumpAndSettle
();
await
tester
.
pumpAndSettle
();
// Custom disabled color
// Custom disabled color
...
@@ -560,8 +542,7 @@ void main() {
...
@@ -560,8 +542,7 @@ void main() {
testWidgets
(
'Default button fillColor - unselected'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Default button fillColor - unselected'
,
(
WidgetTester
tester
)
async
{
final
ThemeData
theme
=
ThemeData
();
final
ThemeData
theme
=
ThemeData
();
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
isSelected:
const
<
bool
>[
false
],
isSelected:
const
<
bool
>[
false
],
onPressed:
(
int
index
)
{},
onPressed:
(
int
index
)
{},
...
@@ -572,7 +553,6 @@ void main() {
...
@@ -572,7 +553,6 @@ void main() {
],
],
),
),
),
),
),
);
);
final
Material
material
=
tester
.
widget
<
Material
>(
find
.
descendant
(
final
Material
material
=
tester
.
widget
<
Material
>(
find
.
descendant
(
...
@@ -589,8 +569,7 @@ void main() {
...
@@ -589,8 +569,7 @@ void main() {
testWidgets
(
'Default button fillColor - selected'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Default button fillColor - selected'
,
(
WidgetTester
tester
)
async
{
final
ThemeData
theme
=
ThemeData
();
final
ThemeData
theme
=
ThemeData
();
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
isSelected:
const
<
bool
>[
true
],
isSelected:
const
<
bool
>[
true
],
onPressed:
(
int
index
)
{},
onPressed:
(
int
index
)
{},
...
@@ -601,7 +580,6 @@ void main() {
...
@@ -601,7 +580,6 @@ void main() {
],
],
),
),
),
),
),
);
);
final
Material
material
=
tester
.
widget
<
Material
>(
find
.
descendant
(
final
Material
material
=
tester
.
widget
<
Material
>(
find
.
descendant
(
...
@@ -618,8 +596,7 @@ void main() {
...
@@ -618,8 +596,7 @@ void main() {
testWidgets
(
'Default button fillColor - disabled'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Default button fillColor - disabled'
,
(
WidgetTester
tester
)
async
{
final
ThemeData
theme
=
ThemeData
();
final
ThemeData
theme
=
ThemeData
();
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
isSelected:
const
<
bool
>[
true
],
isSelected:
const
<
bool
>[
true
],
children:
const
<
Widget
>[
children:
const
<
Widget
>[
...
@@ -629,7 +606,6 @@ void main() {
...
@@ -629,7 +606,6 @@ void main() {
],
],
),
),
),
),
),
);
);
final
Material
material
=
tester
.
widget
<
Material
>(
find
.
descendant
(
final
Material
material
=
tester
.
widget
<
Material
>(
find
.
descendant
(
...
@@ -646,8 +622,7 @@ void main() {
...
@@ -646,8 +622,7 @@ void main() {
testWidgets
(
'Custom button fillColor'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Custom button fillColor'
,
(
WidgetTester
tester
)
async
{
const
Color
customFillColor
=
Colors
.
green
;
const
Color
customFillColor
=
Colors
.
green
;
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
fillColor:
customFillColor
,
fillColor:
customFillColor
,
isSelected:
const
<
bool
>[
true
],
isSelected:
const
<
bool
>[
true
],
...
@@ -659,7 +634,6 @@ void main() {
...
@@ -659,7 +634,6 @@ void main() {
],
],
),
),
),
),
),
);
);
final
Material
material
=
tester
.
widget
<
Material
>(
find
.
descendant
(
final
Material
material
=
tester
.
widget
<
Material
>(
find
.
descendant
(
...
@@ -684,8 +658,7 @@ void main() {
...
@@ -684,8 +658,7 @@ void main() {
const
Color
selectedFillColor
=
Colors
.
yellow
;
const
Color
selectedFillColor
=
Colors
.
yellow
;
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
fillColor:
selectedFillColor
,
fillColor:
selectedFillColor
,
isSelected:
const
<
bool
>[
false
,
true
],
isSelected:
const
<
bool
>[
false
,
true
],
...
@@ -696,7 +669,6 @@ void main() {
...
@@ -696,7 +669,6 @@ void main() {
],
],
),
),
),
),
),
);
);
await
tester
.
pumpAndSettle
();
await
tester
.
pumpAndSettle
();
...
@@ -705,8 +677,7 @@ void main() {
...
@@ -705,8 +677,7 @@ void main() {
expect
(
buttonColor
(
'Second child'
).
color
,
selectedFillColor
);
expect
(
buttonColor
(
'Second child'
).
color
,
selectedFillColor
);
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
fillColor:
selectedFillColor
,
fillColor:
selectedFillColor
,
isSelected:
const
<
bool
>[
false
,
true
],
isSelected:
const
<
bool
>[
false
,
true
],
...
@@ -716,7 +687,6 @@ void main() {
...
@@ -716,7 +687,6 @@ void main() {
],
],
),
),
),
),
),
);
);
await
tester
.
pumpAndSettle
();
await
tester
.
pumpAndSettle
();
...
@@ -746,8 +716,7 @@ void main() {
...
@@ -746,8 +716,7 @@ void main() {
}
}
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
fillColor:
MaterialStateColor
.
resolveWith
(
getFillColor
),
fillColor:
MaterialStateColor
.
resolveWith
(
getFillColor
),
isSelected:
const
<
bool
>[
false
,
true
],
isSelected:
const
<
bool
>[
false
,
true
],
...
@@ -758,7 +727,6 @@ void main() {
...
@@ -758,7 +727,6 @@ void main() {
],
],
),
),
),
),
),
);
);
await
tester
.
pumpAndSettle
();
await
tester
.
pumpAndSettle
();
...
@@ -768,8 +736,7 @@ void main() {
...
@@ -768,8 +736,7 @@ void main() {
// disabled
// disabled
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
fillColor:
MaterialStateColor
.
resolveWith
(
getFillColor
),
fillColor:
MaterialStateColor
.
resolveWith
(
getFillColor
),
isSelected:
const
<
bool
>[
false
,
true
],
isSelected:
const
<
bool
>[
false
,
true
],
...
@@ -779,7 +746,6 @@ void main() {
...
@@ -779,7 +746,6 @@ void main() {
],
],
),
),
),
),
),
);
);
await
tester
.
pumpAndSettle
();
await
tester
.
pumpAndSettle
();
...
@@ -792,8 +758,7 @@ void main() {
...
@@ -792,8 +758,7 @@ void main() {
final
ThemeData
theme
=
ThemeData
();
final
ThemeData
theme
=
ThemeData
();
final
FocusNode
focusNode
=
FocusNode
();
final
FocusNode
focusNode
=
FocusNode
();
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
isSelected:
const
<
bool
>[
false
],
isSelected:
const
<
bool
>[
false
],
onPressed:
(
int
index
)
{},
onPressed:
(
int
index
)
{},
...
@@ -803,7 +768,6 @@ void main() {
...
@@ -803,7 +768,6 @@ void main() {
],
],
),
),
),
),
),
);
);
final
Offset
center
=
tester
.
getCenter
(
find
.
text
(
'First child'
));
final
Offset
center
=
tester
.
getCenter
(
find
.
text
(
'First child'
));
...
@@ -859,8 +823,7 @@ void main() {
...
@@ -859,8 +823,7 @@ void main() {
final
ThemeData
theme
=
ThemeData
();
final
ThemeData
theme
=
ThemeData
();
final
FocusNode
focusNode
=
FocusNode
();
final
FocusNode
focusNode
=
FocusNode
();
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
isSelected:
const
<
bool
>[
true
],
isSelected:
const
<
bool
>[
true
],
onPressed:
(
int
index
)
{},
onPressed:
(
int
index
)
{},
...
@@ -870,7 +833,6 @@ void main() {
...
@@ -870,7 +833,6 @@ void main() {
],
],
),
),
),
),
),
);
);
final
Offset
center
=
tester
.
getCenter
(
find
.
text
(
'First child'
));
final
Offset
center
=
tester
.
getCenter
(
find
.
text
(
'First child'
));
...
@@ -930,8 +892,7 @@ void main() {
...
@@ -930,8 +892,7 @@ void main() {
final
FocusNode
focusNode
=
FocusNode
();
final
FocusNode
focusNode
=
FocusNode
();
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
splashColor:
splashColor
,
splashColor:
splashColor
,
highlightColor:
highlightColor
,
highlightColor:
highlightColor
,
...
@@ -945,7 +906,6 @@ void main() {
...
@@ -945,7 +906,6 @@ void main() {
],
],
),
),
),
),
),
);
);
final
Offset
center
=
tester
.
getCenter
(
find
.
text
(
'First child'
));
final
Offset
center
=
tester
.
getCenter
(
find
.
text
(
'First child'
));
...
@@ -999,8 +959,7 @@ void main() {
...
@@ -999,8 +959,7 @@ void main() {
final
ThemeData
theme
=
ThemeData
();
final
ThemeData
theme
=
ThemeData
();
const
double
defaultBorderWidth
=
1.0
;
const
double
defaultBorderWidth
=
1.0
;
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
isSelected:
const
<
bool
>[
false
],
isSelected:
const
<
bool
>[
false
],
onPressed:
(
int
index
)
{},
onPressed:
(
int
index
)
{},
...
@@ -1009,7 +968,6 @@ void main() {
...
@@ -1009,7 +968,6 @@ void main() {
],
],
),
),
),
),
),
);
);
RenderObject
toggleButtonRenderObject
;
RenderObject
toggleButtonRenderObject
;
...
@@ -1029,8 +987,7 @@ void main() {
...
@@ -1029,8 +987,7 @@ void main() {
);
);
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
isSelected:
const
<
bool
>[
true
],
isSelected:
const
<
bool
>[
true
],
onPressed:
(
int
index
)
{},
onPressed:
(
int
index
)
{},
...
@@ -1039,7 +996,6 @@ void main() {
...
@@ -1039,7 +996,6 @@ void main() {
],
],
),
),
),
),
),
);
);
toggleButtonRenderObject
=
tester
.
allRenderObjects
.
firstWhere
((
RenderObject
object
)
{
toggleButtonRenderObject
=
tester
.
allRenderObjects
.
firstWhere
((
RenderObject
object
)
{
...
@@ -1058,8 +1014,7 @@ void main() {
...
@@ -1058,8 +1014,7 @@ void main() {
);
);
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
isSelected:
const
<
bool
>[
false
],
isSelected:
const
<
bool
>[
false
],
children:
const
<
Widget
>[
children:
const
<
Widget
>[
...
@@ -1067,7 +1022,6 @@ void main() {
...
@@ -1067,7 +1022,6 @@ void main() {
],
],
),
),
),
),
),
);
);
toggleButtonRenderObject
=
tester
.
allRenderObjects
.
firstWhere
((
RenderObject
object
)
{
toggleButtonRenderObject
=
tester
.
allRenderObjects
.
firstWhere
((
RenderObject
object
)
{
...
@@ -1096,8 +1050,7 @@ void main() {
...
@@ -1096,8 +1050,7 @@ void main() {
const
double
customWidth
=
2.0
;
const
double
customWidth
=
2.0
;
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
borderColor:
borderColor
,
borderColor:
borderColor
,
borderWidth:
customWidth
,
borderWidth:
customWidth
,
...
@@ -1108,7 +1061,6 @@ void main() {
...
@@ -1108,7 +1061,6 @@ void main() {
],
],
),
),
),
),
),
);
);
RenderObject
toggleButtonRenderObject
;
RenderObject
toggleButtonRenderObject
;
...
@@ -1128,8 +1080,7 @@ void main() {
...
@@ -1128,8 +1080,7 @@ void main() {
);
);
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
selectedBorderColor:
selectedBorderColor
,
selectedBorderColor:
selectedBorderColor
,
borderWidth:
customWidth
,
borderWidth:
customWidth
,
...
@@ -1140,7 +1091,6 @@ void main() {
...
@@ -1140,7 +1091,6 @@ void main() {
],
],
),
),
),
),
),
);
);
toggleButtonRenderObject
=
tester
.
allRenderObjects
.
firstWhere
((
RenderObject
object
)
{
toggleButtonRenderObject
=
tester
.
allRenderObjects
.
firstWhere
((
RenderObject
object
)
{
...
@@ -1159,8 +1109,7 @@ void main() {
...
@@ -1159,8 +1109,7 @@ void main() {
);
);
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
disabledBorderColor:
disabledBorderColor
,
disabledBorderColor:
disabledBorderColor
,
borderWidth:
customWidth
,
borderWidth:
customWidth
,
...
@@ -1170,7 +1119,6 @@ void main() {
...
@@ -1170,7 +1119,6 @@ void main() {
],
],
),
),
),
),
),
);
);
toggleButtonRenderObject
=
tester
.
allRenderObjects
.
firstWhere
((
RenderObject
object
)
{
toggleButtonRenderObject
=
tester
.
allRenderObjects
.
firstWhere
((
RenderObject
object
)
{
...
@@ -1204,14 +1152,12 @@ void main() {
...
@@ -1204,14 +1152,12 @@ void main() {
];
];
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
isSelected:
const
<
bool
>[
false
,
true
,
false
],
isSelected:
const
<
bool
>[
false
,
true
,
false
],
children:
children
,
children:
children
,
),
),
),
),
),
);
);
final
List
<
Widget
>
toggleButtons
=
tester
.
allWidgets
.
where
((
Widget
widget
)
{
final
List
<
Widget
>
toggleButtons
=
tester
.
allWidgets
.
where
((
Widget
widget
)
{
...
@@ -1247,14 +1193,12 @@ void main() {
...
@@ -1247,14 +1193,12 @@ void main() {
];
];
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
isSelected:
const
<
bool
>[
false
,
true
,
false
],
isSelected:
const
<
bool
>[
false
,
true
,
false
],
children:
children
,
children:
children
,
),
),
),
),
),
);
);
List
<
Widget
>
toggleButtons
;
List
<
Widget
>
toggleButtons
;
...
@@ -1299,15 +1243,13 @@ void main() {
...
@@ -1299,15 +1243,13 @@ void main() {
// Update border width and widget sized to verify layout updates correctly
// Update border width and widget sized to verify layout updates correctly
const
double
customBorderWidth
=
5.0
;
const
double
customBorderWidth
=
5.0
;
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
borderWidth:
customBorderWidth
,
borderWidth:
customBorderWidth
,
isSelected:
const
<
bool
>[
false
,
true
,
false
],
isSelected:
const
<
bool
>[
false
,
true
,
false
],
children:
childrenRebuilt
,
children:
childrenRebuilt
,
),
),
),
),
),
);
);
toggleButtons
=
tester
.
allWidgets
.
where
((
Widget
widget
)
{
toggleButtons
=
tester
.
allWidgets
.
where
((
Widget
widget
)
{
...
@@ -1331,8 +1273,8 @@ void main() {
...
@@ -1331,8 +1273,8 @@ void main() {
// The point size of the fonts must be a multiple of 4 until
// The point size of the fonts must be a multiple of 4 until
// https://github.com/flutter/flutter/issues/122066 is resolved.
// https://github.com/flutter/flutter/issues/122066 is resolved.
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
useMaterial3:
false
,
child:
Row
(
child:
Row
(
crossAxisAlignment:
CrossAxisAlignment
.
baseline
,
crossAxisAlignment:
CrossAxisAlignment
.
baseline
,
textBaseline:
TextBaseline
.
alphabetic
,
textBaseline:
TextBaseline
.
alphabetic
,
...
@@ -1357,7 +1299,6 @@ void main() {
...
@@ -1357,7 +1299,6 @@ void main() {
],
],
),
),
),
),
),
);
);
// The test font extends 0.25 * fontSize below the baseline.
// The test font extends 0.25 * fontSize below the baseline.
...
@@ -1431,8 +1372,7 @@ void main() {
...
@@ -1431,8 +1372,7 @@ void main() {
(
WidgetTester
tester
)
async
{
(
WidgetTester
tester
)
async
{
final
ThemeData
theme
=
ThemeData
();
final
ThemeData
theme
=
ThemeData
();
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
isSelected:
const
<
bool
>[
false
,
true
,
false
],
isSelected:
const
<
bool
>[
false
,
true
,
false
],
onPressed:
(
int
index
)
{},
onPressed:
(
int
index
)
{},
...
@@ -1443,7 +1383,6 @@ void main() {
...
@@ -1443,7 +1383,6 @@ void main() {
],
],
),
),
),
),
),
);
);
final
List
<
RenderObject
>
toggleButtonRenderObject
=
tester
.
allRenderObjects
.
where
((
RenderObject
object
)
{
final
List
<
RenderObject
>
toggleButtonRenderObject
=
tester
.
allRenderObjects
.
where
((
RenderObject
object
)
{
...
@@ -1513,8 +1452,7 @@ void main() {
...
@@ -1513,8 +1452,7 @@ void main() {
(
WidgetTester
tester
)
async
{
(
WidgetTester
tester
)
async
{
final
ThemeData
theme
=
ThemeData
();
final
ThemeData
theme
=
ThemeData
();
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
direction:
Axis
.
vertical
,
direction:
Axis
.
vertical
,
isSelected:
const
<
bool
>[
false
,
true
,
false
],
isSelected:
const
<
bool
>[
false
,
true
,
false
],
...
@@ -1526,7 +1464,6 @@ void main() {
...
@@ -1526,7 +1464,6 @@ void main() {
],
],
),
),
),
),
),
);
);
// The children should be laid out along vertical and the first child at top.
// The children should be laid out along vertical and the first child at top.
...
@@ -1601,8 +1538,7 @@ void main() {
...
@@ -1601,8 +1538,7 @@ void main() {
'VerticalDirection test when direction is vertical.'
,
'VerticalDirection test when direction is vertical.'
,
(
WidgetTester
tester
)
async
{
(
WidgetTester
tester
)
async
{
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
direction:
Axis
.
vertical
,
direction:
Axis
.
vertical
,
verticalDirection:
VerticalDirection
.
up
,
verticalDirection:
VerticalDirection
.
up
,
...
@@ -1615,7 +1551,6 @@ void main() {
...
@@ -1615,7 +1551,6 @@ void main() {
],
],
),
),
),
),
),
);
);
// The children should be laid out along vertical and the last child at top.
// The children should be laid out along vertical and the last child at top.
...
@@ -1627,10 +1562,9 @@ void main() {
...
@@ -1627,10 +1562,9 @@ void main() {
testWidgets
(
'Tap target size is configurable by ThemeData.materialTapTargetSize'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Tap target size is configurable by ThemeData.materialTapTargetSize'
,
(
WidgetTester
tester
)
async
{
Widget
buildFrame
(
MaterialTapTargetSize
tapTargetSize
,
Key
key
)
{
Widget
buildFrame
(
MaterialTapTargetSize
tapTargetSize
,
Key
key
)
{
return
Theme
(
return
boilerplate
(
data:
ThemeData
(
materialTapTargetSize:
tapTargetSize
),
useMaterial3:
false
,
child:
Material
(
tapTargetSize:
tapTargetSize
,
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
key:
key
,
key:
key
,
constraints:
const
BoxConstraints
(
minWidth:
32.0
,
minHeight:
32.0
),
constraints:
const
BoxConstraints
(
minWidth:
32.0
,
minHeight:
32.0
),
...
@@ -1642,8 +1576,6 @@ void main() {
...
@@ -1642,8 +1576,6 @@ void main() {
Text
(
'Third'
),
Text
(
'Third'
),
],
],
),
),
),
),
);
);
}
}
...
@@ -1658,8 +1590,8 @@ void main() {
...
@@ -1658,8 +1590,8 @@ void main() {
testWidgets
(
'Tap target size is configurable'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Tap target size is configurable'
,
(
WidgetTester
tester
)
async
{
Widget
buildFrame
(
MaterialTapTargetSize
tapTargetSize
,
Key
key
)
{
Widget
buildFrame
(
MaterialTapTargetSize
tapTargetSize
,
Key
key
)
{
return
Material
(
return
boilerplate
(
child:
boilerplate
(
useMaterial3:
false
,
child:
ToggleButtons
(
child:
ToggleButtons
(
key:
key
,
key:
key
,
tapTargetSize:
tapTargetSize
,
tapTargetSize:
tapTargetSize
,
...
@@ -1672,7 +1604,6 @@ void main() {
...
@@ -1672,7 +1604,6 @@ void main() {
Text
(
'Third'
),
Text
(
'Third'
),
],
],
),
),
),
);
);
}
}
...
@@ -1687,8 +1618,7 @@ void main() {
...
@@ -1687,8 +1618,7 @@ void main() {
testWidgets
(
'Tap target size is configurable for vertical axis'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Tap target size is configurable for vertical axis'
,
(
WidgetTester
tester
)
async
{
Widget
buildFrame
(
MaterialTapTargetSize
tapTargetSize
,
Key
key
)
{
Widget
buildFrame
(
MaterialTapTargetSize
tapTargetSize
,
Key
key
)
{
return
Material
(
return
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
key:
key
,
key:
key
,
tapTargetSize:
tapTargetSize
,
tapTargetSize:
tapTargetSize
,
...
@@ -1702,7 +1632,6 @@ void main() {
...
@@ -1702,7 +1632,6 @@ void main() {
Text
(
'3'
),
Text
(
'3'
),
],
],
),
),
),
);
);
}
}
...
@@ -1717,10 +1646,10 @@ void main() {
...
@@ -1717,10 +1646,10 @@ void main() {
// Regression test for https://github.com/flutter/flutter/issues/73725
// Regression test for https://github.com/flutter/flutter/issues/73725
testWidgets
(
'Border radius paint test when there is only one button'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Border radius paint test when there is only one button'
,
(
WidgetTester
tester
)
async
{
final
ThemeData
theme
=
ThemeData
();
final
ThemeData
theme
=
ThemeData
(
useMaterial3:
false
);
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
useMaterial3:
false
,
child:
RepaintBoundary
(
child:
RepaintBoundary
(
child:
ToggleButtons
(
child:
ToggleButtons
(
borderRadius:
const
BorderRadius
.
all
(
Radius
.
circular
(
7.0
)),
borderRadius:
const
BorderRadius
.
all
(
Radius
.
circular
(
7.0
)),
...
@@ -1732,7 +1661,6 @@ void main() {
...
@@ -1732,7 +1661,6 @@ void main() {
),
),
),
),
),
),
),
);
);
// The only button should be laid out at the center of the screen.
// The only button should be laid out at the center of the screen.
...
@@ -1764,8 +1692,8 @@ void main() {
...
@@ -1764,8 +1692,8 @@ void main() {
testWidgets
(
'Border radius paint test when Radius.x or Radius.y equal 0.0'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Border radius paint test when Radius.x or Radius.y equal 0.0'
,
(
WidgetTester
tester
)
async
{
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
useMaterial3:
false
,
child:
RepaintBoundary
(
child:
RepaintBoundary
(
child:
ToggleButtons
(
child:
ToggleButtons
(
borderRadius:
const
BorderRadius
.
only
(
borderRadius:
const
BorderRadius
.
only
(
...
@@ -1782,7 +1710,6 @@ void main() {
...
@@ -1782,7 +1710,6 @@ void main() {
),
),
),
),
),
),
),
);
);
await
expectLater
(
await
expectLater
(
...
@@ -1831,8 +1758,7 @@ void main() {
...
@@ -1831,8 +1758,7 @@ void main() {
testWidgets
(
'ToggleButtons changes mouse cursor when the button is hovered'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'ToggleButtons changes mouse cursor when the button is hovered'
,
(
WidgetTester
tester
)
async
{
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
MouseRegion
(
child:
MouseRegion
(
cursor:
SystemMouseCursors
.
forbidden
,
cursor:
SystemMouseCursors
.
forbidden
,
child:
ToggleButtons
(
child:
ToggleButtons
(
...
@@ -1846,7 +1772,6 @@ void main() {
...
@@ -1846,7 +1772,6 @@ void main() {
),
),
),
),
),
),
),
);
);
final
TestGesture
gesture
=
await
tester
.
createGesture
(
kind:
PointerDeviceKind
.
mouse
,
pointer:
1
);
final
TestGesture
gesture
=
await
tester
.
createGesture
(
kind:
PointerDeviceKind
.
mouse
,
pointer:
1
);
...
@@ -1858,8 +1783,7 @@ void main() {
...
@@ -1858,8 +1783,7 @@ void main() {
// Test default cursor
// Test default cursor
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
MouseRegion
(
child:
MouseRegion
(
cursor:
SystemMouseCursors
.
forbidden
,
cursor:
SystemMouseCursors
.
forbidden
,
child:
ToggleButtons
(
child:
ToggleButtons
(
...
@@ -1872,15 +1796,13 @@ void main() {
...
@@ -1872,15 +1796,13 @@ void main() {
),
),
),
),
),
),
),
);
);
expect
(
RendererBinding
.
instance
.
mouseTracker
.
debugDeviceActiveCursor
(
1
),
SystemMouseCursors
.
click
);
expect
(
RendererBinding
.
instance
.
mouseTracker
.
debugDeviceActiveCursor
(
1
),
SystemMouseCursors
.
click
);
// Test default cursor when disabled
// Test default cursor when disabled
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
MouseRegion
(
child:
MouseRegion
(
cursor:
SystemMouseCursors
.
forbidden
,
cursor:
SystemMouseCursors
.
forbidden
,
child:
ToggleButtons
(
child:
ToggleButtons
(
...
@@ -1892,7 +1814,6 @@ void main() {
...
@@ -1892,7 +1814,6 @@ void main() {
),
),
),
),
),
),
),
);
);
expect
(
RendererBinding
.
instance
.
mouseTracker
.
debugDeviceActiveCursor
(
1
),
SystemMouseCursors
.
basic
);
expect
(
RendererBinding
.
instance
.
mouseTracker
.
debugDeviceActiveCursor
(
1
),
SystemMouseCursors
.
basic
);
...
@@ -1901,8 +1822,7 @@ void main() {
...
@@ -1901,8 +1822,7 @@ void main() {
testWidgets
(
'ToggleButtons focus, hover, and highlight elevations are 0'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'ToggleButtons focus, hover, and highlight elevations are 0'
,
(
WidgetTester
tester
)
async
{
final
List
<
FocusNode
>
focusNodes
=
<
FocusNode
>[
FocusNode
(),
FocusNode
()];
final
List
<
FocusNode
>
focusNodes
=
<
FocusNode
>[
FocusNode
(),
FocusNode
()];
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
isSelected:
const
<
bool
>[
true
,
false
],
isSelected:
const
<
bool
>[
true
,
false
],
onPressed:
(
int
index
)
{
},
onPressed:
(
int
index
)
{
},
...
@@ -1910,7 +1830,6 @@ void main() {
...
@@ -1910,7 +1830,6 @@ void main() {
children:
const
<
Widget
>[
Text
(
'one'
),
Text
(
'two'
)],
children:
const
<
Widget
>[
Text
(
'one'
),
Text
(
'two'
)],
),
),
),
),
),
);
);
double
toggleButtonElevation
(
String
text
)
{
double
toggleButtonElevation
(
String
text
)
{
...
@@ -1948,8 +1867,7 @@ void main() {
...
@@ -1948,8 +1867,7 @@ void main() {
testWidgets
(
'Toggle buttons height matches MaterialTapTargetSize.padded height'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'Toggle buttons height matches MaterialTapTargetSize.padded height'
,
(
WidgetTester
tester
)
async
{
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
isSelected:
const
<
bool
>[
false
,
false
,
false
],
isSelected:
const
<
bool
>[
false
,
false
,
false
],
onPressed:
(
int
index
)
{},
onPressed:
(
int
index
)
{},
...
@@ -1960,7 +1878,6 @@ void main() {
...
@@ -1960,7 +1878,6 @@ void main() {
],
],
),
),
),
),
),
);
);
final
Rect
firstRect
=
tester
.
getRect
(
find
.
byType
(
TextButton
).
at
(
0
));
final
Rect
firstRect
=
tester
.
getRect
(
find
.
byType
(
TextButton
).
at
(
0
));
...
@@ -1976,8 +1893,7 @@ void main() {
...
@@ -1976,8 +1893,7 @@ void main() {
final
SemanticsTester
semantics
=
SemanticsTester
(
tester
);
final
SemanticsTester
semantics
=
SemanticsTester
(
tester
);
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
isSelected:
const
<
bool
>[
false
,
false
,
false
],
isSelected:
const
<
bool
>[
false
,
false
,
false
],
onPressed:
(
int
index
)
{},
onPressed:
(
int
index
)
{},
...
@@ -1992,7 +1908,6 @@ void main() {
...
@@ -1992,7 +1908,6 @@ void main() {
],
],
),
),
),
),
),
);
);
// Button's height is constrained to `32.0`.
// Button's height is constrained to `32.0`.
...
@@ -2064,8 +1979,7 @@ void main() {
...
@@ -2064,8 +1979,7 @@ void main() {
final
SemanticsTester
semantics
=
SemanticsTester
(
tester
);
final
SemanticsTester
semantics
=
SemanticsTester
(
tester
);
await
tester
.
pumpWidget
(
await
tester
.
pumpWidget
(
Material
(
boilerplate
(
child:
boilerplate
(
child:
ToggleButtons
(
child:
ToggleButtons
(
isSelected:
const
<
bool
>[
false
,
true
],
isSelected:
const
<
bool
>[
false
,
true
],
onPressed:
(
int
index
)
{},
onPressed:
(
int
index
)
{},
...
@@ -2075,7 +1989,6 @@ void main() {
...
@@ -2075,7 +1989,6 @@ void main() {
],
],
),
),
),
),
),
);
);
expect
(
expect
(
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment