mirror of
https://github.com/servo/servo.git
synced 2025-07-12 18:03:49 +01:00
29 lines
1.5 KiB
HTML
29 lines
1.5 KiB
HTML
<!DOCTYPE html>
|
|
<meta charset=utf-8>
|
|
<title>Custom element's type is immutable.</title>
|
|
<meta name="author" title="Bon-Yong Lee" href="mailto:bylee78@gmail.com">
|
|
<meta name="assert" content="After a custom element is instantiated, changing the value of the is attribute must not affect this element's custom element type.">
|
|
<link rel="help" href="http://w3c.github.io/webcomponents/spec/custom/#instantiating-custom-elements">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<div id="log"></div>
|
|
<script type="text/javascript">
|
|
test(function() {
|
|
var CustomButton = document.registerElement('custom-button', {
|
|
prototype: Object.create(HTMLButtonElement.prototype),
|
|
extends: 'button'
|
|
});
|
|
var customButton = document.createElement('button', 'custom-button');
|
|
|
|
assert_true(customButton instanceof CustomButton,
|
|
'A custom element is of the custom element type after ' +
|
|
'instantiation');
|
|
customButton.setAttribute('is', 'dirty');
|
|
assert_equals('dirty', customButton.getAttribute('is'),
|
|
'An attribute must be changed by method "setAttribute"');
|
|
|
|
assert_true(customButton instanceof CustomButton,
|
|
'A custom element is of the original custom element type even ' +
|
|
'after changing the \'is\' attribute');
|
|
}, 'After a custom element is instantiated, changing the value of the is attribute must not affect this element\'s custom element type.');
|
|
</script>
|