From bef62b3577858ce8d140e2f695d0fcdbbb16def4 Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Wed, 28 Oct 2026 02:15:37 -0700 Subject: [PATCH 1/3] [material_ui] Unskip web tests in time_picker_test --- packages/material_ui/test/time_picker_test.dart | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/material_ui/test/time_picker_test.dart b/packages/material_ui/test/time_picker_test.dart index e9b0fae802ce..35228881174a 100644 --- a/packages/material_ui/test/time_picker_test.dart +++ b/packages/material_ui/test/time_picker_test.dart @@ -5,7 +5,6 @@ // This file is run as part of a reduced test set in CI on Mac and Windows // machines. @Tags(['reduced-test-set']) -@TestOn('!chrome') library; import 'dart:async'; @@ -2461,7 +2460,7 @@ void main() { await finishPicker(tester); expect(result, equals(const TimeOfDay(hour: 6, minute: 45))); }); - }); + }, skip: kIsWeb); // https://github.com/flutter/flutter/issues/33615 group('Time picker - emptyInitialInput (${materialType.name})', () { testWidgets('Fields are empty and show correct hints when emptyInitialInput is true', ( From a0389f249cf8a4fa99a3613072d2e20cf99ef75f Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Wed, 28 Oct 2026 09:43:29 -0700 Subject: [PATCH 2/3] [material_ui] Explain why time picker restoration tests are skipped on web --- packages/material_ui/test/time_picker_test.dart | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/material_ui/test/time_picker_test.dart b/packages/material_ui/test/time_picker_test.dart index 35228881174a..088d8d09647c 100644 --- a/packages/material_ui/test/time_picker_test.dart +++ b/packages/material_ui/test/time_picker_test.dart @@ -2353,6 +2353,10 @@ void main() { ); }); + // Skipped on the web because routes pushed with Navigator.restorablePush + // (used by _TimePickerLauncher) are not restorable there: the framework + // can't serialize the route builder without PluginUtilities, so the + // picker dialog is gone after restartAndRestore. group('Time picker - Restoration (${materialType.name})', () { testWidgets('Time Picker state restoration test - dial mode', (WidgetTester tester) async { TimeOfDay? result; From deef901757b1f45c30a1d5320c2e8ad91706e1dd Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Thu, 29 Oct 2026 12:09:20 -0700 Subject: [PATCH 3/3] [material_ui] Mark time picker restoration web skip as intended --- packages/material_ui/test/time_picker_test.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/material_ui/test/time_picker_test.dart b/packages/material_ui/test/time_picker_test.dart index 088d8d09647c..3241ef6e4bdc 100644 --- a/packages/material_ui/test/time_picker_test.dart +++ b/packages/material_ui/test/time_picker_test.dart @@ -2464,7 +2464,7 @@ void main() { await finishPicker(tester); expect(result, equals(const TimeOfDay(hour: 6, minute: 45))); }); - }, skip: kIsWeb); // https://github.com/flutter/flutter/issues/33615 + }, skip: kIsWeb); // [intended] PluginUtilities is not supported on the web. group('Time picker - emptyInitialInput (${materialType.name})', () { testWidgets('Fields are empty and show correct hints when emptyInitialInput is true', (