Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(16)

Side by Side Diff: third_party/WebKit/LayoutTests/media/track/track-cue-rendering-mode-changed.html

Issue 1887943002: Convert track tests from video-test.js to testharness.js based (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address nits Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html> 2 <title>Test that cues are rendered when only the track mode is changed.</title>
3 <head> 3 <script src="../media-file.js"></script>
4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 4 <script src="../media-controls.js"></script>
5 <script src="../../resources/testharness.js"></script>
6 <script src="../../resources/testharnessreport.js"></script>
7 <script>
8 async_test(function(t) {
9 var video = document.createElement('video');
10 video.src = findMediaFile('video', '../content/test');
5 11
6 <script src=../media-file.js></script> 12 video.oncanplaythrough = t.step_func_done(function() {
7 <!-- TODO(philipj): Convert test to testharness.js. crbug.com/588956 13 addTracks();
8 (Please avoid writing new tests using video-test.js) --> 14 testCueActiveState();
9 <script src=../video-test.js></script> 15 testCueVisibility();
10 <script src=../media-controls.js></script> 16 });
11 17
12 <script> 18 var testTrackArabic;
19 var testTrackEnglish;
20 var testCueDisplayBox;
13 21
14 var testTrackArabic; 22 function addTracks() {
15 var testTrackEnglish; 23 // Add 'Arabic' text track with one cue.
16 var testCueDisplayBox; 24 testTrackArabic = video.addTextTrack('captions', 'Arabic', 'ar');
25 testTrackArabic.addCue(new VTTCue(0, 10, 'Arabic'));
17 26
18 function addTracks() 27 // Add 'English' text track with one cue.
19 { 28 testTrackEnglish = video.addTextTrack('captions', 'English', 'en');
20 consoleWrite(""); 29 testTrackEnglish.addCue(new VTTCue(0, 10, 'English'));
21 30
22 consoleWrite("Add 'Arabic' text track with one cue"); 31 // Set the mode of the 'Arabic' track to showing.
23 testTrackArabic = video.addTextTrack('captions', 'Arabic', 'ar'); 32 testTrackArabic.mode = 'showing';
24 testTrackArabic.addCue(new VTTCue(0.0, 10.0, 'Arabic'));
25 33
26 consoleWrite("Add 'English' text track with one cue"); 34 // Set the mode of the 'English' track to hidden.
27 testTrackEnglish = video.addTextTrack('captions', 'English', 'en'); 35 testTrackEnglish.mode = 'hidden';
28 testTrackEnglish.addCue(new VTTCue(0.0, 10.0, 'English')); 36 }
29 37
30 consoleWrite(""); 38 function testCueActiveState() {
31 consoleWrite("Set the mode of the 'Arabic' track to showing"); 39 // Both cues should be active.
32 testTrackArabic.mode = "showing"; 40 assert_equals(testTrackEnglish.activeCues.length, 1);
41 assert_equals(testTrackEnglish.activeCues[0].text, 'English');
33 42
34 consoleWrite("Set the mode of the 'English' track to hidden"); 43 assert_equals(testTrackArabic.activeCues.length, 1);
35 testTrackEnglish.mode = "hidden"; 44 assert_equals(testTrackArabic.activeCues[0].text, 'Arabic');
36 } 45 }
37 46
38 function testCueActiveState() 47 function testCueVisibility() {
39 { 48 // Only one cue should be visible.
40 consoleWrite(""); 49 testCueDisplayBox = textTrackDisplayElement(video, 'display', 0);
41 consoleWrite("** Both cues should be active **"); 50 assert_equals(testCueDisplayBox.innerText, 'Arabic');
42 testExpected("testTrackEnglish.activeCues.length", 1); 51 assert_equals(testCueDisplayBox.nextSibling, null);
43 testExpected("testTrackEnglish.activeCues[0].text", "English");
44 52
45 testExpected("testTrackArabic.activeCues.length", 1); 53 // Set the mode of the 'English' track to showing.
46 testExpected("testTrackArabic.activeCues[0].text", "Arabic"); 54 testTrackEnglish.mode = 'showing';
47 }
48 55
49 function testCueVisibility() 56 // Both cues shold be visible.
50 { 57 testCueDisplayBox = textTrackDisplayElement(video, 'display', 0);
51 consoleWrite(""); 58 assert_equals(testCueDisplayBox.innerText, 'Arabic');
52 consoleWrite("** Only one cue should be visible **");
53 testCueDisplayBox = textTrackDisplayElement(video, 'display', 0);
54 testExpected("testCueDisplayBox.innerText", "Arabic");
55 testExpected("testCueDisplayBox.nextSibling", null);
56 59
57 consoleWrite(""); 60 testCueDisplayBox = textTrackDisplayElement(video, 'display', 1);
58 consoleWrite("Set the mode of the 'English' track to showing"); 61 assert_equals(testCueDisplayBox.innerText, 'English');
59 testTrackEnglish.mode = "showing"; 62 }
60 63 });
61 consoleWrite(""); 64 </script>
62 consoleWrite("** Both cues shold be visible. **");
63 testCueDisplayBox = textTrackDisplayElement(video, 'display', 0);
64 testExpected("testCueDisplayBox.innerText", "Arabic");
65
66 testCueDisplayBox = textTrackDisplayElement(video, 'display', 1);
67 testExpected("testCueDisplayBox.innerText", "English");
68 }
69
70 function runTests() {
71 addTracks();
72 testCueActiveState();
73 testCueVisibility();
74 endTest();
75 }
76
77 function loaded()
78 {
79 consoleWrite("Test that cues are rendered when only the track mode i s changed");
80
81 findMediaElement();
82 video.src = findMediaFile('video', '../content/test');
83
84 waitForEvent('canplaythrough', runTests);
85 }
86
87 </script>
88 </head>
89 <body onload="loaded()">
90 <video controls ></video>
91 </body>
92 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698