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

Side by Side Diff: third_party/WebKit/LayoutTests/media/track/track-cue-mutable-fragment.html

Issue 1879353002: Convert track tests from video-test.js to testharness.js based (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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 cue fragment is mutable.</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="../../resources/testharness.js"></script>
5 <script src="../../resources/testharnessreport.js"></script>
6 <style>
7 p, div { display: none; }
8 </style>
9 <video>
10 <track src="captions-webvtt/captions-html.vtt" kind="captions" default >
11 </video>
12 <p>Fragment 1</p>
13 <div></div>
5 14
6 <script src=../media-file.js></script> 15 <p>Fragment 2</p>
7 <!-- TODO(philipj): Convert test to testharness.js. crbug.com/588956 16 <div></div>
8 (Please avoid writing new tests using video-test.js) --> 17 <script>
9 <script src=../video-test.js></script> 18 async_test(function(t) {
10 <script src=../media-controls.js></script> 19 var video = document.querySelector("video");
20 var testTrack = document.querySelector("track");
11 21
12 <script> 22 video.oncanplaythrough = t.step_func(testMutability);
23 testTrack.onload = t.step_func(testMutability);
13 24
14 var testTrack; 25 var fragment;
15 var testCue; 26 var eventCount = 0;
16 var fragment; 27 function testMutability() {
28 eventCount++;
29 if (eventCount == 2) {
30 var testCue = testTrack.track.cues[0];
17 31
18 function createExpectedFragment(rootNode) 32 // Test initial cue contents.
19 { 33 assert_equals(testCue.text, "Lorem <b>ipsum</b> <u>dolor</u> <i.sit> sit</i> amet,");
20 fragment = rootNode;
21 fragment.appendChild(document.createTextNode("Lorem "));
22 34
23 var bold = document.createElement("b"); 35 // Cue getCueAsHTML() should return a correct fragment.
24 bold.appendChild(document.createTextNode("ipsum")); 36 createExpectedFragment(document.createDocumentFragment());
25 fragment.appendChild(bold); 37 assert_true(fragment.isEqualNode(testCue.getCueAsHTML()));
26 38
27 fragment.appendChild(document.createTextNode(" ")); 39 // Appending getCuesAsHTML() twice to the DOM should be succesful.
40 document.getElementsByTagName("div")[0].appendChild(testCue.getCueAs HTML());
41 document.getElementsByTagName("div")[1].appendChild(testCue.getCueAs HTML());
28 42
29 var underline = document.createElement("u"); 43 createExpectedFragment(document.createElement("div"));
30 underline.appendChild(document.createTextNode("dolor")); 44 assert_true(fragment.isEqualNode(document.getElementsByTagName("div" )[0]));
31 fragment.appendChild(underline); 45 assert_true(fragment.isEqualNode(document.getElementsByTagName("div" )[1]));
32 46
33 fragment.appendChild(document.createTextNode(" ")); 47 // The fragment returned by getCuesAsHTML() should be independently mutable.
48 document.getElementsByTagName("div")[0].firstChild.textContent = "Di fferent text ";
49 assert_false(fragment.isEqualNode(document.getElementsByTagName("div ")[0]));
50 assert_true(fragment.isEqualNode(document.getElementsByTagName("div" )[1]));
34 51
35 var italics = document.createElement("i"); 52 // Calling twice getCueAsHTML() should not return the same fragment.
36 italics.className = "sit"; 53 assert_false(testCue.getCueAsHTML() == testCue.getCueAsHTML());
37 italics.appendChild(document.createTextNode("sit"));
38 fragment.appendChild(italics);
39 54
40 fragment.appendChild(document.createTextNode(" amet,")); 55 t.done();
41 } 56 }
57 }
42 58
43 function testMutability() 59 function createExpectedFragment(rootNode) {
44 { 60 fragment = rootNode;
45 run("testCue = testTrack.track.cues[0]"); 61 fragment.appendChild(document.createTextNode("Lorem "));
46 62
47 consoleWrite("<br>** Test initial cue contents"); 63 var bold = document.createElement("b");
48 testExpected("testCue.text", "Lorem <b>ipsum</b> <u>dolor</u> <i.sit >sit</i> amet,"); 64 bold.appendChild(document.createTextNode("ipsum"));
65 fragment.appendChild(bold);
49 66
50 consoleWrite("<br>** Cue getCueAsHTML() should return a correct frag ment"); 67 fragment.appendChild(document.createTextNode(" "));
51 createExpectedFragment(document.createDocumentFragment());
52 testExpected("fragment.isEqualNode(testCue.getCueAsHTML())", true);
53 68
54 consoleWrite("<br>** Appending getCuesAsHTML() twice to the DOM shou ld be succesful"); 69 var underline = document.createElement("u");
55 run("document.getElementsByTagName('div')[0].appendChild(testCue.get CueAsHTML())"); 70 underline.appendChild(document.createTextNode("dolor"));
56 run("document.getElementsByTagName('div')[1].appendChild(testCue.get CueAsHTML())"); 71 fragment.appendChild(underline);
57 72
58 createExpectedFragment(document.createElement('div')); 73 fragment.appendChild(document.createTextNode(" "));
59 testExpected("fragment.isEqualNode(document.getElementsByTagName('di v')[0])", true);
60 testExpected("fragment.isEqualNode(document.getElementsByTagName('di v')[1])", true);
61 74
62 consoleWrite("<br>** The fragment returned by getCuesAsHTML() should be independently mutable"); 75 var italics = document.createElement("i");
63 run("document.getElementsByTagName('div')[0].firstChild.textContent = 'Different text '"); 76 italics.className = "sit";
64 testExpected("fragment.isEqualNode(document.getElementsByTagName('di v')[0])", false); 77 italics.appendChild(document.createTextNode("sit"));
65 testExpected("fragment.isEqualNode(document.getElementsByTagName('di v')[1])", true); 78 fragment.appendChild(italics);
66 79
67 consoleWrite("<br>** Calling twice getCueAsHTML() should not return the same fragment"); 80 fragment.appendChild(document.createTextNode(" amet,"));
68 testExpected("testCue.getCueAsHTML() == testCue.getCueAsHTML()", fal se); 81 }
69 82
70 consoleWrite(""); 83 video.src = findMediaFile("video", "../content/counting");
71 endTest(); 84 });
72 } 85 </script>
73
74 function loaded()
75 {
76 findMediaElement();
77 testTrack = document.querySelector('track');
78
79 waitForEventsAndCall([[video, 'canplaythrough'], [testTrack, 'load'] ], testMutability);
80
81 video.src = findMediaFile('video', '../content/counting');
82 }
83
84 </script>
85 </head>
86 <body onload="loaded()">
87 <video controls >
88 <track src="captions-webvtt/captions-html.vtt" kind="captions" defau lt >
89 </video>
90 <p>Test that cue text is mutable.</p>
91
92 <p>Fragment 1</p>
93 <div></div>
94
95 <p>Fragment 2</p>
96 <div></div>
97 </body>
98 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698