<!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>
