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

Side by Side Diff: third_party/WebKit/LayoutTests/media/video-defaultmuted.html

Issue 2126753002: Convert video-[default, size, timeupdate]* tests to testharness.js (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 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 "muted" content attribute.</title>
3 <head> 3 <script src="../resources/testharness.js"></script>
4 <!-- TODO(foolip): Convert test to testharness.js. crbug.com/588956 4 <script src="../resources/testharnessreport.js"></script>
5 (Please avoid writing new tests using video-test.js) --> 5 <script src="media-file.js"></script>
6 <script src=video-test.js></script> 6 <script>
7 <script src=media-file.js></script> 7 function test_muted_content_attribute(defaultMuted) {
8 <script> 8 async_test(function(t) {
9 var index = 0; 9 var video = document.createElement("video");
10 if (defaultMuted)
11 video.setAttribute("muted", "muted");
10 12
11 function testMuted(expectedMuted, expectedDefaultMuted) 13 // Test before setting src, IDL attribute should default to false.
12 { 14 testMuted(false, defaultMuted);
13 testExpected("video.muted", expectedMuted);
14 testExpected("video.defaultMuted", expectedDefaultMuted);
15 }
16 15
17 function test(defaultMuted) 16 video.onloadedmetadata = t.step_func_done(function() {
18 { 17 // After setting url, content attribute should have set IDL attribut e.
foolip 2016/07/06 09:22:22 This is actually wrong per spec, can you link to h
Srirama 2016/07/06 15:03:45 Done.
19 consoleWrite("<br><br><b>*** Test <em>" + (defaultMuted ? "with" : "without") + "</em> 'muted' content attribute</b><br>"); 18 testMuted(defaultMuted, defaultMuted);
20 19
21 run("video = document.createElement('video')"); 20 // Change "defaultMuted", IDL attribute should not change but conten t attribute should.
22 run("video.setAttribute('controls', 'controls')"); 21 var newDefaultMuted = !defaultMuted;
23 video.setAttribute('width', '300'); 22 video.defaultMuted = newDefaultMuted;
24 if (defaultMuted) 23 testMuted(defaultMuted, newDefaultMuted);
25 run("video.setAttribute('muted', 'muted')"); 24 assert_equals(video.hasAttribute("muted"), newDefaultMuted);
26 document.getElementById('parent').appendChild(video);
27 25
28 consoleWrite("<br>*** Test before setting src, IDL attribute sho uld default to false"); 26 // Change "muted" IDL attribute, content attribute should not change .
29 testMuted(false, defaultMuted); 27 video.muted = false;
28 testMuted(false, newDefaultMuted);
29 assert_equals(video.hasAttribute("muted"), newDefaultMuted);
30 30
31 var loadedmetadata = function(evt) 31 // Removing/adding "muted" content attribute should have no effect o n IDL attribute.
32 { 32 if (defaultMuted)
33 consoleWrite("<br>EVENT(" + evt.type + ")"); 33 video.removeAttribute("muted");
34 else
35 video.setAttribute("muted", "muted");
36 testMuted(false, video.hasAttribute("muted"));
37 });
34 38
35 consoleWrite("<br>*** After setting url, content attribute s hould have set IDL attribute"); 39 function testMuted(expectedMuted, expectedDefaultMuted) {
36 testMuted(defaultMuted, defaultMuted); 40 assert_equals(video.muted, expectedMuted);
foolip 2016/07/06 09:22:22 Can you inline these two asserts everywhere instea
Srirama 2016/07/06 15:03:45 Done.
41 assert_equals(video.defaultMuted, expectedDefaultMuted);
42 }
37 43
38 consoleWrite("<br>*** Change 'defaultMuted', IDL attribute s hould not change but content attribute should."); 44 video.src = findMediaFile("audio", "content/test");
39 var newDefaultMuted = !defaultMuted; 45 }, "Test 'muted' content attribute with default value: " + (defaultMuted ? " On" : "Off"));
40 run("video.defaultMuted = " + newDefaultMuted); 46 }
41 testMuted(defaultMuted, newDefaultMuted);
42 testExpected("video.hasAttribute('muted')", newDefaultMuted) ;
43 47
44 consoleWrite("<br>*** Change 'muted' IDL attribute, content attribute should not change"); 48 test_muted_content_attribute(true);
foolip 2016/07/06 09:22:22 I think the structure here is not as clear as it c
Srirama 2016/07/06 15:03:45 Done.
45 run("video.muted = false"); 49 test_muted_content_attribute(false);
46 testMuted(false, newDefaultMuted); 50 </script>
47 testExpected("video.hasAttribute('muted')", newDefaultMuted) ;
48
49 var action = defaultMuted ? "Remove" : "Add";
50 consoleWrite("<br>*** " + action + " 'muted' content attribu te, it should have no effect on IDL attribute");
51 if (defaultMuted)
52 run("video.removeAttribute('muted')");
53 else
54 run("video.setAttribute('muted', 'muted')");
55 testMuted(false, video.hasAttribute('muted'));
56
57 runNextTest();
58 }
59 video.addEventListener('loadedmetadata', loadedmetadata);
60 video.src = findMediaFile("audio", "content/test");
61 }
62
63 function runNextTest()
64 {
65 if (video) {
66 video.parentNode.removeChild(video);
67 video = null;
68 }
69
70 switch (++index)
71 {
72 case 1:
73 test(true);
74 break;
75 case 2:
76 test(false);
77 break;
78 case 3:
79 consoleWrite("");
80 endTest();
81 break;
82 }
83 }
84
85 </script>
86 </head>
87
88 <body onload="runNextTest()">
89 <div id="parent"></div>
90 <p>Test 'muted' content attribute<p>
91 </body>
92 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698