diff --git a/packages/flutter/lib/src/material/popup_menu.dart b/packages/flutter/lib/src/material/popup_menu.dart index 0f7732ca048..78b1e9ec338 100644 --- a/packages/flutter/lib/src/material/popup_menu.dart +++ b/packages/flutter/lib/src/material/popup_menu.dart @@ -435,7 +435,6 @@ class PopupMenuItemState> extends State { child: ConstrainedBox( constraints: BoxConstraints(minHeight: widget.height), child: Padding( - key: const Key('menu item padding'), padding: padding, child: Align(alignment: AlignmentDirectional.centerStart, child: buildChild()), ), diff --git a/packages/flutter/lib/src/material/time_picker.dart b/packages/flutter/lib/src/material/time_picker.dart index 99916e2f6ac..e8fc0464da1 100644 --- a/packages/flutter/lib/src/material/time_picker.dart +++ b/packages/flutter/lib/src/material/time_picker.dart @@ -1615,7 +1615,7 @@ class _DialState extends State<_Dial> with SingleTickerProviderStateMixin { onPanUpdate: _handlePanUpdate, onPanEnd: _handlePanEnd, onTapUp: _handleTapUp, - child: CustomPaint(key: const ValueKey('time-picker-dial'), painter: painter), + child: CustomPaint(painter: painter), ); } } diff --git a/packages/flutter/test/material/popup_menu_test.dart b/packages/flutter/test/material/popup_menu_test.dart index 85f6c7987f5..a1f175af233 100644 --- a/packages/flutter/test/material/popup_menu_test.dart +++ b/packages/flutter/test/material/popup_menu_test.dart @@ -1756,14 +1756,7 @@ void main() { await tester.pumpAndSettle(); EdgeInsetsGeometry paddingFor(String text) { - return tester - .widget( - find.ancestor( - of: find.widgetWithText(Align, 'Item 0'), - matching: find.byKey(const Key('menu item padding')), - ), - ) - .padding; + return tester.widget(find.widgetWithText(Padding, 'Item 0').first).padding; } expect(paddingFor('Item 0'), const EdgeInsets.symmetric(horizontal: 12.0)); @@ -1831,14 +1824,7 @@ void main() { await tester.pumpAndSettle(); EdgeInsetsGeometry paddingFor(String text) { - return tester - .widget( - find.ancestor( - of: find.widgetWithText(Align, 'Item 0'), - matching: find.byKey(const Key('menu item padding')), - ), - ) - .padding; + return tester.widget(find.widgetWithText(Padding, 'Item 0').first).padding; } expect(paddingFor('Item 0'), const EdgeInsets.symmetric(horizontal: 16.0)); diff --git a/packages/flutter/test/material/time_picker_test.dart b/packages/flutter/test/material/time_picker_test.dart index dce54c23b53..6f2423d6974 100644 --- a/packages/flutter/test/material/time_picker_test.dart +++ b/packages/flutter/test/material/time_picker_test.dart @@ -2653,9 +2653,11 @@ Future startPicker( ); await tester.tap(find.text('X')); await tester.pumpAndSettle(const Duration(seconds: 1)); - return entryMode == TimePickerEntryMode.dial - ? tester.getCenter(find.byKey(const ValueKey('time-picker-dial'))) - : null; + final Finder customPaintFinder = find.descendant( + of: find.byWidgetPredicate((Widget w) => '${w.runtimeType}' == '_Dial'), + matching: find.byType(CustomPaint), + ); + return entryMode == TimePickerEntryMode.dial ? tester.getCenter(customPaintFinder) : null; } Future finishPicker(WidgetTester tester) async { diff --git a/packages/flutter/test/painting/system_fonts_test.dart b/packages/flutter/test/painting/system_fonts_test.dart index cfd19db4c4c..7985fe9432c 100644 --- a/packages/flutter/test/painting/system_fonts_test.dart +++ b/packages/flutter/test/painting/system_fonts_test.dart @@ -257,12 +257,11 @@ void main() { SystemChannels.system.codec.encodeMessage(data), (ByteData? data) {}, ); - final RenderObject renderObject = tester.renderObject( - find.descendant( - of: find.byKey(const Key('parent')), - matching: find.byKey(const ValueKey('time-picker-dial')), - ), + final Finder customPaintFinder = find.descendant( + of: find.byWidgetPredicate((Widget w) => '${w.runtimeType}' == '_Dial'), + matching: find.byType(CustomPaint), ); + final RenderObject renderObject = tester.renderObject(customPaintFinder); expect(renderObject.debugNeedsPaint, isTrue); }); } diff --git a/packages/flutter_localizations/test/material/time_picker_test.dart b/packages/flutter_localizations/test/material/time_picker_test.dart index da831930261..b233404e780 100644 --- a/packages/flutter_localizations/test/material/time_picker_test.dart +++ b/packages/flutter_localizations/test/material/time_picker_test.dart @@ -6,6 +6,11 @@ import 'package:flutter/material.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:flutter_test/flutter_test.dart'; +final Finder dialCustomPaintFinder = find.descendant( + of: find.byWidgetPredicate((Widget w) => '${w.runtimeType}' == '_Dial'), + matching: find.byType(CustomPaint), +); + void main() { testWidgets('Material2 - can localize the header in all known formats - portrait', ( WidgetTester tester, @@ -567,7 +572,7 @@ void main() { locale: locale, useMaterial3: false, ); - final Size size = tester.getSize(find.byKey(const Key('time-picker-dial'))); + final Size size = tester.getSize(dialCustomPaintFinder); final double dy = (size.height / 2.0 / 10) * i; await tester.tapAt(Offset(center.dx, center.dy - dy)); await finishPicker(tester); @@ -598,7 +603,7 @@ void main() { locale: locale, useMaterial3: true, ); - final Size size = tester.getSize(find.byKey(const Key('time-picker-dial'))); + final Size size = tester.getSize(dialCustomPaintFinder); final double dy = (size.height / 2.0 / 10) * factor; await tester.tapAt(Offset(center.dx, center.dy - dy)); await finishPicker(tester); @@ -740,9 +745,7 @@ void main() { ) async { await mediaQueryBoilerplate(tester, alwaysUse24HourFormat: false, useMaterial3: false); - final CustomPaint dialPaint = tester.widget( - find.byKey(const ValueKey('time-picker-dial')), - ); + final CustomPaint dialPaint = tester.widget(dialCustomPaintFinder); final dynamic dialPainter = dialPaint.painter; // ignore: avoid_dynamic_calls final List primaryLabels = dialPainter.primaryLabels as List; @@ -770,9 +773,7 @@ void main() { ) async { await mediaQueryBoilerplate(tester, alwaysUse24HourFormat: false, useMaterial3: true); - final CustomPaint dialPaint = tester.widget( - find.byKey(const ValueKey('time-picker-dial')), - ); + final CustomPaint dialPaint = tester.widget(dialCustomPaintFinder); final dynamic dialPainter = dialPaint.painter; // ignore: avoid_dynamic_calls final List primaryLabels = dialPainter.primaryLabels as List; @@ -800,9 +801,7 @@ void main() { ) async { await mediaQueryBoilerplate(tester, alwaysUse24HourFormat: true, useMaterial3: true); - final CustomPaint dialPaint = tester.widget( - find.byKey(const ValueKey('time-picker-dial')), - ); + final CustomPaint dialPaint = tester.widget(dialCustomPaintFinder); final dynamic dialPainter = dialPaint.painter; // ignore: avoid_dynamic_calls final List primaryLabels = dialPainter.primaryLabels as List; @@ -830,9 +829,7 @@ void main() { ) async { await mediaQueryBoilerplate(tester, alwaysUse24HourFormat: true, useMaterial3: false); - final CustomPaint dialPaint = tester.widget( - find.byKey(const ValueKey('time-picker-dial')), - ); + final CustomPaint dialPaint = tester.widget(dialCustomPaintFinder); final dynamic dialPainter = dialPaint.painter; // ignore: avoid_dynamic_calls final List primaryLabels = dialPainter.primaryLabels as List; @@ -968,7 +965,7 @@ Future startPicker( ); await tester.tap(find.text('X')); await tester.pumpAndSettle(const Duration(seconds: 1)); - return tester.getCenter(find.byKey(const Key('time-picker-dial'))); + return tester.getCenter(dialCustomPaintFinder); } Future finishPicker(WidgetTester tester) async {