| Index: LayoutTests/fast/dom/script-tests/dataset.js
|
| diff --git a/LayoutTests/fast/dom/script-tests/dataset.js b/LayoutTests/fast/dom/script-tests/dataset.js
|
| index 7ba72ccfe33561b62751d335f19d5f033e8d018c..d5b0eb6b1e4ba15ec29557496ec2ca4b8e4b0864 100644
|
| --- a/LayoutTests/fast/dom/script-tests/dataset.js
|
| +++ b/LayoutTests/fast/dom/script-tests/dataset.js
|
| @@ -116,6 +116,21 @@ shouldBeTrue("testDelete('data-r-2', 'r-2')");
|
| shouldBeTrue("testDelete('data--r-2-', 'R-2-')");
|
| shouldBeTrue("testDelete('data--r-2r', 'R-2r')");
|
| shouldBeTrue("testDelete('data--r-2-----r', 'R-2----R')");
|
| +
|
| +// The element.dataset deleter is only applied to properties
|
| +// that are present; check that any underlying native property
|
| +// is deleted instead.
|
| +function testNativeDelete(prop, isConfigurable)
|
| +{
|
| + var d = document.createElement("div");
|
| + Object.defineProperty(d.dataset, prop, {configurable: isConfigurable, value: "native_value"});
|
| + delete d.dataset[prop];
|
| + return isConfigurable ? !(prop in d.dataset) : (d.dataset[prop] === "native_value");
|
| +}
|
| +
|
| +shouldBeTrue("testNativeDelete('-r-2-', false)");
|
| +shouldBeTrue("testNativeDelete('foo', true)");
|
| +
|
| debug("");
|
|
|
| shouldBeFalse("testDelete('dummy', '-foo')");
|
|
|