blob: 3baa174cb5f262b0a99a35c6b9ccd882224cc1df [file] [log] [blame]
<!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>