add_task(async function testL10nAttrs() {
let el = await renderTemplate();
window.el = el;
defineExampleElement();
is(el.shadowRoot.textContent, "", "There's no text");
is(
el.dataset.l10nAttrs, "label,message,tooltiptext,rename,accesskey", "data-l10n-attrs is set"
);
await new Promise(r =>
el.addEventListener("label-changed", r, { once: true })
);
is(
el.shadowRoot.textContent, "Example label!And a message!Also a tooltiptext!Also renamed!E", "Text rendered automatically on upgrade"
);
is(el.accessKey, "E", "accessKey is mapped with custom attribute");
ok(!el.hasAttribute("accesskey"), "renamed attribute was removed");
});
add_task(async function testCustomL10nAttrs() {
let el = await renderTemplate( html`<example-element
data-l10n-id="has-custom-attr"
data-l10n-attrs="myattr"
></example-element>`
);
await new Promise(r =>
el.addEventListener("label-changed", r, { once: true })
);
is(
el.shadowRoot.textContent, "CustomAttribute!message!tooltiptext!rename!A", "Text rendered automatically on upgrade"
);
is(
el.dataset.l10nAttrs, "label,message,tooltiptext,rename,accesskey,myattr", "data-l10n-attrs is set"
);
is(
el.getAttribute("myattr"), "Custom attribute", "Custom attribute was set"
);
});
add_task(async function testMappedAttributes() {
let el = await renderTemplate( html`<example-element
accesskey="f"
mapped="mapped-val"
aria-label="Label!"
></example-element>`
);
is(el.accessKey, "f", "accessKey property is correct");
ok(!el.hasAttribute("accesskey"), "accesskey attribute was removed");
is(
el.mappedAttribute, "mapped-val", "mappedAttribute is mapped with custom attribute"
);
ok(!el.hasAttribute("mapped"), "mapped attribute was removed");
is(el.ariaLabel, "Label!", "ariaLabel property is set");
ok(!el.hasAttribute("aria-label"), "aria-label was removed");
});
</script>
</head>
<body>
<div id="render"></div>
</body>
</html>
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.19 Sekunden
(vorverarbeitet am 2026-08-26)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.