| |
| PASS CustomElementRegistry interface must have define as a method |
| PASS customElements.define must throw when the element interface is not a constructor |
| PASS customElements.define must not throw the constructor is HTMLElement |
| PASS customElements.define must throw with an invalid name |
| PASS customElements.define must throw when there is already a custom element of the same name |
| PASS customElements.define must throw a NotSupportedError when there is already a custom element with the same class |
| PASS customElements.define must throw a NotSupportedError when element definition is running flag is set |
| PASS customElements.define must check IsConstructor on the constructor before checking the element definition is running flag |
| PASS customElements.define must validate the custom element name before checking the element definition is running flag |
| PASS customElements.define unset the element definition is running flag before upgrading custom elements |
| FAIL customElements.define must not throw when defining another custom element in a different global object during Get(constructor, "prototype") assert_array_equals: customElements.define must get "prototype", "disabledFeatures", and "formAssociated" on the constructor lengths differ, expected array ["prototype", "disabledFeatures", "formAssociated"] length 3, got ["prototype", "disabledFeatures"] length 2 |
| PASS Custom Elements: CustomElementRegistry interface |
| FAIL customElements.define must get "prototype", "disabledFeatures", and "formAssociated" property of the constructor assert_array_equals: lengths differ, expected array ["prototype", "disabledFeatures", "formAssociated"] length 3, got ["prototype", "disabledFeatures"] length 2 |
| PASS customElements.define must rethrow an exception thrown while getting "prototype" property of the constructor |
| PASS customElements.define must throw when "prototype" property of the constructor is not an object |
| PASS customElements.define must get callbacks of the constructor prototype |
| PASS customElements.define must rethrow an exception thrown while getting callbacks on the constructor prototype |
| PASS customElements.define must rethrow an exception thrown while converting a callback value to Function callback type |
| FAIL customElements.define must get "observedAttributes" property on the constructor prototype when "attributeChangedCallback" is present assert_array_equals: lengths differ, expected array [0, "prototype", 5, "observedAttributes", 6, "disabledFeatures", 7, "formAssociated"] length 8, got [0, "prototype", 5, "observedAttributes", 6, "disabledFeatures"] length 6 |
| PASS customElements.define must rethrow an exception thrown while getting observedAttributes on the constructor prototype |
| PASS customElements.define must rethrow an exception thrown while converting the value of observedAttributes to sequence<DOMString> |
| PASS customElements.define must rethrow an exception thrown while iterating over observedAttributes to sequence<DOMString> |
| PASS customElements.define must rethrow an exception thrown while retrieving Symbol.iterator on observedAttributes |
| PASS customElements.define must not throw even if "observedAttributes" fails to convert if "attributeChangedCallback" is not defined |
| PASS customElements.define must rethrow an exception thrown while getting disabledFeatures on the constructor prototype |
| PASS customElements.define must rethrow an exception thrown while converting the value of disabledFeatures to sequence<DOMString> |
| PASS customElements.define must rethrow an exception thrown while iterating over disabledFeatures to sequence<DOMString> |
| PASS customElements.define must rethrow an exception thrown while retrieving Symbol.iterator on disabledFeatures |
| FAIL customElements.define must rethrow an exception thrown while getting formAssociated on the constructor prototype assert_throws_exactly: function "() => customElements.define('element-with-throwing-form-associated', proxy)" did not throw |
| FAIL customElements.define must get four additional callbacks on the prototype if formAssociated is converted to true assert_array_equals: customElements.define must get "prototype", "disabledFeatures", and "formAssociated" on the constructor lengths differ, expected array ["prototype", "disabledFeatures", "formAssociated"] length 3, got ["prototype", "disabledFeatures"] length 2 |
| FAIL customElements.define must rethrow an exception thrown while getting additional formAssociated callbacks on the constructor prototype assert_throws_exactly: function "() => customElements.define('element-with-throwing-callback-2', proxy)" did not throw |
| PASS customElements.define must define an instantiatable custom element |
| PASS customElements.define must upgrade elements in the shadow-including tree order |
| PASS CustomElementRegistry interface must have get as a method |
| PASS customElements.get must return undefined when the registry does not contain an entry with the given name |
| PASS customElements.get must return undefined when the registry does not contain an entry with the given name even if the name was not a valid custom element name |
| PASS customElements.get return the constructor of the entry with the given name when there is a matching entry. |
| PASS customElements.whenDefined must return a promise for a valid custom element name |
| PASS customElements.whenDefined must return the same promise each time invoked for a valid custom element name which has not been defined |
| PASS customElements.whenDefined must return an unresolved promise when the registry does not contain the entry with the given name |
| PASS customElements.whenDefined must return a rejected promise when the given name is not a valid custom element name |
| PASS customElements.whenDefined must return a resolved promise when the registry contains the entry with the given name |
| PASS customElements.whenDefined must return a new resolved promise each time invoked when the registry contains the entry with the given name |
| PASS A promise returned by customElements.whenDefined must be resolved by "define" |
| PASS A promise returned by customElements.whenDefined must be resolved with the defined class |
| PASS A promise returned by customElements.whenDefined must be resolved with the defined class once such class is defined |
| |