<!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>
