OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <html> | 2 <html> |
3 <head> | 3 <head> |
4 <script src="../../js/resources/js-test-pre.js"></script> | 4 <script src="../../js/resources/js-test-pre.js"></script> |
5 </head> | 5 </head> |
6 <body> | 6 <body> |
7 <script> | 7 <script> |
8 description('Using document.register() for extending HTML and non-HTML elements.
'); | 8 description('Using document.register() for extending HTML and non-HTML elements.
'); |
9 | 9 |
10 function createElementFromHTML(html) | 10 function createElementFromHTML(html) |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
53 shouldBeFalse('notSVG1 instanceof CustomSVGElement'); | 53 shouldBeFalse('notSVG1 instanceof CustomSVGElement'); |
54 shouldBeFalse('notSVG1 instanceof HTMLUnknownElement'); | 54 shouldBeFalse('notSVG1 instanceof HTMLUnknownElement'); |
55 shouldBeTrue('notSVG1 instanceof HTMLElement'); | 55 shouldBeTrue('notSVG1 instanceof HTMLElement'); |
56 shouldBe('Object.getPrototypeOf(notSVG1)', 'HTMLElement.prototype'); | 56 shouldBe('Object.getPrototypeOf(notSVG1)', 'HTMLElement.prototype'); |
57 var notSVG2 = createElementFromHTML('<svg-foo></svg-foo>'); | 57 var notSVG2 = createElementFromHTML('<svg-foo></svg-foo>'); |
58 shouldBe('notSVG2.namespaceURI', '"http://www.w3.org/1999/xhtml"'); | 58 shouldBe('notSVG2.namespaceURI', '"http://www.w3.org/1999/xhtml"'); |
59 shouldBeFalse('notSVG2 instanceof CustomSVGElement'); | 59 shouldBeFalse('notSVG2 instanceof CustomSVGElement'); |
60 shouldBeFalse('notSVG2 instanceof HTMLUnknownElement'); | 60 shouldBeFalse('notSVG2 instanceof HTMLUnknownElement'); |
61 shouldBeTrue('notSVG2 instanceof HTMLElement'); | 61 shouldBeTrue('notSVG2 instanceof HTMLElement'); |
62 shouldBe('Object.getPrototypeOf(notSVG2)', 'HTMLElement.prototype'); | 62 shouldBe('Object.getPrototypeOf(notSVG2)', 'HTMLElement.prototype'); |
63 | |
64 // Trying to extend something outside HTML or SVG should throw a NAMESPACE_ERR | |
65 shouldThrow( | |
66 'document.register("xml-foo", { prototype: Object.create(Element.prototype)
})', | |
67 '"NamespaceError: Failed to call \'register\' on \'Document\' for type \'xml
-foo\': the prototype does not extend an HTML or SVG element."'); | |
68 | |
69 </script> | 63 </script> |
70 <script src="../../js/resources/js-test-post.js"></script> | 64 <script src="../../js/resources/js-test-post.js"></script> |
71 </body> | 65 </body> |
72 </html> | 66 </html> |
OLD | NEW |