Unverified Commit c5a81d1b authored by Hans Muller's avatar Hans Muller Committed by GitHub

Update button tests for Material 3 by default (#128628)

parent 353b8bc8
...@@ -738,18 +738,21 @@ void main() { ...@@ -738,18 +738,21 @@ 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(
textDirection: TextDirection.ltr, data: ThemeData(useMaterial3: false),
child: Center( child: Directionality(
child: ElevatedButton( textDirection: TextDirection.ltr,
style: const ButtonStyle( child: Center(
// Specifying minimumSize to mimic the original minimumSize for child: ElevatedButton(
// RaisedButton so that the semantics tree's rect and transform style: const ButtonStyle(
// match the original version of this test. // Specifying minimumSize to mimic the original minimumSize for
minimumSize: MaterialStatePropertyAll<Size>(Size(88, 36)), // RaisedButton so that the semantics tree's rect and transform
// match the original version of this test.
minimumSize: MaterialStatePropertyAll<Size>(Size(88, 36)),
),
onPressed: () { },
child: const Text('ABC'),
), ),
onPressed: () { },
child: const Text('ABC'),
), ),
), ),
), ),
...@@ -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)),
), ),
......
...@@ -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,18 +884,21 @@ void main() { ...@@ -884,18 +884,21 @@ 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(
textDirection: TextDirection.ltr, data: ThemeData(useMaterial3: false),
child: Center( child: Directionality(
child: FilledButton( textDirection: TextDirection.ltr,
style: const ButtonStyle( child: Center(
// Specifying minimumSize to mimic the original minimumSize for child: FilledButton(
// RaisedButton so that the semantics tree's rect and transform style: const ButtonStyle(
// match the original version of this test. // Specifying minimumSize to mimic the original minimumSize for
minimumSize: MaterialStatePropertyAll<Size>(Size(88, 36)), // RaisedButton so that the semantics tree's rect and transform
// match the original version of this test.
minimumSize: MaterialStatePropertyAll<Size>(Size(88, 36)),
),
onPressed: () { },
child: const Text('ABC'),
), ),
onPressed: () { },
child: const Text('ABC'),
), ),
), ),
), ),
...@@ -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(
......
...@@ -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(
......
...@@ -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),
......
...@@ -23,11 +23,14 @@ void main() { ...@@ -23,11 +23,14 @@ void main() {
// Enabled MaterialButton // Enabled MaterialButton
await tester.pumpWidget( await tester.pumpWidget(
Directionality( Theme(
textDirection: TextDirection.ltr, data: ThemeData(useMaterial3: false),
child: MaterialButton( child: Directionality(
onPressed: () { }, textDirection: TextDirection.ltr,
child: const Text('button'), child: MaterialButton(
onPressed: () { },
child: const Text('button'),
),
), ),
), ),
); );
...@@ -68,11 +71,14 @@ void main() { ...@@ -68,11 +71,14 @@ void main() {
// Disabled MaterialButton // Disabled MaterialButton
await tester.pumpWidget( await tester.pumpWidget(
const Directionality( Theme(
textDirection: TextDirection.ltr, data: ThemeData(useMaterial3: false),
child: MaterialButton( child: const Directionality(
onPressed: null, textDirection: TextDirection.ltr,
child: Text('button'), child: MaterialButton(
onPressed: null,
child: Text('button'),
),
), ),
), ),
); );
...@@ -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,15 +583,20 @@ void main() { ...@@ -574,15 +583,20 @@ void main() {
); );
// enabled button // enabled button
await tester.pumpWidget(Directionality( await tester.pumpWidget(
textDirection: TextDirection.ltr, Theme(
child: Center( data: ThemeData(useMaterial3: false),
child: MaterialButton( child: Directionality(
child: const Text('Button'), textDirection: TextDirection.ltr,
onPressed: () { /* to make sure the button is enabled */ }, child: Center(
child: MaterialButton(
child: const Text('Button'),
onPressed: () { /* to make sure the button is enabled */ },
),
),
), ),
), ),
)); );
expect(semantics, hasSemantics( expect(semantics, hasSemantics(
TestSemantics.root( TestSemantics.root(
...@@ -607,15 +621,20 @@ void main() { ...@@ -607,15 +621,20 @@ void main() {
)); ));
// disabled button // disabled button
await tester.pumpWidget(const Directionality( await tester.pumpWidget(
textDirection: TextDirection.ltr, Theme(
child: Center( data: ThemeData(useMaterial3: false),
child: MaterialButton( child: const Directionality(
onPressed: null, // button is disabled textDirection: TextDirection.ltr,
child: Text('Button'), child: Center(
child: MaterialButton(
onPressed: null, // button is disabled
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(
......
...@@ -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,18 +966,21 @@ void main() { ...@@ -966,18 +966,21 @@ 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(
textDirection: TextDirection.ltr, data: ThemeData(useMaterial3: false),
child: Center( child: Directionality(
child: OutlinedButton( textDirection: TextDirection.ltr,
style: const ButtonStyle( child: Center(
// Specifying minimumSize to mimic the original minimumSize for child: OutlinedButton(
// RaisedButton so that the corresponding button size matches style: const ButtonStyle(
// the original version of this test. // Specifying minimumSize to mimic the original minimumSize for
minimumSize: MaterialStatePropertyAll<Size>(Size(88, 36)), // RaisedButton so that the corresponding button size matches
// the original version of this test.
minimumSize: MaterialStatePropertyAll<Size>(Size(88, 36)),
),
onPressed: () {},
child: const Text('ABC'),
), ),
onPressed: () {},
child: const Text('ABC'),
), ),
), ),
), ),
...@@ -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(
......
...@@ -17,13 +17,16 @@ void main() { ...@@ -17,13 +17,16 @@ 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(
textDirection: TextDirection.ltr, data: ThemeData(useMaterial3: false),
child: Center( child: Directionality(
child: RawMaterialButton( textDirection: TextDirection.ltr,
splashColor: splashColor, child: Center(
onPressed: () { pressed = true; }, child: RawMaterialButton(
child: const Text('BUTTON'), splashColor: splashColor,
onPressed: () { pressed = true; },
child: const Text('BUTTON'),
),
), ),
), ),
), ),
...@@ -45,19 +48,22 @@ void main() { ...@@ -45,19 +48,22 @@ 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(
shortcuts: const <ShortcutActivator, Intent>{ data: ThemeData(useMaterial3: false),
SingleActivator(LogicalKeyboardKey.enter): ActivateIntent(), child: Shortcuts(
SingleActivator(LogicalKeyboardKey.space): ActivateIntent(), shortcuts: const <ShortcutActivator, Intent>{
}, SingleActivator(LogicalKeyboardKey.enter): ActivateIntent(),
child: Directionality( SingleActivator(LogicalKeyboardKey.space): ActivateIntent(),
textDirection: TextDirection.ltr, },
child: Center( child: Directionality(
child: RawMaterialButton( textDirection: TextDirection.ltr,
splashColor: splashColor, child: Center(
focusNode: focusNode, child: RawMaterialButton(
onPressed: () { pressed = true; }, splashColor: splashColor,
child: const Text('BUTTON'), focusNode: focusNode,
onPressed: () { pressed = true; },
child: const Text('BUTTON'),
),
), ),
), ),
), ),
...@@ -175,16 +181,19 @@ void main() { ...@@ -175,16 +181,19 @@ void main() {
const Color fillColor = Color(0xFFEF5350); const Color fillColor = Color(0xFFEF5350);
await tester.pumpWidget( await tester.pumpWidget(
Directionality( Theme(
textDirection: TextDirection.ltr, data: ThemeData(useMaterial3: false),
child: Center( child: Directionality(
child: RawMaterialButton( textDirection: TextDirection.ltr,
materialTapTargetSize: MaterialTapTargetSize.padded, child: Center(
onPressed: () { }, child: RawMaterialButton(
fillColor: fillColor, materialTapTargetSize: MaterialTapTargetSize.padded,
highlightColor: highlightColor, onPressed: () { },
splashColor: splashColor, fillColor: fillColor,
child: const SizedBox(), highlightColor: highlightColor,
splashColor: splashColor,
child: const SizedBox(),
),
), ),
), ),
), ),
...@@ -207,16 +216,19 @@ void main() { ...@@ -207,16 +216,19 @@ void main() {
const Color fillColor = Color(0xFFEF5350); const Color fillColor = Color(0xFFEF5350);
await tester.pumpWidget( await tester.pumpWidget(
Directionality( Theme(
textDirection: TextDirection.ltr, data: ThemeData(useMaterial3: false),
child: Center( child: Directionality(
child: RawMaterialButton( textDirection: TextDirection.ltr,
materialTapTargetSize: MaterialTapTargetSize.padded, child: Center(
onPressed: () { }, child: RawMaterialButton(
fillColor: fillColor, materialTapTargetSize: MaterialTapTargetSize.padded,
highlightColor: highlightColor, onPressed: () { },
splashColor: splashColor, fillColor: fillColor,
child: const SizedBox(), highlightColor: highlightColor,
splashColor: splashColor,
child: const SizedBox(),
),
), ),
), ),
), ),
...@@ -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(
......
...@@ -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(
......
...@@ -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,
textDirection: TextDirection.ltr, MaterialTapTargetSize? tapTargetSize,
child: Center(child: child), required Widget child,
}) {
return Theme(
data: ThemeData(
useMaterial3: useMaterial3,
materialTapTargetSize: tapTargetSize,
),
child: Directionality(
textDirection: TextDirection.ltr,
child: Center(
child: Material(child: child),
),
),
); );
} }
...@@ -34,16 +46,14 @@ void main() { ...@@ -34,16 +46,14 @@ 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], children: const <Widget>[
children: const <Widget>[ Text('First child'),
Text('First child'), Text('Second child'),
Text('Second child'), ],
],
),
), ),
), ),
); );
...@@ -70,25 +80,23 @@ void main() { ...@@ -70,25 +80,23 @@ 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( onPressed: (int index) {
onPressed: (int index) { setState(() {
setState(() { isSelected[index] = !isSelected[index];
isSelected[index] = !isSelected[index]; });
}); },
}, isSelected: isSelected,
isSelected: isSelected, children: const <Widget>[
children: const <Widget>[ Text('First child'),
Text('First child'), Text('Second child'),
Text('Second child'), ],
], ),
), );
); },
},
),
), ),
); );
...@@ -132,15 +140,13 @@ void main() { ...@@ -132,15 +140,13 @@ 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>[ Text('First child'),
Text('First child'), Text('Second child'),
Text('Second child'), ],
],
),
), ),
), ),
); );
...@@ -178,15 +184,13 @@ void main() { ...@@ -178,15 +184,13 @@ 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>[ Text('First child'),
Text('First child'), Text('Second child'),
Text('Second child'), ],
],
),
), ),
), ),
), ),
...@@ -205,16 +209,14 @@ void main() { ...@@ -205,16 +209,14 @@ 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) {}, children: const <Widget>[
children: const <Widget>[ Text('First child'),
Text('First child'), Text('Second child'),
Text('Second child'), ],
],
),
), ),
), ),
); );
...@@ -237,21 +239,19 @@ void main() { ...@@ -237,21 +239,19 @@ 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) {}, textStyle: const TextStyle(
textStyle: const TextStyle( textBaseline: TextBaseline.ideographic,
textBaseline: TextBaseline.ideographic, fontSize: 20.0,
fontSize: 20.0, color: Colors.orange,
color: Colors.orange, ),
), children: const <Widget>[
children: const <Widget>[ Text('First child'),
Text('First child'), Text('Second child'),
Text('Second child'), ],
],
),
), ),
), ),
); );
...@@ -276,17 +276,15 @@ void main() { ...@@ -276,17 +276,15 @@ 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) {}, children: const <Widget>[
children: const <Widget>[ Icon(Icons.check),
Icon(Icons.check), Icon(Icons.access_alarm),
Icon(Icons.access_alarm), Icon(Icons.cake),
Icon(Icons.cake), ],
],
),
), ),
), ),
); );
...@@ -305,21 +303,19 @@ void main() { ...@@ -305,21 +303,19 @@ 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, minHeight: 60.0,
minHeight: 60.0, ),
), isSelected: const <bool>[false, false, false],
isSelected: const <bool>[false, false, false], onPressed: (int index) {},
onPressed: (int index) {}, children: const <Widget>[
children: const <Widget>[ Icon(Icons.check),
Icon(Icons.check), Icon(Icons.access_alarm),
Icon(Icons.access_alarm), Icon(Icons.cake),
Icon(Icons.cake), ],
],
),
), ),
), ),
); );
...@@ -336,22 +332,20 @@ void main() { ...@@ -336,22 +332,20 @@ 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( maxWidth: 20.0,
maxWidth: 20.0, maxHeight: 10.0,
maxHeight: 10.0, ),
), isSelected: const <bool>[false, false, false],
isSelected: const <bool>[false, false, false], onPressed: (int index) {},
onPressed: (int index) {}, children: const <Widget>[
children: const <Widget>[ Icon(Icons.check),
Icon(Icons.check), Icon(Icons.access_alarm),
Icon(Icons.access_alarm), Icon(Icons.cake),
Icon(Icons.cake), ],
],
),
), ),
), ),
); );
...@@ -384,18 +378,16 @@ void main() { ...@@ -384,18 +378,16 @@ 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) {}, children: const <Widget>[
children: const <Widget>[ Row(children: <Widget>[
Row(children: <Widget>[ Text('First child'),
Text('First child'), Icon(Icons.check),
Icon(Icons.check), ]),
]), ],
],
),
), ),
), ),
); );
...@@ -411,18 +403,16 @@ void main() { ...@@ -411,18 +403,16 @@ 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) {}, children: const <Widget>[
children: const <Widget>[ Row(children: <Widget>[
Row(children: <Widget>[ Text('First child'),
Text('First child'), Icon(Icons.check),
Icon(Icons.check), ]),
]), ],
],
),
), ),
), ),
); );
...@@ -438,17 +428,15 @@ void main() { ...@@ -438,17 +428,15 @@ 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>[ Row(children: <Widget>[
Row(children: <Widget>[ Text('First child'),
Text('First child'), Icon(Icons.check),
Icon(Icons.check), ]),
]), ],
],
),
), ),
), ),
); );
...@@ -491,19 +479,17 @@ void main() { ...@@ -491,19 +479,17 @@ 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], onPressed: (int index) {},
onPressed: (int index) {}, children: const <Widget>[
children: const <Widget>[ Row(children: <Widget>[
Row(children: <Widget>[ Text('First child'),
Text('First child'), Icon(Icons.check),
Icon(Icons.check), ]),
]), ],
],
),
), ),
), ),
); );
...@@ -513,19 +499,17 @@ void main() { ...@@ -513,19 +499,17 @@ 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], onPressed: (int index) {},
onPressed: (int index) {}, children: const <Widget>[
children: const <Widget>[ Row(children: <Widget>[
Row(children: <Widget>[ Text('First child'),
Text('First child'), Icon(Icons.check),
Icon(Icons.check), ]),
]), ],
],
),
), ),
), ),
); );
...@@ -535,18 +519,16 @@ void main() { ...@@ -535,18 +519,16 @@ 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], children: const <Widget>[
children: const <Widget>[ Row(children: <Widget>[
Row(children: <Widget>[ Text('First child'),
Text('First child'), Icon(Icons.check),
Icon(Icons.check), ]),
]), ],
],
),
), ),
), ),
); );
...@@ -560,17 +542,15 @@ void main() { ...@@ -560,17 +542,15 @@ 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) {}, children: const <Widget>[
children: const <Widget>[ Row(children: <Widget>[
Row(children: <Widget>[ Text('First child'),
Text('First child'), ]),
]), ],
],
),
), ),
), ),
); );
...@@ -589,17 +569,15 @@ void main() { ...@@ -589,17 +569,15 @@ 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) {}, children: const <Widget>[
children: const <Widget>[ Row(children: <Widget>[
Row(children: <Widget>[ Text('First child'),
Text('First child'), ]),
]), ],
],
),
), ),
), ),
); );
...@@ -618,16 +596,14 @@ void main() { ...@@ -618,16 +596,14 @@ 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>[ Row(children: <Widget>[
Row(children: <Widget>[ Text('First child'),
Text('First child'), ]),
]), ],
],
),
), ),
), ),
); );
...@@ -646,18 +622,16 @@ void main() { ...@@ -646,18 +622,16 @@ 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], onPressed: (int index) {},
onPressed: (int index) {}, children: const <Widget>[
children: const <Widget>[ Row(children: <Widget>[
Row(children: <Widget>[ Text('First child'),
Text('First child'), ]),
]), ],
],
),
), ),
), ),
); );
...@@ -684,17 +658,15 @@ void main() { ...@@ -684,17 +658,15 @@ 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], onPressed: (int index) {},
onPressed: (int index) {}, children: const <Widget>[
children: const <Widget>[ Text('First child'),
Text('First child'), Text('Second child'),
Text('Second child'), ],
],
),
), ),
), ),
); );
...@@ -705,16 +677,14 @@ void main() { ...@@ -705,16 +677,14 @@ 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], children: const <Widget>[
children: const <Widget>[ Text('First child'),
Text('First child'), Text('Second child'),
Text('Second child'), ],
],
),
), ),
), ),
); );
...@@ -746,17 +716,15 @@ void main() { ...@@ -746,17 +716,15 @@ 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], onPressed: (int index) {},
onPressed: (int index) {}, children: const <Widget>[
children: const <Widget>[ Text('First child'),
Text('First child'), Text('Second child'),
Text('Second child'), ],
],
),
), ),
), ),
); );
...@@ -768,16 +736,14 @@ void main() { ...@@ -768,16 +736,14 @@ 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], children: const <Widget>[
children: const <Widget>[ Text('First child'),
Text('First child'), Text('Second child'),
Text('Second child'), ],
],
),
), ),
), ),
); );
...@@ -792,16 +758,14 @@ void main() { ...@@ -792,16 +758,14 @@ 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) {}, focusNodes: <FocusNode>[focusNode],
focusNodes: <FocusNode>[focusNode], children: const <Widget>[
children: const <Widget>[ Text('First child'),
Text('First child'), ],
],
),
), ),
), ),
); );
...@@ -859,16 +823,14 @@ void main() { ...@@ -859,16 +823,14 @@ 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) {}, focusNodes: <FocusNode>[focusNode],
focusNodes: <FocusNode>[focusNode], children: const <Widget>[
children: const <Widget>[ Text('First child'),
Text('First child'), ],
],
),
), ),
), ),
); );
...@@ -930,20 +892,18 @@ void main() { ...@@ -930,20 +892,18 @@ 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, hoverColor: hoverColor,
hoverColor: hoverColor, focusColor: focusColor,
focusColor: focusColor, isSelected: const <bool>[true],
isSelected: const <bool>[true], onPressed: (int index) {},
onPressed: (int index) {}, focusNodes: <FocusNode>[focusNode],
focusNodes: <FocusNode>[focusNode], children: const <Widget>[
children: const <Widget>[ Text('First child'),
Text('First child'), ],
],
),
), ),
), ),
); );
...@@ -998,16 +958,14 @@ void main() { ...@@ -998,16 +958,14 @@ void main() {
(WidgetTester tester) async { (WidgetTester tester) async {
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) {}, children: const <Widget>[
children: const <Widget>[ Text('First child'),
Text('First child'), ],
],
),
), ),
), ),
); );
...@@ -1029,15 +987,13 @@ void main() { ...@@ -1029,15 +987,13 @@ 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) {}, children: const <Widget>[
children: const <Widget>[ Text('First child'),
Text('First child'), ],
],
),
), ),
), ),
); );
...@@ -1058,14 +1014,12 @@ void main() { ...@@ -1058,14 +1014,12 @@ 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>[ Text('First child'),
Text('First child'), ],
],
),
), ),
), ),
); );
...@@ -1096,17 +1050,15 @@ void main() { ...@@ -1096,17 +1050,15 @@ 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, isSelected: const <bool>[false],
isSelected: const <bool>[false], onPressed: (int index) {},
onPressed: (int index) {}, children: const <Widget>[
children: const <Widget>[ Text('First child'),
Text('First child'), ],
],
),
), ),
), ),
); );
...@@ -1128,17 +1080,15 @@ void main() { ...@@ -1128,17 +1080,15 @@ void main() {
); );
await tester.pumpWidget( await tester.pumpWidget(
Material( boilerplate(
child: boilerplate( child: ToggleButtons(
child: ToggleButtons( selectedBorderColor: selectedBorderColor,
selectedBorderColor: selectedBorderColor, borderWidth: customWidth,
borderWidth: customWidth, isSelected: const <bool>[true],
isSelected: const <bool>[true], onPressed: (int index) {},
onPressed: (int index) {}, children: const <Widget>[
children: const <Widget>[ Text('First child'),
Text('First child'), ],
],
),
), ),
), ),
); );
...@@ -1159,16 +1109,14 @@ void main() { ...@@ -1159,16 +1109,14 @@ void main() {
); );
await tester.pumpWidget( await tester.pumpWidget(
Material( boilerplate(
child: boilerplate( child: ToggleButtons(
child: ToggleButtons( disabledBorderColor: disabledBorderColor,
disabledBorderColor: disabledBorderColor, borderWidth: customWidth,
borderWidth: customWidth, isSelected: const <bool>[false],
isSelected: const <bool>[false], children: const <Widget>[
children: const <Widget>[ Text('First child'),
Text('First child'), ],
],
),
), ),
), ),
); );
...@@ -1204,12 +1152,10 @@ void main() { ...@@ -1204,12 +1152,10 @@ 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,
),
), ),
), ),
); );
...@@ -1247,12 +1193,10 @@ void main() { ...@@ -1247,12 +1193,10 @@ 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,
),
), ),
), ),
); );
...@@ -1299,13 +1243,11 @@ void main() { ...@@ -1299,13 +1243,11 @@ 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,
),
), ),
), ),
); );
...@@ -1331,31 +1273,30 @@ void main() { ...@@ -1331,31 +1273,30 @@ 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,
children: <Widget>[ children: <Widget>[
ToggleButtons( ToggleButtons(
borderWidth: 5.0, borderWidth: 5.0,
isSelected: const <bool>[false, true], isSelected: const <bool>[false, true],
children: const <Widget>[ children: const <Widget>[
Text('First child', style: TextStyle(fontFamily: 'FlutterTest', fontSize: 8.0)), Text('First child', style: TextStyle(fontFamily: 'FlutterTest', fontSize: 8.0)),
Text('Second child', style: TextStyle(fontFamily: 'FlutterTest', fontSize: 8.0)), Text('Second child', style: TextStyle(fontFamily: 'FlutterTest', fontSize: 8.0)),
], ],
), ),
ElevatedButton( ElevatedButton(
onPressed: null, onPressed: null,
style: ElevatedButton.styleFrom(textStyle: const TextStyle( style: ElevatedButton.styleFrom(textStyle: const TextStyle(
fontFamily: 'FlutterTest', fontFamily: 'FlutterTest',
fontSize: 20.0, fontSize: 20.0,
)), )),
child: const Text('Elevated Button'), child: const Text('Elevated Button'),
), ),
const Text('Text', style: TextStyle(fontFamily: 'FlutterTest', fontSize: 28.0)), const Text('Text', style: TextStyle(fontFamily: 'FlutterTest', fontSize: 28.0)),
], ],
),
), ),
), ),
); );
...@@ -1431,17 +1372,15 @@ void main() { ...@@ -1431,17 +1372,15 @@ 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) {}, children: const <Widget>[
children: const <Widget>[ Text('First child'),
Text('First child'), Text('Second child'),
Text('Second child'), Text('Third child'),
Text('Third child'), ],
],
),
), ),
), ),
); );
...@@ -1513,18 +1452,16 @@ void main() { ...@@ -1513,18 +1452,16 @@ 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], onPressed: (int index) {},
onPressed: (int index) {}, children: const <Widget>[
children: const <Widget>[ Text('First child'),
Text('First child'), Text('Second child'),
Text('Second child'), Text('Third child'),
Text('Third child'), ],
],
),
), ),
), ),
); );
...@@ -1601,19 +1538,17 @@ void main() { ...@@ -1601,19 +1538,17 @@ 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, isSelected: const <bool>[false, true, false],
isSelected: const <bool>[false, true, false], onPressed: (int index) {},
onPressed: (int index) {}, children: const <Widget>[
children: const <Widget>[ Text('First child'),
Text('First child'), Text('Second child'),
Text('Second child'), Text('Third child'),
Text('Third child'), ],
],
),
), ),
), ),
); );
...@@ -1627,22 +1562,19 @@ void main() { ...@@ -1627,22 +1562,19 @@ 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), isSelected: const <bool>[false, true, false],
isSelected: const <bool>[false, true, false], onPressed: (int index) {},
onPressed: (int index) {}, children: const <Widget>[
children: const <Widget>[ Text('First'),
Text('First'), Text('Second'),
Text('Second'), Text('Third'),
Text('Third'), ],
],
),
),
), ),
); );
} }
...@@ -1658,20 +1590,19 @@ void main() { ...@@ -1658,20 +1590,19 @@ 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,
constraints: const BoxConstraints(minWidth: 32.0, minHeight: 32.0), constraints: const BoxConstraints(minWidth: 32.0, minHeight: 32.0),
isSelected: const <bool>[false, true, false], isSelected: const <bool>[false, true, false],
onPressed: (int index) {}, onPressed: (int index) {},
children: const <Widget>[ children: const <Widget>[
Text('First'), Text('First'),
Text('Second'), Text('Second'),
Text('Third'), Text('Third'),
], ],
),
), ),
); );
} }
...@@ -1687,22 +1618,20 @@ void main() { ...@@ -1687,22 +1618,20 @@ 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, constraints: const BoxConstraints(minWidth: 32.0, minHeight: 32.0),
constraints: const BoxConstraints(minWidth: 32.0, minHeight: 32.0), direction: Axis.vertical,
direction: Axis.vertical, isSelected: const <bool>[false, true, false],
isSelected: const <bool>[false, true, false], onPressed: (int index) {},
onPressed: (int index) {}, children: const <Widget>[
children: const <Widget>[ Text('1'),
Text('1'), Text('2'),
Text('2'), Text('3'),
Text('3'), ],
], ),
),
),
); );
} }
...@@ -1717,19 +1646,18 @@ void main() { ...@@ -1717,19 +1646,18 @@ 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)),
isSelected: const <bool>[true], isSelected: const <bool>[true],
onPressed: (int index) {}, onPressed: (int index) {},
children: const <Widget>[ children: const <Widget>[
Text('First child'), Text('First child'),
], ],
),
), ),
), ),
), ),
...@@ -1764,22 +1692,21 @@ void main() { ...@@ -1764,22 +1692,21 @@ 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(
topRight: Radius.elliptical(10, 0), topRight: Radius.elliptical(10, 0),
topLeft: Radius.elliptical(0, 10), topLeft: Radius.elliptical(0, 10),
bottomRight: Radius.elliptical(0, 10), bottomRight: Radius.elliptical(0, 10),
bottomLeft: Radius.elliptical(10, 0), bottomLeft: Radius.elliptical(10, 0),
),
isSelected: const <bool>[true],
onPressed: (int index) {},
children: const <Widget>[
Text('First child'),
],
), ),
isSelected: const <bool>[true],
onPressed: (int index) {},
children: const <Widget>[
Text('First child'),
],
), ),
), ),
), ),
...@@ -1831,19 +1758,17 @@ void main() { ...@@ -1831,19 +1758,17 @@ 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( mouseCursor: SystemMouseCursors.text,
mouseCursor: SystemMouseCursors.text, onPressed: (int index) {},
onPressed: (int index) {}, isSelected: const <bool>[false, true],
isSelected: const <bool>[false, true], children: const <Widget>[
children: const <Widget>[ Text('First child'),
Text('First child'), Text('Second child'),
Text('Second child'), ],
],
),
), ),
), ),
), ),
...@@ -1858,18 +1783,16 @@ void main() { ...@@ -1858,18 +1783,16 @@ 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( onPressed: (int index) {},
onPressed: (int index) {}, isSelected: const <bool>[false, true],
isSelected: const <bool>[false, true], children: const <Widget>[
children: const <Widget>[ Text('First child'),
Text('First child'), Text('Second child'),
Text('Second child'), ],
],
),
), ),
), ),
), ),
...@@ -1879,17 +1802,15 @@ void main() { ...@@ -1879,17 +1802,15 @@ void main() {
// 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( isSelected: const <bool>[false, true],
isSelected: const <bool>[false, true], children: const <Widget>[
children: const <Widget>[ Text('First child'),
Text('First child'), Text('Second child'),
Text('Second child'), ],
],
),
), ),
), ),
), ),
...@@ -1901,14 +1822,12 @@ void main() { ...@@ -1901,14 +1822,12 @@ 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) { }, focusNodes: focusNodes,
focusNodes: focusNodes, children: const <Widget>[Text('one'), Text('two')],
children: const <Widget>[Text('one'), Text('two')],
),
), ),
), ),
); );
...@@ -1948,17 +1867,15 @@ void main() { ...@@ -1948,17 +1867,15 @@ 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) {}, children: const <Widget>[
children: const <Widget>[ Icon(Icons.check),
Icon(Icons.check), Icon(Icons.access_alarm),
Icon(Icons.access_alarm), Icon(Icons.cake),
Icon(Icons.cake), ],
],
),
), ),
), ),
); );
...@@ -1976,21 +1893,19 @@ void main() { ...@@ -1976,21 +1893,19 @@ 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) {}, constraints: const BoxConstraints.tightFor(
constraints: const BoxConstraints.tightFor( width: 86,
width: 86, height: 32,
height: 32, ),
), children: const <Widget>[
children: const <Widget>[ Icon(Icons.check),
Icon(Icons.check), Icon(Icons.access_alarm),
Icon(Icons.access_alarm), Icon(Icons.cake),
Icon(Icons.cake), ],
],
),
), ),
), ),
); );
...@@ -2064,16 +1979,14 @@ void main() { ...@@ -2064,16 +1979,14 @@ 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) {}, children: const <Widget>[
children: const <Widget>[ Icon(Icons.check),
Icon(Icons.check), Icon(Icons.access_alarm),
Icon(Icons.access_alarm), ],
],
),
), ),
), ),
); );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment