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