blob: f5d96643ba23e6549d854649912626668f6118a1 [file] [log] [blame] [edit]
<!DOCTYPE HTML>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
class TestElement extends HTMLElement {
constructor() {
super();
this._internals = this.attachInternals();
}
get internals() {
return this._internals;
}
set internals(val) {
throw "Can't set internals!";
}
}
customElements.define("test-element", TestElement);
</script>
<test-element id= "testElement"></test-element>
<script>
const element = document.getElementById("testElement");
const properties = [
"role",
"ariaActiveDescendant",
"ariaAtomic",
"ariaAutoComplete",
"ariaBusy",
"ariaChecked",
"ariaColCount",
"ariaColIndex",
"ariaColSpan",
"ariaControls",
"ariaCurrent",
"ariaDescribedBy",
"ariaDetails",
"ariaDisabled",
"ariaErrorMessage",
"ariaExpanded",
"ariaFlowTo",
"ariaHasPopup",
"ariaHidden",
"ariaKeyShortcuts",
"ariaLabel",
"ariaLabelledBy",
"ariaLevel",
"ariaLive",
"ariaModal",
"ariaMultiLine",
"ariaMultiSelectable",
"ariaOrientation",
"ariaOwns",
"ariaPlaceholder",
"ariaPosInSet",
"ariaPressed",
"ariaReadOnly",
"ariaRelevant",
"ariaRequired",
"ariaRoleDescription",
"ariaRowCount",
"ariaRowIndex",
"ariaRowSpan",
"ariaSelected",
"ariaSort",
"ariaValueMax",
"ariaValueMin",
"ariaValueNow",
"ariaValueText"
];
for (const property of properties) {
test(() => {
assert_inherits(element.internals, property);
}, property + " is defined in ElementInternals");
}
</script>