summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/dom/collections/domstringmap-supported-property-names.html
blob: 430aa44c3af2941e2d5211655a6411c5960d789f (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
<!DOCTYPE HTML>
<meta charset=utf-8>
<title>DOMStringMap Test: Supported property names</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>

<div id="edge1" data-="012">Simple</div>

<div id="edge2" data-id-="012">Simple</div>

<div id="user" data-id="1234567890" data-user="johndoe" data-date-of-birth>
    John Doe
</div>

<div id="user2" data-unique-id="1234567890"> Jane Doe </div>

<div id="user3" data-unique-id="4324324241"> Jim Doe </div>

<script>

test(function() {
    var element = document.querySelector('#edge1');
    assert_array_equals(Object.getOwnPropertyNames(element.dataset),
        [""]);
}, "Object.getOwnPropertyNames on DOMStringMap, empty data attribute");

test(function() {
    var element = document.querySelector('#edge2');
    assert_array_equals(Object.getOwnPropertyNames(element.dataset),
        ["id-"]);
}, "Object.getOwnPropertyNames on DOMStringMap, data attribute trailing hyphen");

test(function() {
    var element = document.querySelector('#user');
    assert_array_equals(Object.getOwnPropertyNames(element.dataset),
        ['id', 'user', 'dateOfBirth']);
}, "Object.getOwnPropertyNames on DOMStringMap, multiple data attributes");

test(function() {
    var element = document.querySelector('#user2');
    element.dataset.middleName = "mark";
    assert_array_equals(Object.getOwnPropertyNames(element.dataset),
        ['uniqueId', 'middleName']);
}, "Object.getOwnPropertyNames on DOMStringMap, attribute set on dataset in JS");

test(function() {
    var element = document.querySelector('#user3');
    element.setAttribute("data-age", 30);
    assert_array_equals(Object.getOwnPropertyNames(element.dataset),
        ['uniqueId', 'age']);
}, "Object.getOwnPropertyNames on DOMStringMap, attribute set on element in JS");

</script>