diff options
Diffstat (limited to 'testing/web-platform/tests/html/dom/elements/global-attributes/dataset-delete.html')
-rw-r--r-- | testing/web-platform/tests/html/dom/elements/global-attributes/dataset-delete.html | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dataset-delete.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dataset-delete.html new file mode 100644 index 000000000..65e131f44 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dataset-delete.html @@ -0,0 +1,47 @@ +<!DOCTYPE html> +<html> + <head> + <title>Dataset - Delete</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + </head> + <body> + <h1>Dataset - Delete</h1> + <div id="log"></div> + <script> + function testDelete(attr, prop) + { + var d = document.createElement("div"); + d.setAttribute(attr, "value"); + delete d.dataset[prop]; + return d.hasAttribute(attr) === false && d.getAttribute(attr) != "value"; + } + + function testDeleteNoAdd(prop) + { + var d = document.createElement("div"); + delete d.dataset[prop]; + return true; + } + + test(function() { assert_true(testDelete('data-foo', 'foo')); }, + "Deleting element.dataset['foo'] should also remove an attribute with name 'data-foo' should it exist."); + test(function() { assert_true(testDelete('data-foo-bar', 'fooBar')); }, + "Deleting element.dataset['fooBar'] should also remove an attribute with name 'data-foo-bar' should it exist."); + test(function() { assert_true(testDelete('data--', '-')); }, + "Deleting element.dataset['-'] should also remove an attribute with name 'data--' should it exist."); + test(function() { assert_true(testDelete('data--foo', 'Foo')); }, + "Deleting element.dataset['Foo'] should also remove an attribute with name 'data--foo' should it exist."); + test(function() { assert_true(testDeleteNoAdd('data--foo', '-foo')); }, + "Deleting element.dataset['-foo'] should also remove an attribute with name 'data--foo' should it exist."); + test(function() { assert_true(testDelete('data---foo', '-Foo')); }, + "Deleting element.dataset['-Foo'] should also remove an attribute with name 'data---foo' should it exist."); + test(function() { assert_true(testDelete('data-', '')); }, + "Deleting element.dataset[''] should also remove an attribute with name 'data-' should it exist."); + test(function() { assert_true(testDelete('data-\xE0', '\xE0')); }, + "Deleting element.dataset['\xE0'] should also remove an attribute with name 'data-\xE0' should it exist."); + test(function() { assert_true(testDeleteNoAdd('foo')); }, + "Deleting element.dataset['foo'] should not throw if even if the element does now have an attribute with the name data-foo."); + </script> + </body> +</html> |