| <!DOCTYPE html> |
| <html> |
| <head> |
| <script src="resources/shadow-dom.js"></script> |
| </head> |
| <body> |
| <script> |
| function description(text) { |
| return createDOM("div", {}, |
| document.createTextNode(text)); |
| } |
| |
| function createSpanWithText(text) { |
| return createDOM("span", {}, |
| document.createTextNode(text + " ")); |
| } |
| |
| var testcases = [ |
| description('A shadow element without an element'), |
| createDOM('div', {}, |
| createSpanWithText("host-child"), |
| createShadowRoot( |
| createSpanWithText("before0"), |
| createDOM("content", {}), |
| createSpanWithText("after0")), |
| createShadowRoot( |
| createSpanWithText("before1"), |
| createDOM("shadow", {}), |
| createSpanWithText("after1"))), |
| |
| description('A shadow element with an element'), |
| createDOM('div', {}, |
| createSpanWithText("host-child"), |
| createShadowRoot( |
| createSpanWithText("before0"), |
| createDOM("content", {}), |
| createSpanWithText("after0")), |
| createShadowRoot( |
| createSpanWithText("before1"), |
| createDOM("shadow", {}, |
| createSpanWithText("shadow-child")), |
| createSpanWithText("after1"))), |
| |
| description('A shadow element with a content element and an element'), |
| createDOM('div', {}, |
| createSpanWithText("host-child"), |
| createShadowRoot( |
| createSpanWithText("before0"), |
| createDOM("content", {}), |
| createSpanWithText("after0")), |
| createShadowRoot( |
| createSpanWithText("before1"), |
| createDOM("shadow", {}, |
| createDOM("content", {}), |
| createSpanWithText("shadow-child")), |
| createSpanWithText("after1"))), |
| |
| description('A shadow element as a descendant of a content element'), |
| createDOM('div', {}, |
| createSpanWithText("host-child"), |
| createShadowRoot( |
| createSpanWithText("before0"), |
| createDOM("content", {}), |
| createSpanWithText("after0")), |
| createShadowRoot( |
| createSpanWithText("before1"), |
| createDOM("content", {}, |
| createDOM("shadow", {})), |
| createSpanWithText("after1"))), |
| |
| description('A shadow element as a descendant of a shadow element'), |
| createDOM('div', {}, |
| createSpanWithText("host-child"), |
| createShadowRoot( |
| createSpanWithText("before0"), |
| createDOM("content", {}), |
| createSpanWithText("after0")), |
| createShadowRoot( |
| createSpanWithText("before1"), |
| createDOM("shadow", {}, |
| createDOM("shadow", {}, |
| createSpanWithText("inactive-shadow-child"))), |
| createSpanWithText("after1"))), |
| |
| description('A complex case'), |
| createDOM('div', {}, |
| createSpanWithText("host-child"), |
| createShadowRoot( |
| createSpanWithText("before0"), |
| createDOM("content", {}), |
| createSpanWithText("after0")), |
| createShadowRoot( |
| createSpanWithText("before1"), |
| createDOM("shadow", {}, |
| createSpanWithText("shadow-1-child-1"), |
| createDOM("content", {}), |
| createSpanWithText("shadow-1-child-2")), |
| createSpanWithText("after1")), |
| createShadowRoot( |
| createSpanWithText("before2"), |
| createDOM("shadow", {}, |
| createSpanWithText("shadow-2-child-1"), |
| createDOM("content", {}), |
| createSpanWithText("shadow-2-child-2")), |
| createSpanWithText("after2"))), |
| ]; |
| |
| testcases.forEach(function(element) { |
| document.body.appendChild(element); |
| }); |
| </script> |
| </body> |
| </html> |