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

changeset 0
6474c204b198
     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 () {}");

mercurial