diff --git a/packages/video_player/video_player/test/video_player_test.dart b/packages/video_player/video_player/test/video_player_test.dart
index ef4f0bf..bef0298 100644
--- a/packages/video_player/video_player/test/video_player_test.dart
+++ b/packages/video_player/video_player/test/video_player_test.dart
@@ -350,12 +350,12 @@
 
       test('file with special characters', () async {
         final VideoPlayerController controller =
-            VideoPlayerController.file(File('A #1 Hit?.avi'));
+            VideoPlayerController.file(File('A #1 Hit.avi'));
         await controller.initialize();
 
         final String uri = fakeVideoPlayerPlatform.dataSources[0].uri!;
         expect(uri.startsWith('file:///'), true, reason: 'Actual string: $uri');
-        expect(uri.endsWith('/A%20%231%20Hit%3F.avi'), true,
+        expect(uri.endsWith('/A%20%231%20Hit.avi'), true,
             reason: 'Actual string: $uri');
       }, skip: kIsWeb /* Web does not support file assets. */);
 
diff --git a/script/configs/windows_unit_tests_exceptions.yaml b/script/configs/windows_unit_tests_exceptions.yaml
index b837d56..7639608 100644
--- a/script/configs/windows_unit_tests_exceptions.yaml
+++ b/script/configs/windows_unit_tests_exceptions.yaml
@@ -11,20 +11,12 @@
 # Unit tests for plugins that support web currently run in
 # Chrome, which isn't currently supported by web infrastructure.
 # TODO(ditman): Fix this in the repo tooling.
-- camera
 - camera_web
-- file_selector
 - file_selector_web
-- google_maps_flutter
 - google_maps_flutter_web
-- google_sign_in
 - google_sign_in_web
-- image_picker
 - image_picker_for_web
-- shared_preferences
 - shared_preferences_web
-- url_launcher
 - url_launcher_web
-- video_player
 - video_player_web
 - webview_flutter_web
diff --git a/script/tool/lib/src/test_command.dart b/script/tool/lib/src/test_command.dart
index 5101b8f..5c793f6 100644
--- a/script/tool/lib/src/test_command.dart
+++ b/script/tool/lib/src/test_command.dart
@@ -66,7 +66,9 @@
         '--color',
         if (experiment.isNotEmpty) '--enable-experiment=$experiment',
         // TODO(ditman): Remove this once all plugins are migrated to 'drive'.
-        if (pluginSupportsPlatform(platformWeb, package)) '--platform=chrome',
+        if (pluginSupportsPlatform(platformWeb, package,
+            requiredMode: PlatformSupport.inline))
+          '--platform=chrome',
       ],
       workingDir: package.directory,
     );
diff --git a/script/tool/test/test_command_test.dart b/script/tool/test/test_command_test.dart
index 5d34e39..c4c655b 100644
--- a/script/tool/test/test_command_test.dart
+++ b/script/tool/test/test_command_test.dart
@@ -15,7 +15,7 @@
 import 'util.dart';
 
 void main() {
-  group('$TestCommand', () {
+  group('TestCommand', () {
     late FileSystem fileSystem;
     late Platform mockPlatform;
     late Directory packagesDir;
@@ -239,6 +239,27 @@
       );
     });
 
+    test('Does not run on Chrome for web endorsements', () async {
+      final RepositoryPackage plugin = createFakePlugin(
+        'plugin',
+        packagesDir,
+        extraFiles: <String>['test/empty_test.dart'],
+        platformSupport: <String, PlatformDetails>{
+          platformWeb: const PlatformDetails(PlatformSupport.federated),
+        },
+      );
+
+      await runCapturingPrint(runner, <String>['test']);
+
+      expect(
+        processRunner.recordedCalls,
+        orderedEquals(<ProcessCall>[
+          ProcessCall(getFlutterCommand(mockPlatform),
+              const <String>['test', '--color'], plugin.path),
+        ]),
+      );
+    });
+
     test('enable-experiment flag', () async {
       final RepositoryPackage plugin = createFakePlugin('a', packagesDir,
           extraFiles: <String>['test/empty_test.dart']);
