Index: third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/interface-objects.html |
diff --git a/third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/interface-objects.html b/third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/interface-objects.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ac06b714a24d759787d3d0d826bfada50c187f52 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/interface-objects.html |
@@ -0,0 +1,46 @@ |
+<!DOCTYPE html> |
+<title>Interfaces</title> |
+<script src="../../../resources/testharness.js"></script> |
+<script src="../../../resources/testharnessreport.js"></script> |
+<div id="log"></div> |
+<script> |
+function testInterfaceDeletable(iface) { |
+ test(function() { |
+ assert_true(!!window[iface], "Interface should exist.") |
+ assert_true(delete window[iface], "The delete operator should return true.") |
+ assert_equals(window[iface], undefined, "Interface should be gone.") |
+ }, "Should be able to delete " + iface + ".") |
+} |
+var interfaces = [ |
+ "Event", |
+ "CustomEvent", |
+ "EventTarget", |
+ "Node", |
+ "Document", |
+ "DOMImplementation", |
+ "DocumentFragment", |
+ "ProcessingInstruction", |
+ "DocumentType", |
+ "Element", |
+ "Attr", |
+ "CharacterData", |
+ "Text", |
+ "Comment", |
+ "NodeIterator", |
+ "TreeWalker", |
+ "NodeFilter", |
+ "NodeList", |
+ "HTMLCollection", |
+ "DOMStringList", |
+ "DOMTokenList", |
+ "DOMSettableTokenList" |
+]; |
+test(function() { |
+ for (var p in window) { |
+ interfaces.forEach(function(i) { |
+ assert_not_equals(p, i) |
+ }) |
+ } |
+}, "Interface objects properties should not be Enumerable") |
+interfaces.forEach(testInterfaceDeletable); |
+</script> |