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
|
<!DOCTYPE html>
<title>Custom Elements: CEReactions on HTMLAreaElement interface</title>
<link rel="author" title="Intel" href="http://www.intel.com">
<meta name="assert" content="alt, coords, shape, target, download, ping, rel,
referrerPolicy of HTMLAreaElement interface must have CEReactions">
<meta name="help" content="https://html.spec.whatwg.org/#the-area-element">
<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>
<map name="yellow" id="map">
</map>
<img usemap="#yellow" src="/images/yellow.png" alt="yellow pic">
<script>
function getParentElement() {
let map = document.getElementById('map');
return map;
}
function setAttributes(instance) {
instance.setAttribute('href', '/images/yellow.png');
}
testReflectAttributeWithDependentAttributes(
'alt', 'alt', 'yellow pic',
'yellow pic2', 'alt on HTMLAreaElement', 'area',
getParentElement, instance => setAttributes(instance), HTMLAreaElement
);
testReflectAttributeWithParentNode(
'coords', 'coords', '1, 1, 5, 5',
'2, 2, 6, 6', 'coords on HTMLAreaElement', 'area',
getParentElement, HTMLAreaElement
);
testReflectAttributeWithDependentAttributes(
'shape', 'shape', 'rectangle',
'default', 'shape on HTMLAreaElement', 'area',
getParentElement, instance => instance.setAttribute('coords', '1, 1, 5, 5'),
HTMLAreaElement
);
testReflectAttributeWithDependentAttributes(
'target', 'target', '_blank',
'_top', 'target on HTMLAreaElement', 'area',
getParentElement, instance => setAttributes(instance), HTMLAreaElement
);
testReflectAttributeWithDependentAttributes(
'download', 'download', 'pic1',
'pic2', 'download on HTMLAreaElement', 'area',
getParentElement, instance => setAttributes(instance), HTMLAreaElement
);
testReflectAttributeWithDependentAttributes(
'ping', 'ping', 'location.href',
`${location.protocol}\/\/${location.host}`, 'ping on HTMLAreaElement', 'area',
getParentElement, instance => setAttributes(instance), HTMLAreaElement
);
testReflectAttributeWithDependentAttributes(
'rel', 'rel', 'help',
'noreferrer', 'rel on HTMLAreaElement', 'area',
getParentElement, instance => setAttributes(instance), HTMLAreaElement
);
testReflectAttributeWithDependentAttributes(
'referrerPolicy', 'referrerpolicy', 'same-origin',
'origin', 'referrerPolicy on HTMLAreaElement', 'area',
getParentElement, instance => setAttributes(instance), HTMLAreaElement
);
</script>
|