| Index: third_party/WebKit/LayoutTests/media/track/track-kind-user-preference.html
|
| diff --git a/third_party/WebKit/LayoutTests/media/track/track-kind-user-preference.html b/third_party/WebKit/LayoutTests/media/track/track-kind-user-preference.html
|
| index 9310045a91f63501436b41de015d8b6825ff8460..0d714c2292b4b6d1b941f42884b2f52062466fed 100644
|
| --- a/third_party/WebKit/LayoutTests/media/track/track-kind-user-preference.html
|
| +++ b/third_party/WebKit/LayoutTests/media/track/track-kind-user-preference.html
|
| @@ -1,98 +1,76 @@
|
| <!DOCTYPE html>
|
| -<script src=../media-file.js></script>
|
| -<!-- TODO(philipj): Convert test to testharness.js. crbug.com/588956
|
| - (Please avoid writing new tests using video-test.js) -->
|
| -<script src=../video-test.js></script>
|
| -<script src=../media-controls.js></script>
|
| +<title>Test that user preference for text track kind is honored.</title>
|
| +<script src="../media-file.js"></script>
|
| +<script src="../media-controls.js"></script>
|
| +<script src="../../resources/testharness.js"></script>
|
| +<script src="../../resources/testharnessreport.js"></script>
|
| +<video>
|
| + <track src="captions-webvtt/styling.vtt" kind="captions" srclang="de">
|
| + <track src="captions-webvtt/styling.vtt" kind="captions" srclang="es">
|
| + <track src="captions-webvtt/styling.vtt" kind="captions" srclang="en">
|
| + <track src="captions-webvtt/styling.vtt" kind="subtitles" srclang="fr">
|
| + <track src="captions-webvtt/styling.vtt" kind="subtitles" srclang="es">
|
| + <track src="captions-webvtt/styling.vtt" kind="subtitles" srclang="ar" default>
|
| + <track src="captions-webvtt/styling.vtt" kind="captions" srclang="fr" default>
|
| +</video>
|
| <script>
|
| +async_test(function(t) {
|
| + var video = document.querySelector("video");
|
| + internals.setUserPreferredLanguages(["jp", "es", "en", "fr"]);
|
| + video.src = findMediaFile("video", "../content/test");
|
|
|
| var tracks;
|
| var expectedTrack;
|
| - function setPreferences() {
|
| - if (!window.internals) {
|
| - consoleWrite("<b>** This test only works in DRT! **<" + "/b>");
|
| - return;
|
| - }
|
| - run("internals.setUserPreferredLanguages(['jp', 'es', 'en', 'fr'])");
|
| - }
|
| -
|
| - function checkExpected(mode, kind, language) {
|
| - testExpected("expectedTrack.mode", mode);
|
| - testExpected("expectedTrack.kind", kind);
|
| - testExpected("expectedTrack.language", language);
|
| - }
|
| -
|
| - function runTests() {
|
| - consoleWrite("");
|
| + video.oncanplaythrough = t.step_func(function() {
|
| tracks = video.textTracks;
|
| - testExpected("tracks.length", 7);
|
| - testUserPrefersDefault();
|
| - testUserPrefersSubtitles();
|
| - testUserPrefersCaptions();
|
| - }
|
| + assert_equals(tracks.length, 7);
|
| + testUserPreferencesDefault();
|
| + testUserPreferencesSubtitles();
|
| + testUserPreferencesCaptions();
|
| + });
|
|
|
| - function testUserPrefersDefault() {
|
| - consoleWrite("");
|
| + function testUserPreferencesDefault() {
|
| // User preference is initialized to pick tracks marked as default.
|
| // When multiple default tracks exist, pick the first default track.
|
| expectedTrack = tracks[5];
|
| checkExpected("showing", "subtitles", "ar");
|
| }
|
|
|
| - function testUserPrefersSubtitles() {
|
| - if (window.internals)
|
| - internals.settings.setTextTrackKindUserPreference("subtitles");
|
| - consoleWrite("");
|
| + function testUserPreferencesSubtitles() {
|
| + internals.settings.setTextTrackKindUserPreference("subtitles");
|
| // Displays subtitle track over caption track when both exist in the same language.
|
| expectedTrack = tracks[4];
|
| checkExpected("showing", "subtitles", "es");
|
| }
|
|
|
| - function testUserPrefersCaptions() {
|
| - if (window.internals)
|
| - internals.settings.setTextTrackKindUserPreference("captions");
|
| - consoleWrite("");
|
| + function testUserPreferencesCaptions() {
|
| + internals.settings.setTextTrackKindUserPreference("captions");
|
| expectedTrack = tracks[1];
|
| checkExpected("showing", "captions", "es");
|
|
|
| - consoleWrite("");
|
| - // Add a subtitle track in user's first preferred language "jp". This track must
|
| - // be displayed over a caption track with a language less preferred by the user.
|
| - var track = document.createElement('track');
|
| - track.setAttribute('kind', "subtitles");
|
| - track.setAttribute('src', "captions-webvtt/styling.vtt");
|
| - track.setAttribute('srclang', "jp");
|
| - track.setAttribute('onload', 'trackLoaded()');
|
| + // Add a subtitle track in user"s first preferred language "jp".
|
| + // This track must be displayed over a caption track with a
|
| + // language less preferred by the user.
|
| + var track = document.createElement("track");
|
| + track.setAttribute("kind", "subtitles");
|
| + track.setAttribute("src", "captions-webvtt/styling.vtt");
|
| + track.setAttribute("srclang", "jp");
|
| +
|
| + track.onload = t.step_func_done(trackLoaded);
|
| video.appendChild(track);
|
| }
|
|
|
| function trackLoaded() {
|
| - consoleWrite("EVENT(load)");
|
| -
|
| - // Don't log the event name because the order of the two events in not predictable.
|
| track = event.target;
|
| expectedTrack = track.track;
|
| - testExpected("track.readyState", HTMLTrackElement.LOADED);
|
| + assert_equals(track.readyState, HTMLTrackElement.LOADED);
|
| checkExpected("showing", "subtitles", "jp");
|
| - consoleWrite("");
|
| - endTest();
|
| }
|
|
|
| - window.onload = function() {
|
| - consoleWrite("Test that user preference for text track kind is honored");
|
| - findMediaElement();
|
| - setPreferences();
|
| - video.src = findMediaFile('video', '../content/test');
|
| - video.currentTime = 0.1;
|
| - waitForEvent('canplaythrough', runTests);
|
| + function checkExpected(mode, kind, language) {
|
| + assert_equals(expectedTrack.mode, mode);
|
| + assert_equals(expectedTrack.kind, kind);
|
| + assert_equals(expectedTrack.language, language);
|
| }
|
| -</script>
|
| -<video>
|
| - <track src="captions-webvtt/styling.vtt" kind="captions" srclang="de">
|
| - <track src="captions-webvtt/styling.vtt" kind="captions" srclang="es">
|
| - <track src="captions-webvtt/styling.vtt" kind="captions" srclang="en">
|
| - <track src="captions-webvtt/styling.vtt" kind="subtitles" srclang="fr">
|
| - <track src="captions-webvtt/styling.vtt" kind="subtitles" srclang="es">
|
| - <track src="captions-webvtt/styling.vtt" kind="subtitles" srclang="ar" default>
|
| - <track src="captions-webvtt/styling.vtt" kind="captions" srclang="fr" default>
|
| -</video>
|
| +});
|
| +</script>
|
|
|