summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/custom-elements/v0/instantiating/unchanged-attribute.html
blob: 3baa174cb5f262b0a99a35c6b9ccd882224cc1df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<!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>