| <!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", | 
 |  "AbortController", | 
 |  "AbortSignal", | 
 |  "Node", | 
 |  "Document", | 
 |  "DOMImplementation", | 
 |  "DocumentFragment", | 
 |  "ProcessingInstruction", | 
 |  "DocumentType", | 
 |  "Element", | 
 |  "Attr", | 
 |  "CharacterData", | 
 |  "Text", | 
 |  "Comment", | 
 |  "NodeIterator", | 
 |  "TreeWalker", | 
 |  "NodeFilter", | 
 |  "NodeList", | 
 |  "HTMLCollection", | 
 |  "DOMTokenList" | 
 | ]; | 
 | 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> |