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 ef4f0bfa21..bef0298c80 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 @@ void main() { 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 b837d56771..76396080fb 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 5101b8f19e..5c793f63ed 100644 --- a/script/tool/lib/src/test_command.dart +++ b/script/tool/lib/src/test_command.dart @@ -66,7 +66,9 @@ class TestCommand extends PackageLoopingCommand { '--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 5d34e390fd..c4c655bf71 100644 --- a/script/tool/test/test_command_test.dart +++ b/script/tool/test/test_command_test.dart @@ -15,7 +15,7 @@ import 'mocks.dart'; import 'util.dart'; void main() { - group('$TestCommand', () { + group('TestCommand', () { late FileSystem fileSystem; late Platform mockPlatform; late Directory packagesDir; @@ -239,6 +239,27 @@ void main() { ); }); + test('Does not run on Chrome for web endorsements', () async { + final RepositoryPackage plugin = createFakePlugin( + 'plugin', + packagesDir, + extraFiles: ['test/empty_test.dart'], + platformSupport: { + platformWeb: const PlatformDetails(PlatformSupport.federated), + }, + ); + + await runCapturingPrint(runner, ['test']); + + expect( + processRunner.recordedCalls, + orderedEquals([ + ProcessCall(getFlutterCommand(mockPlatform), + const ['test', '--color'], plugin.path), + ]), + ); + }); + test('enable-experiment flag', () async { final RepositoryPackage plugin = createFakePlugin('a', packagesDir, extraFiles: ['test/empty_test.dart']);