Index: third_party/WebKit/LayoutTests/media/track/track-mode-not-changed-by-new-track.html |
diff --git a/third_party/WebKit/LayoutTests/media/track/track-mode-not-changed-by-new-track.html b/third_party/WebKit/LayoutTests/media/track/track-mode-not-changed-by-new-track.html |
index 4bdbcf67431eda241e0df82f282e48a09c9d5346..5a455b154d82a5f6b10e59ea049ef4497e25fe70 100644 |
--- a/third_party/WebKit/LayoutTests/media/track/track-mode-not-changed-by-new-track.html |
+++ b/third_party/WebKit/LayoutTests/media/track/track-mode-not-changed-by-new-track.html |
@@ -1,102 +1,73 @@ |
<!DOCTYPE html> |
-<html> |
- <head> |
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
+<title>Tests that a track appended after the initial track configuration does not change other tracks.</title> |
+<script src="../media-file.js"></script> |
+<script src="../../resources/testharness.js"></script> |
+<script src="../../resources/testharnessreport.js"></script> |
+<video> |
+ <track kind="metadata" src="captions-webvtt/metadata.vtt"> |
+</video> |
+<script> |
+async_test(function(t) { |
+ var video = document.querySelector('video'); |
- <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> |
+ var track1 = document.querySelectorAll('track')[0]; |
+ assert_equals(track1.readyState, HTMLTrackElement.NONE); |
+ assert_equals(track1.track.mode, 'disabled'); |
- function trackAdded() |
- { |
- consoleWrite("EVENT(" + event.type + ")"); |
- consoleWrite("<i>**check that metadata track state has not changed<" + "/i>"); |
- testExpected("track1.readyState", HTMLTrackElement.LOADED); |
- testExpected("track1.track.mode", "hidden"); |
- consoleWrite("<i>**and that the caption track state has not changed<" + "/i>"); |
- testExpected("track2.readyState", HTMLTrackElement.LOADED); |
- testExpected("track2.track.mode", "showing"); |
- consoleWrite("<i>**and that the subtitle track state is correct<" + "/i>"); |
- testExpected("event.target", video.textTracks); |
- testExpected("event instanceof window.TrackEvent", true); |
- testExpected("event.track", video.textTracks[video.textTracks.length - 1]); |
- testExpected("track3.mode", "showing"); |
+ video.src = findMediaFile('video', '../content/test'); |
+ video.oncanplaythrough = t.step_func(canplaythrough); |
+ track1.onload = t.step_func(metadataTrackLoaded); |
- consoleWrite(""); |
- endTest(); |
- } |
+ function canplaythrough() { |
+ // check initial metadata track state. |
+ assert_equals(track1.readyState, HTMLTrackElement.NONE); |
+ assert_equals(track1.track.mode, 'disabled'); |
+ assert_equals(track1.track.cues, null); |
+ track1.track.mode = 'hidden'; |
+ } |
- function captionsTrackLoaded() |
- { |
- consoleWrite("EVENT(load) -- <track kind='captions' >"); |
- consoleWrite("<i>**check that metadata track state has not changed<" + "/i>"); |
- testExpected("track1.readyState", HTMLTrackElement.LOADED); |
- testExpected("track1.track.mode", "hidden"); |
- consoleWrite("<i>**and that the caption track state is correct<" + "/i>"); |
- testExpected("track2.readyState", HTMLTrackElement.LOADED); |
- testExpected("track2.track.mode", "showing"); |
- consoleWrite(""); |
+ function metadataTrackLoaded() { |
+ // check metadata track state. |
+ assert_equals(track1.readyState, HTMLTrackElement.LOADED); |
+ assert_equals(track1.track.mode, 'hidden'); |
+ assert_equals(track1.track.cues.length, 12); |
+ assert_equals(track1.track.cues[11].startTime, 22); |
- video.textTracks.addEventListener("addtrack", trackAdded); |
- consoleWrite("<i>**add a subtitle track with video.addTextTrack()<" + "/i>"); |
- run("track3 = video.addTextTrack('subtitles', 'Subtitle Track', 'en')"); |
- run("track3.mode = 'showing'"); |
+ // Add a caption track, configured to load automatically. |
+ track2 = document.createElement('track'); |
+ track2.setAttribute('kind', 'captions'); |
+ track2.setAttribute('default', 'default'); |
+ track2.setAttribute('src', 'captions-webvtt/tc004-webvtt-file.vtt'); |
+ track2.onload = t.step_func(captionsTrackLoaded); |
+ video.appendChild(track2); |
+ } |
- consoleWrite(""); |
- } |
+ function captionsTrackLoaded() { |
+ // Check that metadata track state has not changed. |
+ assert_equals(track1.readyState, HTMLTrackElement.LOADED); |
+ assert_equals(track1.track.mode, 'hidden'); |
+ // and that the caption track state is correct. |
+ assert_equals(track2.readyState, HTMLTrackElement.LOADED); |
+ assert_equals(track2.track.mode, 'showing'); |
- function metadataTrackLoaded() |
- { |
- consoleWrite("EVENT(load) -- <track kind='metadata' >"); |
- consoleWrite("<i>**check metadata track state<" + "/i>"); |
- testExpected("track1.readyState", HTMLTrackElement.LOADED); |
- testExpected("track1.track.mode", "hidden"); |
- testExpected("track1.track.cues.length", 12); |
- testExpected("track1.track.cues[11].startTime", 22); |
+ video.textTracks.onaddtrack = t.step_func_done(trackAdded); |
+ // add a subtitle track with video.addTextTrack(). |
+ track3 = video.addTextTrack('subtitles', 'Subtitle Track', 'en'); |
+ track3.mode = 'showing'; |
+ } |
- consoleWrite("<br><i>**add a caption track, configured to load automatically<" + "/i>"); |
- run("track2 = document.createElement('track')"); |
- run("track2.setAttribute('kind', 'captions')"); |
- run("track2.setAttribute('default', 'default')"); |
- run("track2.setAttribute('onload', 'captionsTrackLoaded()')"); |
- run("track2.setAttribute('src', 'captions-webvtt/tc004-webvtt-file.vtt')"); |
- run("video.appendChild(track2)"); |
- |
- consoleWrite(""); |
- } |
- |
- function canplaythrough() |
- { |
- consoleWrite("EVENT(canplaythrough) -- <video>"); |
- consoleWrite("<i>**check initial metadata track state<" + "/i>"); |
- testExpected("track1.readyState", HTMLTrackElement.NONE); |
- testExpected("track1.track.mode", "disabled"); |
- testExpected("track1.track.cues", null); |
- run("track1.track.mode = 'hidden'"); |
- consoleWrite(""); |
- } |
- |
- function start() |
- { |
- consoleWrite("<br>EVENT(load) -- <body>"); |
- findMediaElement(); |
- |
- track1 = document.querySelectorAll('track')[0]; |
- testExpected("track1.readyState", HTMLTrackElement.NONE); |
- testExpected("track1.track.mode", "disabled"); |
- |
- video.src = findMediaFile("video", "../content/test"); |
- consoleWrite(""); |
- } |
- </script> |
- </head> |
- |
- <body onload="start()"> |
- <p>Tests that a track appended after the initial track configuration does not change other tracks.</p> |
- <video oncanplaythrough="canplaythrough()" > |
- <track kind="metadata" src="captions-webvtt/metadata.vtt" onload="metadataTrackLoaded()"> |
- </video> |
- </body> |
-</html> |
+ function trackAdded() { |
+ // Check that metadata track state has not changed. |
+ assert_equals(track1.readyState, HTMLTrackElement.LOADED); |
+ assert_equals(track1.track.mode, 'hidden'); |
+ // and that the caption track state has not changed. |
+ assert_equals(track2.readyState, HTMLTrackElement.LOADED); |
+ assert_equals(track2.track.mode, 'showing'); |
+ // and that the subtitle track state is correct. |
+ assert_equals(event.target, video.textTracks); |
+ assert_true(event instanceof window.TrackEvent); |
+ assert_equals(event.track, video.textTracks[video.textTracks.length - 1]); |
+ assert_equals(track3.mode, 'showing'); |
+ } |
+}); |
+</script> |