diff options
Diffstat (limited to 'testing/web-platform/tests/html/dom/elements/global-attributes/dataset-set.html')
-rw-r--r-- | testing/web-platform/tests/html/dom/elements/global-attributes/dataset-set.html | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/dom/elements/global-attributes/dataset-set.html b/testing/web-platform/tests/html/dom/elements/global-attributes/dataset-set.html new file mode 100644 index 0000000000..a5bc177f50 --- /dev/null +++ b/testing/web-platform/tests/html/dom/elements/global-attributes/dataset-set.html @@ -0,0 +1,44 @@ +<!DOCTYPE html> +<html> + <head> + <title>Dataset - Set</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + </head> + <body> + <h1>Dataset - Set</h1> + <div id="log"></div> + <script> + function testSet(prop, expected) + { + var d = document.createElement("div"); + d.dataset[prop] = "value"; + return d.getAttribute(expected) == "value"; + } + + test(function() { assert_true(testSet('foo', 'data-foo')); }, + "Setting element.dataset['foo'] should also change the value of element.getAttribute('data-foo')"); + test(function() { assert_true(testSet('fooBar', 'data-foo-bar')); }, + "Setting element.dataset['fooBar'] should also change the value of element.getAttribute('data-foo-bar')"); + test(function() { assert_true(testSet('-', 'data--')); }, + "Setting element.dataset['-'] should also change the value of element.getAttribute('data--')"); + test(function() { assert_true(testSet('Foo', 'data--foo')); }, + "Setting element.dataset['Foo'] should also change the value of element.getAttribute('data--foo')"); + test(function() { assert_true(testSet('-Foo', 'data---foo')); }, + "Setting element.dataset['-Foo'] should also change the value of element.getAttribute('data---foo')"); + test(function() { assert_true(testSet('', 'data-')); }, + "Setting element.dataset[''] should also change the value of element.getAttribute('data-')"); + test(function() { assert_true(testSet('\xE0', 'data-\xE0')); }, + "Setting element.dataset['\xE0'] should also change the value of element.getAttribute('data-\xE0')"); + test(function() { assert_throws_dom('SYNTAX_ERR', function() { testSet('-foo', 'dummy') }); }, + "Setting element.dataset['-foo'] should throw a SYNTAX_ERR"); + test(function() { assert_throws_dom('INVALID_CHARACTER_ERR', function() { testSet('foo\x20', 'dummy') }); }, + "Setting element.dataset['foo\x20'] should throw an INVALID_CHARACTER_ERR"); + test(function() { assert_throws_dom('INVALID_CHARACTER_ERR', function() { testSet('\u037Efoo', 'dummy') }); }, + "Setting element.dataset['\u037Efoo'] should throw an INVALID_CHARACTER_ERR"); + test(function() { assert_true(testSet('\u0BC6foo', 'data-\u0BC6foo')); }, + "Setting element.dataset['\u0BC6foo'] should also change the value of element.getAttribute('\u0BC6foo')"); + + </script> + </body> +</html> |