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

Side by Side Diff: third_party/WebKit/LayoutTests/imported/wpt/svg/linking/scripted/href-script-element.html

Issue 2408493002: Import wpt@357b83b809e3cbc7a1805e7c3ca108a7980d782f (Closed)
Patch Set: Added one more win7-specific baseline Created 4 years, 2 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
(Empty)
1 <!DOCTYPE html>
2 <meta charset=utf-8>
3 <title>Href - script element tests</title>
4 <script src='/resources/testharness.js'></script>
5 <script src='/resources/testharnessreport.js'></script>
6 <script src='testcommon.js'></script>
7 <body>
8 <div id='log'></div>
9 <svg id='svg' width='100' height='100' viewBox='0 0 100 100'>
10 </svg>
11 <script>
12 'use strict';
13
14 // Note:
15 // The order of these tests shouldn't be changed because we don't unload
16 // the external script file even if we expect the <script> element will be
17 // removed by childNode.remove() and Garbage Collection after a test has been
18 // finished. Therefore, I intentionally make them load externalScript1 and
19 // externalScript2 alternately, and we can check if the results are changed
20 // after reloading the other script.
21 // Throughout this test, we periodically need to verify that a script
22 // *does not load* after we've made a tweak. To do that, we have to
23 // wait "long enough for it to have loaded", and then make sure nothing
24 // has changed. We estimate "long enough" by adding an extra dummy
25 // <script> element and watching for its load event.
26
27 promise_test(function(t) {
28 var svg = document.getElementById('svg');
29 var script = createSVGElement(t, 'script', svg);
30
31 script.setAttribute('type', 'text/javascript');
32 script.setAttribute('href', 'testScripts/externalScript1.js');
33 assert_equals(script.href.baseVal, 'testScripts/externalScript1.js');
34
35 return waitEvent(script, 'load').then(function() {
36 assert_equals(loadedScript(), 'externalScript1',
37 'Link to correct external script');
38
39 script.setAttributeNS(XLINKNS, 'xlink:href',
40 'testScripts/externalScript2.js');
41
42 // Load an dummy script to trigger a load event.
43 var dummyScript = createSVGElement(t, 'script', svg);
44 dummyScript.setAttribute('href', 'testScripts/dummyScript.js');
45 return waitEvent(dummyScript, 'load');
46 }).then(function() {
47 assert_equals(script.href.baseVal, 'testScripts/externalScript1.js');
48 assert_equals(loadedScript(), 'externalScript1',
49 'Still link to the external script from href');
50 });
51 }, 'Test for loading external script from href when setting href and ' +
52 'then xlink:href');
53
54 promise_test(function(t) {
55 var svg = document.getElementById('svg');
56 var script = createSVGElement(t, 'script', svg);
57
58 script.setAttribute('type', 'text/javascript');
59 script.setAttributeNS(XLINKNS, 'xlink:href',
60 'testScripts/externalScript2.js');
61 assert_equals(script.href.baseVal, 'testScripts/externalScript2.js');
62
63 return waitEvent(script, 'load').then(function() {
64 assert_equals(loadedScript(), 'externalScript2',
65 'Link to the external script from xlink:href');
66
67 script.setAttribute('href', 'testScripts/externalScript1.js');
68
69 // Load an dummy script to trigger a load event.
70 var dummyScript = createSVGElement(t, 'script', svg);
71 dummyScript.setAttribute('href', 'testScripts/dummyScript.js');
72 return waitEvent(dummyScript, 'load');
73 }).then(function() {
74 assert_equals(script.href.baseVal, 'testScripts/externalScript1.js',
75 'href() should prefer href attribute over xlink:href');
76 assert_equals(loadedScript(), 'externalScript2',
77 'Still link to the external script from xlink:href');
78 });
79 }, 'Test for loading external script from xlnk:href by adding xlink:href and ' +
80 'then href');
81
82 promise_test(function(t) {
83 var svg = document.getElementById('svg');
84 var script = createSVGElement(t, 'script', svg);
85
86 script.setAttribute('type', 'text/javascript');
87 script.setAttribute('href', 'testScripts/externalScript1.js');
88 script.setAttributeNS(XLINKNS, 'xlink:href',
89 'testScripts/externalScript2.js');
90 assert_equals(script.href.baseVal, 'testScripts/externalScript1.js');
91
92 return waitEvent(script, 'load').then(function() {
93 assert_equals(loadedScript(), 'externalScript1',
94 'Link to the external script by href');
95
96 script.removeAttribute('href');
97 assert_equals(script.href.baseVal, 'testScripts/externalScript2.js',
98 'href() returns xlink:href attribute because href was unset');
99
100 // Load an dummy script to trigger a load event.
101 var dummyScript = createSVGElement(t, 'script', svg);
102 dummyScript.setAttribute('href', 'testScripts/dummyScript.js');
103 return waitEvent(dummyScript, 'load');
104 }).then(function() {
105 assert_equals(loadedScript(), 'externalScript1',
106 'The external script loaded from href is still loaded');
107 });
108 }, 'Test for loading external script from href by adding href and ' +
109 'then xlink:href, and then removing href');
110
111 </script>
112 </body>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698