summaryrefslogtreecommitdiffstats
path: root/dom/imptests/html/dom/test_interface-objects.html
blob: 0e2bf1acdda4d5d77ca995b6389af92a10135cb9 (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
45
<!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",
 ];
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>