| OLD | NEW |
| (Empty) |
| 1 <!DOCTYPE html> | |
| 2 <html> | |
| 3 <head> | |
| 4 <title>Shadow DOM: Element interface shadowRoot attribute</title> | |
| 5 <meta name="author" title="Ryosuke Niwa" href="mailto:rniwa@webkit.org"> | |
| 6 <meta name="assert" content="shadowRoot attribute on Element interface must retu
rn the associated open shadow tree if there is one"> | |
| 7 <link rel="help" href="https://w3c.github.io/webcomponents/spec/shadow/#the-shad
owroot-interface"> | |
| 8 <script src="../../../resources/testharness.js"></script> | |
| 9 <script src="../../../resources/testharnessreport.js"></script> | |
| 10 </head> | |
| 11 <body> | |
| 12 <div id="log"></div> | |
| 13 <script> | |
| 14 | |
| 15 test(function () { | |
| 16 assert_true('shadowRoot' in Element.prototype, 'shadowRoot must be defined o
n Element prototype'); | |
| 17 assert_true('shadowRoot' in document.createElement('div'), 'shadowRoot must
be defined on an instance of div element'); | |
| 18 assert_false('shadowRoot' in Node.prototype, 'shadowRoot must not be defined
on Node prototype'); | |
| 19 assert_false('shadowRoot' in Text.prototype, 'shadowRoot must not be defined
on Text prototype'); | |
| 20 assert_false('shadowRoot' in document.createTextNode(''), 'shadowRoot must n
ot be defined on an instance of Text node'); | |
| 21 assert_false('shadowRoot' in Comment.prototype, 'shadowRoot must not be defi
ned on Comment prototype'); | |
| 22 assert_false('shadowRoot' in document.createComment(''), 'shadowRoot must no
t be defined on an instance of Comment node'); | |
| 23 assert_false('shadowRoot' in Document.prototype, 'shadowRoot must not be def
ined on Document prototype'); | |
| 24 assert_false('shadowRoot' in document, 'shadowRoot must not be defined on an
instance of Document'); | |
| 25 assert_false('shadowRoot' in DocumentFragment.prototype, 'shadowRoot must no
t be defined on DocumentFragment prototype'); | |
| 26 assert_false('shadowRoot' in (new DOMParser).parseFromString('', 'text/html'
), 'shadowRoot must not be defined on an instance of DocumentFragment node'); | |
| 27 }, 'shadowRoot must be defined on Element prototype'); | |
| 28 | |
| 29 test(function () { | |
| 30 var host = document.createElement('div'); | |
| 31 assert_equals(host.shadowRoot, null, 'shadowRoot must return null when the h
ost does not have a shadow tree attached to it'); | |
| 32 | |
| 33 var openShadowRoot = host.attachShadow({mode: 'open'}); | |
| 34 assert_equals(host.shadowRoot, openShadowRoot, 'shadowRoot must return the o
pen shadow root attachShadow attached'); | |
| 35 }, 'shadowRoot attribute must return the open shadow root associated with the el
ement'); | |
| 36 | |
| 37 test(function () { | |
| 38 var host = document.createElement('div'); | |
| 39 host.attachShadow({mode: 'closed'}); | |
| 40 assert_equals(host.shadowRoot, null); | |
| 41 }, 'shadowRoot attribute must return null if the shadow root attached to the ele
ment is closed'); | |
| 42 | |
| 43 </script> | |
| 44 </body> | |
| 45 </html> | |
| OLD | NEW |