Merge inbound to m-c on a CLOSED TREE.
[gecko.git] / dom / base / test / test_constructor.html
blobb987057e295d38484e28e3c9b3fc8a810899e8c7
1 <!--
2 Any copyright is dedicated to the Public Domain.
3 http://creativecommons.org/publicdomain/zero/1.0/
4 -->
5 <!DOCTYPE html>
6 <html>
7 <head>
8 <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
9 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
10 </head>
11 <body>
12 <script type="application/javascript">
13 function testConstructor(name)
15 window[name]; // resolve not through assignment
16 window[name] = 17;
18 var desc = Object.getOwnPropertyDescriptor(window, name);
19 ok(typeof desc === "object" && desc !== null, name + ": property must exist");
21 is(desc.value, 17, name + ": overwrite didn't work correctly");
22 is(desc.enumerable, false,
23 name + ": initial descriptor was non-enumerable, and [[Put]] changes " +
24 "the property value but not its enumerability");
25 is(desc.configurable, true,
26 name + ": initial descriptor was configurable, and [[Put]] changes the " +
27 "property value but not its configurability");
28 is(desc.writable, true,
29 name + ": initial descriptor was writable, and [[Put]] changes the " +
30 "property value but not its writability");
33 var ctors =
35 "HTMLElement",
36 "HTMLDivElement",
37 "HTMLSpanElement",
38 "HTMLParagraphElement",
39 "HTMLOptionElement",
40 "HTMLHtmlElement",
41 "Element",
42 "Node",
43 "Document",
44 "Image",
45 "Audio",
46 "HTMLAudioElement",
47 "HTMLVideoElement",
48 "Window",
49 "XMLHttpRequest",
50 "Navigator",
51 "WebSocket",
52 "Event",
53 "IDBKeyRange",
54 "CSSPageRule",
55 "SVGPatternElement",
58 ctors.forEach(testConstructor);
59 </script>
60 </body>
61 </html>