diff --git a/custom-elements/CustomElementRegistry-getName.tentative.html b/custom-elements/CustomElementRegistry-getName.tentative.html new file mode 100644 index 00000000000000..9bd43d51080a83 --- /dev/null +++ b/custom-elements/CustomElementRegistry-getName.tentative.html @@ -0,0 +1,46 @@ + +Custom Elements: CustomElementRegistry.getName function + + + + + diff --git a/custom-elements/CustomElementRegistry.html b/custom-elements/CustomElementRegistry.html index b08cd120f631df..5b75fc651fcf74 100644 --- a/custom-elements/CustomElementRegistry.html +++ b/custom-elements/CustomElementRegistry.html @@ -623,45 +623,6 @@ assert_equals(customElements.get('existing-custom-element'), ExistingCustomElement); }, 'customElements.get return the constructor of the entry with the given name when there is a matching entry.'); -test(function () { - assert_equals(customElements.getName(class extends HTMLElement {}), null); -}, 'customElements.getName must return null when the registry does not contain an entry with the given constructor'); - -test(function () { - assert_throws_js(TypeError, function () { customElements.getName(undefined); }, - 'customElements.getName must throw a TypeError when the element interface is undefined'); - assert_throws_js(TypeError, function () { customElements.getName(null); }, - 'customElements.getName must throw a TypeError when the element interface is null'); - assert_throws_js(TypeError, function () { customElements.getName('foo-bar'); }, - 'customElements.getName must throw a TypeError when the element interface is a string'); - assert_throws_js(TypeError, function () { customElements.getName(1); }, - 'customElements.getName must throw a TypeError when the element interface is a number'); - assert_throws_js(TypeError, function () { customElements.getName({}); }, - 'customElements.getName must throw a TypeError when the element interface is an object'); - assert_throws_js(TypeError, function () { customElements.getName([]) }, - 'customElements.getName must throw a TypeError when the element interface is an array'); -}, 'customElements.getName must throw when the element interface is not a constructor'); - -test(function () { - class OtherExistingCustomElement extends HTMLElement {}; - class SecondExistingCustomElement extends HTMLElement {}; - assert_throws_js(TypeError, function () { customElements.getName(customElements.getName(OtherExistingCustomElement)); }, - 'customElements.getName must throw a TypeError when the element interface is undefined'); - customElements.define('other-existing-custom-element', OtherExistingCustomElement); - customElements.define('second-existing-custom-element', SecondExistingCustomElement); - assert_equals(customElements.getName(OtherExistingCustomElement), 'other-existing-custom-element'); - assert_equals(customElements.getName(SecondExistingCustomElement), 'second-existing-custom-element'); -}, 'customElements.getName returns the name of the entry with the given constructor when there is a matching entry.'); - -test(function () { - class ButtonCustomBuiltInElement extends HTMLButtonElement {}; - class InputCustomBuiltInElement extends HTMLInputElement {}; - customElements.define('button-custom-built-in-element', ButtonCustomBuiltInElement, { extends: 'button' }); - customElements.define('input-custom-built-in-element', InputCustomBuiltInElement, { extends: 'input' }); - assert_equals(customElements.getName(ButtonCustomBuiltInElement), 'button-custom-built-in-element'); - assert_equals(customElements.getName(InputCustomBuiltInElement), 'input-custom-built-in-element'); -}, 'customElements.getName returns the name of the entry with the given customized built in constructor when there is a matching entry.'); - test(function () { assert_true(customElements.whenDefined('some-name') instanceof Promise); }, 'customElements.whenDefined must return a promise for a valid custom element name');