зеркало из https://github.com/mozilla/gecko-dev.git
92 строки
3.2 KiB
HTML
92 строки
3.2 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>Custom Elements: CEReactions on Element interface</title>
|
|
<meta name="author" title="Ryosuke Niwa" href="mailto:rniwa@webkit.org">
|
|
<meta name="assert" content="id, className, slot, setAttribute, setAttributeNS, removeAttribute, removeAttributeNS, setAttributeNode, setAttributeNodeNS, removeAttributeNode, insertAdjacentElement, innerHTML, outerHTML, and insertAdjacentHTML of Element interface must have CEReactions">
|
|
<meta name="help" content="https://dom.spec.whatwg.org/#element">
|
|
<meta name="help" content="https://w3c.github.io/DOM-Parsing/">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="../resources/custom-elements-helpers.js"></script>
|
|
<script src="./resources/reactions.js"></script>
|
|
</head>
|
|
<body>
|
|
<div id="log"></div>
|
|
<script>
|
|
|
|
testReflectAttribute('id', 'id', 'foo', 'bar', 'id on Element');
|
|
testReflectAttribute('className', 'class', 'foo', 'bar', 'className on Element');
|
|
testReflectAttribute('slot', 'slot', 'foo', 'bar', 'slot on Element');
|
|
|
|
testAttributeAdder(function (element, name, value) {
|
|
element.setAttribute(name, value);
|
|
}, 'setAttribute on Element');
|
|
|
|
testAttributeAdder(function (element, name, value) {
|
|
element.setAttributeNS(null, name, value);
|
|
}, 'setAttributeNS on Element');
|
|
|
|
testAttributeRemover(function (element, name) {
|
|
element.removeAttribute(name);
|
|
}, 'removeAttribute on Element');
|
|
|
|
testAttributeRemover(function (element, name) {
|
|
element.removeAttributeNS(null, name);
|
|
}, 'removeAttributeNS on Element');
|
|
|
|
testAttributeRemover(function (element, name, value) {
|
|
if (element.hasAttribute(name))
|
|
element.toggleAttribute(name);
|
|
}, 'toggleAttribute (only removes) on Element');
|
|
|
|
testAttributeRemover(function (element, name, value) {
|
|
element.toggleAttribute(name, false);
|
|
}, 'toggleAttribute (force false) on Element');
|
|
|
|
testAttributeAdder(function (element, name, value) {
|
|
var attr = document.createAttribute(name);
|
|
attr.value = value;
|
|
element.setAttributeNode(attr);
|
|
}, 'setAttributeNode on Element');
|
|
|
|
testAttributeAdder(function (element, name, value) {
|
|
var attr = document.createAttribute(name);
|
|
attr.value = value;
|
|
element.setAttributeNodeNS(attr);
|
|
}, 'setAttributeNodeNS on Element');
|
|
|
|
testAttributeRemover(function (element, name) {
|
|
var attr = element.getAttributeNode(name);
|
|
if (attr)
|
|
element.removeAttributeNode(element.getAttributeNode(name));
|
|
}, 'removeAttributeNode on Element');
|
|
|
|
testNodeConnector(function (newContainer, element) {
|
|
newContainer.insertAdjacentElement('afterBegin', element);
|
|
}, 'insertAdjacentElement on Element');
|
|
|
|
testInsertingMarkup(function (newContainer, markup) {
|
|
newContainer.innerHTML = markup;
|
|
}, 'innerHTML on Element');
|
|
|
|
testNodeDisconnector(function (customElement) {
|
|
customElement.parentNode.innerHTML = '';
|
|
}, 'innerHTML on Element');
|
|
|
|
testInsertingMarkup(function (newContainer, markup) {
|
|
newContainer.firstChild.outerHTML = markup;
|
|
}, 'outerHTML on Element');
|
|
|
|
testNodeDisconnector(function (customElement) {
|
|
customElement.outerHTML = '';
|
|
}, 'outerHTML on Element');
|
|
|
|
testInsertingMarkup(function (newContainer, markup) {
|
|
newContainer.insertAdjacentHTML('afterBegin', markup);
|
|
}, 'insertAdjacentHTML on Element');
|
|
|
|
</script>
|
|
</body>
|
|
</html>
|