mirror of
https://github.com/servo/servo.git
synced 2025-10-04 02:29:12 +01:00
Test steps 4 and 5 of the HTMLConstructor
This commit is contained in:
parent
1f3fd77d8f
commit
81e28a2b5f
2 changed files with 13 additions and 1 deletions
|
@ -27,6 +27,18 @@ test(function () {
|
|||
assert_throws({'name': 'TypeError'}, function () { new SomeCustomElement; });
|
||||
}, 'HTMLElement constructor must throw TypeError when it has not been defined by customElements.define');
|
||||
|
||||
test(function () {
|
||||
class SomeCustomElement extends HTMLParagraphElement {};
|
||||
customElements.define('some-custom-element', SomeCustomElement);
|
||||
assert_throws({'name': 'TypeError'}, function () { new SomeCustomElement(); });
|
||||
}, 'Custom element constructor must throw TypeError when it does not extend HTMLElement');
|
||||
|
||||
test(function () {
|
||||
class SomeCustomButtonElement extends HTMLButtonElement {};
|
||||
customElements.define('some-custom-button-element', SomeCustomButtonElement, { extends: "p" });
|
||||
assert_throws({'name': 'TypeError'}, function () { new SomeCustomButtonElement(); });
|
||||
}, 'Custom element constructor must throw TypeError when it does not extend the proper element interface');
|
||||
|
||||
test(function () {
|
||||
class CustomElementWithInferredTagName extends HTMLElement {};
|
||||
customElements.define('inferred-name', CustomElementWithInferredTagName);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue