summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/custom-elements/reactions/customized-builtins/HTMLButtonElement.html
blob: 62f8b7b0c9efca6d639eb5ebef4d5601d1815833 (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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<!DOCTYPE html>
<title>Custom Elements: CEReactions on HTMLButtonElement interface</title>
<meta name="author" title="Zhang Xiaoyu" href="xiaoyux.zhang@intel.com">
<meta name="assert" content=" autofocus, disabled, formAction, formEnctype,
  formMethod, formNoValidate, formTarget, name, type, value
  of HTMLButtonElement interface must have CEReactions">
<meta name="help" content="https://html.spec.whatwg.org/#htmlbuttonelement">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../../resources/custom-elements-helpers.js"></script>
<script src="../resources/reactions.js"></script>
<body>
<script>

function getParentElement(parentElementName) {
  let parentElement = document.createElement(parentElementName);
  document.body.appendChild(parentElement);
  return parentElement;
}

function setAttributes(instance) {
  instance.setAttribute('type', 'submit');
}

testReflectBooleanAttribute(
  'autofocus', 'autofocus', 'autofocus on HTMLButtonElement',
  'button', HTMLButtonElement
);
testReflectBooleanAttribute(
  'disabled', 'disabled','disabled on HTMLButtonElement',
  'button', HTMLButtonElement
);
testReflectAttribute(
  'name', 'name', 'intel',
  'intel1', 'name on HTMLButtonElement', 'button',
  HTMLButtonElement
);
testReflectAttribute(
  'value', 'value', 'HTML',
  'CSS', 'value on HTMLButtonElement', 'button',
  HTMLButtonElement
);
testReflectAttributeWithParentNode(
  'type', 'type', 'submit',
  'reset',  'type on HTMLButtonElement', 'button',
  () => getParentElement('form'), HTMLButtonElement
);
testReflectAttributeWithDependentAttributes(
  'formAction', 'formaction', 'intel.asp',
  'intel1.asp', 'formAction on HTMLButtonElement', 'button',
  () => getParentElement('form'), instance => setAttributes(instance),
  HTMLButtonElement
);
testReflectAttributeWithDependentAttributes(
  'formEnctype', 'formenctype', 'text/plain', 'multipart/form-data',
  'formEnctype on HTMLButtonElement', 'button', () => getParentElement('form'),
  instance => setAttributes(instance),
  HTMLButtonElement
);
testReflectAttributeWithDependentAttributes(
  'formMethod', 'formmethod', 'get',
  'post', 'formMethod on HTMLButtonElement', 'button',
  () => getParentElement('form'), instance => setAttributes(instance),
  HTMLButtonElement
);
testReflectBooleanAttributeWithDependentAttributes(
  'formNoValidate', 'formnovalidate', 'formNoValidate on HTMLButtonElement',
  'button', () => getParentElement('form'),
  instance => setAttributes(instance),
  HTMLButtonElement
);
testReflectAttributeWithDependentAttributes(
  'formTarget', 'formtarget', '_blank',
  '_self', 'formTarget on HTMLButtonElement', 'button',
  () => getParentElement('form'), instance => setAttributes(instance),
  HTMLButtonElement
);

</script>
</body>