OLD | NEW |
| (Empty) |
1 <!DOCTYPE html> | |
2 <html> | |
3 <head> | |
4 <meta name='author' title='Google' href='http://www.google.com'> | |
5 <meta name='assert' content='document attributes that returns HTMLCollection sho
uld not expose nodes in shadow tree.'> | |
6 <link rel='help' href='https://w3c.github.io/webcomponents/spec/shadow/'> | |
7 <script src='../../../../resources/testharness.js'></script> | |
8 <script src='../../../../resources/testharnessreport.js'></script> | |
9 </head> | |
10 <body> | |
11 <template id='collection-template'> | |
12 <img> | |
13 <embed></embed> | |
14 <plugin></plugin> | |
15 <applet></applet> | |
16 <object type='application/x-java-applet'></object> | |
17 <a href='http://example.com'></a> | |
18 <a name='test'></a> | |
19 <form name='test'></form> | |
20 <script></script> | |
21 </template> | |
22 <div id='doc'></div> | |
23 <div id='host-open'></div> | |
24 <div id='host-closed'></div> | |
25 </body> | |
26 <script> | |
27 'use strict'; | |
28 | |
29 function fillTemplate(root, prefix) { | |
30 var tmpl = document.getElementById('collection-template'); | |
31 root.appendChild(document.importNode(tmpl.content, true)); | |
32 for (var i = 0; i < root.childNodes.length; ++i) { | |
33 var el = root.childNodes[i]; | |
34 if (el.nodeType != 1) | |
35 continue; | |
36 el.id = prefix + el.tagName.toLowerCase(); | |
37 } | |
38 } | |
39 | |
40 // Construct subtree with 'doc-*' ids. | |
41 var doc = document.getElementById('doc'); | |
42 fillTemplate(doc, 'doc-'); | |
43 | |
44 // Construct shadow subtree with 'shadow-*' ids. | |
45 var host = document.getElementById('host-open'); | |
46 var shadow = host.attachShadow({mode: 'open'}); | |
47 fillTemplate(shadow, 'shadow-open-'); | |
48 | |
49 host = document.getElementById('host-closed'); | |
50 shadow = host.attachShadow({mode: 'closed'}); | |
51 fillTemplate(shadow, 'shadow-closed-'); | |
52 | |
53 function testCollection(collection) { | |
54 var elements = document[collection]; | |
55 assert_greater_than(elements.length, 0, 'document.' + collection + ' should
have at least 1 element.'); | |
56 for (var i = 0; i < elements.length; ++i) { | |
57 if (elements[i].id) { | |
58 assert_equals(elements[i].id.indexOf('shadow-'), -1, 'document.' + c
ollection + ' should not contain elements in shadow tree.'); | |
59 } | |
60 } | |
61 } | |
62 | |
63 var testParams = [ | |
64 ['document.scripts should not contain shadow nodes', 'scripts'], | |
65 ['document.all should not contain shadow nodes', 'all'], | |
66 ['document.forms should not contain shadow nodes', 'forms'], | |
67 ['document.images should not contain shadow nodes', 'images'], | |
68 ['document.links should not contain shadow nodes', 'links'], | |
69 ['document.anchors should not contain shadow nodes', 'anchors'], | |
70 ['document.embeds should not contain shadow nodes', 'embeds'], | |
71 ['document.plugins should not contain shadow nodes', 'plugins'], | |
72 ['document.applets should not contain shadow nodes', 'applets']]; | |
73 | |
74 generate_tests(testCollection, testParams); | |
75 | |
76 </script> | |
77 </html> | |
OLD | NEW |