summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/dom/interface-objects.html
blob: df4ca51e47777a2bbe4d46d126418d0e93ed5d72 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<!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",
  "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>