js/src/jit-test/tests/debug/Object-getOwnPropertyNames-01.js

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:c4702b05b386
1 // Basic getOwnPropertyNames tests.
2
3 var g = newGlobal();
4 var dbg = Debugger();
5 var gobj = dbg.addDebuggee(g);
6
7 function test(code) {
8 code = "(" + code + ");";
9 var expected = Object.getOwnPropertyNames(eval(code));
10 g.eval("obj = " + code);
11 var actual = gobj.getOwnPropertyDescriptor("obj").value.getOwnPropertyNames();
12 assertEq(JSON.stringify(actual.sort()), JSON.stringify(expected.sort()));
13 }
14
15 test("{}");
16 test("{a: 0, b: 1}");
17 test("{'name with space': 0}");
18 test("{get x() {}, set y(v) {}}");
19 test("{get x() { throw 'fit'; }}");
20 test("Object.create({a: 1})");
21 test("Object.create({get a() {}, set a(v) {}})");
22 test("(function () { var x = {a: 0, b: 1}; delete a; return x; })()");
23 test("Object.create(null, {x: {value: 0}})");
24 test("[]");
25 test("[0, 1, 2]");
26 test("[,,,,,]");
27 test("/a*a/");
28 test("function () {}");

mercurial