summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/custom-elements/v0/instantiating/unchanged-attribute.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/custom-elements/v0/instantiating/unchanged-attribute.html')
-rw-r--r--testing/web-platform/tests/custom-elements/v0/instantiating/unchanged-attribute.html29
1 files changed, 29 insertions, 0 deletions
diff --git a/testing/web-platform/tests/custom-elements/v0/instantiating/unchanged-attribute.html b/testing/web-platform/tests/custom-elements/v0/instantiating/unchanged-attribute.html
new file mode 100644
index 000000000..3baa174cb
--- /dev/null
+++ b/testing/web-platform/tests/custom-elements/v0/instantiating/unchanged-attribute.html
@@ -0,0 +1,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>