mirror of
https://github.com/servo/servo
synced 2026-04-29 10:57:43 +02:00
39 lines
1.5 KiB
HTML
39 lines
1.5 KiB
HTML
<!DOCTYPE html>
|
|
<title>dataset: should exist and work on HTML and SVG elements, but not random elements</title>
|
|
<link rel="author" title="Ms2ger" href="mailto:ms2ger@gmail.com">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<div id="log"></div>
|
|
<script>
|
|
var div = document.createElement("div");
|
|
test(function() {
|
|
assert_true(div.dataset instanceof DOMStringMap);
|
|
}, "HTML elements should have a .dataset");
|
|
test(function() {
|
|
assert_false("foo" in div.dataset);
|
|
assert_equals(div.dataset.foo, undefined);
|
|
}, "Should return 'undefined' before setting an attribute")
|
|
test(function() {
|
|
div.setAttribute("data-foo", "value");
|
|
assert_true("foo" in div.dataset);
|
|
assert_equals(div.dataset.foo, "value");
|
|
}, "Should return 'value' if that's the value")
|
|
test(function() {
|
|
div.setAttribute("data-foo", "");
|
|
assert_true("foo" in div.dataset);
|
|
assert_equals(div.dataset.foo, "");
|
|
}, "Should return the empty string if that's the value")
|
|
test(function() {
|
|
div.removeAttribute("data-foo");
|
|
assert_false("foo" in div.dataset);
|
|
assert_equals(div.dataset.foo, undefined);
|
|
}, "Should return 'undefined' after removing an attribute")
|
|
test(function() {
|
|
assert_equals(document.createElementNS("test", "test").dataset, undefined);
|
|
}, "Should not have a .dataset on random elements");
|
|
test(function() {
|
|
var svg = document.createElementNS("http://www.w3.org/2000/svg", "svg")
|
|
assert_true(svg.dataset instanceof DOMStringMap);
|
|
}, "SVG elements should have a .dataset");
|
|
</script>
|