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