blob: 722b17977e412a3c504fe708841ff273cf76e9e0 [file] [log] [blame]
<!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('SYNTAX_ERR', function() { testSet('-foo', 'dummy') }); },
"Setting element.dataset['-foo'] should throw a SYNTAX_ERR'");
test(function() { assert_throws('INVALID_CHARACTER_ERR', function() { testSet('foo\x20', 'dummy') }); },
"Setting element.dataset['foo\x20'] should throw an INVALID_CHARACTER_ERR'");
test(function() { assert_throws('INVALID_CHARACTER_ERR', function() { testSet('foo\uF900', 'dummy') }); },
"Setting element.dataset['foo\uF900'] should throw an INVALID_CHARACTER_ERR'");
</script>
</body>
</html>