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