Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(119)

Unified Diff: LayoutTests/fast/dom/script-tests/dataset.js

Issue 106853005: Implement platform deleters per spec. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Switch to DeleteResult enum + extend scheme to indexed deleters Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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')");

Powered by Google App Engine
This is Rietveld 408576698