1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/js/src/jit-test/tests/debug/Object-getOwnPropertyNames-01.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,28 @@ 1.4 +// Basic getOwnPropertyNames tests. 1.5 + 1.6 +var g = newGlobal(); 1.7 +var dbg = Debugger(); 1.8 +var gobj = dbg.addDebuggee(g); 1.9 + 1.10 +function test(code) { 1.11 + code = "(" + code + ");"; 1.12 + var expected = Object.getOwnPropertyNames(eval(code)); 1.13 + g.eval("obj = " + code); 1.14 + var actual = gobj.getOwnPropertyDescriptor("obj").value.getOwnPropertyNames(); 1.15 + assertEq(JSON.stringify(actual.sort()), JSON.stringify(expected.sort())); 1.16 +} 1.17 + 1.18 +test("{}"); 1.19 +test("{a: 0, b: 1}"); 1.20 +test("{'name with space': 0}"); 1.21 +test("{get x() {}, set y(v) {}}"); 1.22 +test("{get x() { throw 'fit'; }}"); 1.23 +test("Object.create({a: 1})"); 1.24 +test("Object.create({get a() {}, set a(v) {}})"); 1.25 +test("(function () { var x = {a: 0, b: 1}; delete a; return x; })()"); 1.26 +test("Object.create(null, {x: {value: 0}})"); 1.27 +test("[]"); 1.28 +test("[0, 1, 2]"); 1.29 +test("[,,,,,]"); 1.30 +test("/a*a/"); 1.31 +test("function () {}");