| <!DOCTYPE html> |
| <html> |
| <head> |
| <title>Dataset - Get</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| </head> |
| <body> |
| <h1>Dataset - Get</h1> |
| <div id="log"></div> |
| <script> |
| function testGet(attr, expected) |
| { |
| var d = document.createElement("div"); |
| d.setAttribute(attr, "value"); |
| return d.dataset[expected] == "value"; |
| } |
| |
| test(function() { assert_true(testGet('data-foo', 'foo')); }, |
| "Getting element.dataset['foo'] should return the value of element.getAttribute('data-foo')'"); |
| test(function() { assert_true(testGet('data-foo-bar', 'fooBar')); }, |
| "Getting element.dataset['fooBar'] should return the value of element.getAttribute('data-foo-bar')'"); |
| test(function() { assert_true(testGet('data--', '-')); }, |
| "Getting element.dataset['-'] should return the value of element.getAttribute('data--')'"); |
| test(function() { assert_true(testGet('data--foo', 'Foo')); }, |
| "Getting element.dataset['Foo'] should return the value of element.getAttribute('data--foo')'"); |
| test(function() { assert_true(testGet('data---foo', '-Foo')); }, |
| "Getting element.dataset['-Foo'] should return the value of element.getAttribute('data---foo')'"); |
| test(function() { assert_true(testGet('data-Foo', 'foo')); }, |
| "Getting element.dataset['foo'] should return the value of element.getAttribute('data-Foo')'"); |
| test(function() { assert_true(testGet('data-', '')); }, |
| "Getting element.dataset[''] should return the value of element.getAttribute('data-')'"); |
| test(function() { assert_true(testGet('data-\xE0', '\xE0')); }, |
| "Getting element.dataset['\xE0'] should return the value of element.getAttribute('data-\xE0')'"); |
| test(function() { assert_true(testGet('data-to-string', 'toString')); }, |
| "Getting element.dataset['toString'] should return the value of element.getAttribute('data-to-string')'"); |
| |
| function matchesNothingInDataset(attr) |
| { |
| var d = document.createElement("div"); |
| d.setAttribute(attr, "value"); |
| |
| if (!d.dataset) |
| return false; |
| |
| var count = 0; |
| for (var item in d.dataset) |
| count++; |
| return count == 0; |
| } |
| |
| test(function() { assert_true(matchesNothingInDataset('dataFoo')); }, |
| "Tests that an attribute named dataFoo does not make an entry in the dataset DOMStringMap."); |
| |
| </script> |
| </body> |
| </html> |