| <!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> |