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'></div> |
| 24 </body> |
| 25 <script> |
| 26 'use strict'; |
| 27 |
| 28 function fillTemplate(root, prefix) { |
| 29 var tmpl = document.getElementById('collection-template'); |
| 30 root.appendChild(document.importNode(tmpl.content, true)); |
| 31 for (var i = 0; i < root.childNodes.length; ++i) { |
| 32 var el = root.childNodes[i]; |
| 33 if (el.nodeType != 1) |
| 34 continue; |
| 35 el.id = prefix + el.tagName.toLowerCase(); |
| 36 } |
| 37 } |
| 38 |
| 39 // Construct subtree with 'doc-*' ids. |
| 40 var doc = document.getElementById('doc'); |
| 41 fillTemplate(doc, 'doc-'); |
| 42 |
| 43 // Construct shadow subtree with 'shadow-*' ids. |
| 44 var host = document.getElementById('host'); |
| 45 var shadow = host.attachShadow({mode: 'open'}); |
| 46 fillTemplate(shadow, 'shadow-'); |
| 47 |
| 48 function testCollection(collection) { |
| 49 var elements = document[collection]; |
| 50 assert_greater_than(elements.length, 0, 'document.' + collection + ' should
have at least 1 element.'); |
| 51 for (var i = 0; i < elements.length; ++i) { |
| 52 if (elements[i].id) { |
| 53 assert_equals(elements[i].id.indexOf('shadow-'), -1, 'document.' + c
ollection + ' should not contain elements in shadow tree.'); |
| 54 } |
| 55 } |
| 56 } |
| 57 |
| 58 var testParams = [ |
| 59 ['document.scripts should not contain shadow nodes', 'scripts'], |
| 60 ['document.all should not contain shadow nodes', 'all'], |
| 61 ['document.forms should not contain shadow nodes', 'forms'], |
| 62 ['document.images should not contain shadow nodes', 'images'], |
| 63 ['document.links should not contain shadow nodes', 'links'], |
| 64 ['document.anchors should not contain shadow nodes', 'anchors'], |
| 65 ['document.embeds should not contain shadow nodes', 'embeds'], |
| 66 ['document.plugins should not contain shadow nodes', 'plugins'], |
| 67 ['document.applets should not contain shadow nodes', 'applets']]; |
| 68 |
| 69 generate_tests(testCollection, testParams); |
| 70 |
| 71 </script> |
| 72 </html> |
OLD | NEW |