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> |