Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <html> | 2 <title>Tests that the TextTrack mode attribute is appropriately set.</title> |
| 3 <head> | 3 <script src="../media-file.js"></script> |
| 4 <script src="../../resources/testharness.js"></script> | |
| 5 <script src="../../resources/testharnessreport.js"></script> | |
| 6 <video> | |
| 7 <track src="captions-webvtt/captions-fast.vtt" default> | |
| 8 </video> | |
| 9 <script> | |
| 10 async_test(function(t) { | |
| 11 var video = document.querySelector("video"); | |
| 12 var track = document.querySelector("track"); | |
| 13 track.onload = t.step_func(trackLoaded); | |
| 4 | 14 |
| 5 <script src=../media-file.js></script> | 15 var cueCount = 0; |
| 6 <!-- TODO(philipj): Convert test to testharness.js. crbug.com/588956 | 16 var textTrack; |
| 7 (Please avoid writing new tests using video-test.js) --> | 17 function trackLoaded() { |
| 8 <script src=../video-test.js></script> | 18 textTrack = track.track; |
| 9 <script> | 19 // Test default attribute value. |
| 20 assert_equals(textTrack.mode, "showing"); | |
| 21 assert_equals(video.textTracks[0].mode, "showing"); | |
| 22 // Set to bogus value, should return default. | |
| 23 var value = "bogus"; | |
| 24 textTrack.mode = value; | |
| 25 assert_equals(textTrack.mode, "showing"); | |
| 26 assert_equals(video.textTracks[0].mode, "showing"); | |
| 10 | 27 |
| 11 var textTrack; | 28 // Set to numeric value (no longer supported), should return default. |
| 12 var cueCount; | 29 textTrack.mode = 2; |
| 30 assert_equals(textTrack.mode, "showing"); | |
| 31 assert_equals(video.textTracks[0].mode, "showing"); | |
| 13 | 32 |
| 14 function setMode(value) | 33 // Set to known values. |
| 15 { | 34 setMode("disabled"); |
| 16 run("textTrack.mode = '" + value + "'"); | |
| 17 testExpected("textTrack.mode", value); | |
| 18 testExpected("video.textTracks[0].mode", value); | |
| 19 if (value == "disabled") | |
| 20 testExpected("textTrack.cues", null); | |
| 21 else | |
| 22 testExpected("textTrack.cues.length", textTrack.cues.length) ; | |
| 23 consoleWrite(""); | |
| 24 } | |
| 25 | 35 |
| 26 function start() | 36 video.src = findMediaFile("video", "../content/test"); |
| 27 { | 37 video.play(); |
| 28 findMediaElement(); | 38 // Wait for end of first cue (no events should fire while track is disab led). |
| 29 cueCount = 0; | 39 setTimeout(testHiddenAndShowing, 400); |
| 30 consoleWrite(""); | 40 } |
| 31 | 41 |
| 32 textTrack = document.getElementById('track_1').track; | 42 track.oncuechange = t.step_func(function(event) { |
| 43 cueCount++; | |
| 44 if (cueCount == textTrack.cues.length) | |
| 45 t.done(); | |
| 46 }); | |
| 33 | 47 |
| 34 consoleWrite("<b>++ Test default attribute value</b>"); | 48 function setMode(value) { |
|
mlamouri (slow - plz ping)
2016/05/04 13:55:24
can you call this function 'setModeAndCheck'. It's
| |
| 35 testExpected("textTrack.mode", "showing"); | 49 textTrack.mode = value; |
| 36 testExpected("video.textTracks[0].mode", "showing"); | 50 assert_equals(textTrack.mode, value); |
| 37 consoleWrite(""); | 51 assert_equals(video.textTracks[0].mode, value); |
| 52 if (value == "disabled") | |
| 53 assert_equals(textTrack.cues, null); | |
| 54 else | |
| 55 assert_equals(textTrack.cues.length, textTrack.cues.length); | |
| 56 } | |
| 38 | 57 |
| 39 consoleWrite("<b>*** Set to bogus value, should return default</ b>"); | 58 function testHiddenAndShowing() { |
| 40 var value = "bogus"; | 59 setMode("hidden"); |
| 41 run("textTrack.mode = '" + value + "'"); | 60 setMode("showing"); |
| 42 testExpected("textTrack.mode", "showing"); | 61 } |
| 43 testExpected("video.textTracks[0].mode", "showing"); | 62 }); |
| 44 consoleWrite(""); | 63 </script> |
| 45 | |
| 46 consoleWrite("<b>*** Set to numeric value (no longer supported), should return default</b>"); | |
| 47 run("textTrack.mode = 2"); | |
| 48 testExpected("textTrack.mode", "showing"); | |
| 49 testExpected("video.textTracks[0].mode", "showing"); | |
| 50 consoleWrite(""); | |
| 51 | |
| 52 consoleWrite("<b>*** Set to known values</b>"); | |
| 53 consoleWrite("<b>++ 'disabled'</b>"); | |
| 54 setMode("disabled"); | |
| 55 | |
| 56 video.src = findMediaFile("video", "../content/test"); | |
| 57 video.play(); | |
| 58 // Wait for end of first cue (no events should fire while track is disabled). | |
| 59 setTimeout(testHiddenAndShowing, 400); | |
| 60 consoleWrite("++ 0 events expected while mode = disabled"); | |
| 61 consoleWrite(""); | |
| 62 } | |
| 63 | |
| 64 function testHiddenAndShowing() | |
| 65 { | |
| 66 consoleWrite("<b>++ 'hidden'</b>"); | |
| 67 setMode("hidden"); | |
| 68 | |
| 69 consoleWrite("<b>++ 'showing'</b>"); | |
| 70 setMode("showing"); | |
| 71 | |
| 72 consoleWrite("++ at least " + textTrack.cues.length + " events e xpected while mode = showing"); | |
| 73 } | |
| 74 | |
| 75 waitForEvent('cuechange', | |
| 76 function (event) | |
| 77 { | |
| 78 cueCount++; | |
| 79 if (cueCount == textTrack.cues.length) | |
| 80 endTest(); | |
| 81 | |
| 82 } | |
| 83 ); | |
| 84 | |
| 85 </script> | |
| 86 </head> | |
| 87 <body> | |
| 88 <p>Tests that the TextTrack mode attribute is appropriately set.</p> | |
| 89 <video> | |
| 90 <track id=track_1 src="captions-webvtt/captions-fast.vtt" onload="st art()" default> | |
| 91 </video> | |
| 92 </body> | |
| 93 </html> | |
| OLD | NEW |