|
1 // env.names() on object environments ignores property names that are not identifiers. |
|
2 |
|
3 var g = newGlobal(); |
|
4 var dbg = Debugger(g); |
|
5 var names; |
|
6 g.h = function () { |
|
7 names = dbg.getNewestFrame().environment.names(); |
|
8 }; |
|
9 g.eval("var obj = {a: 1};\n" + |
|
10 "with ({a: 1, '0xcafe': 2, ' ': 3, '': 4, '0': 5}) h();"); |
|
11 assertEq(names.indexOf("a") !== -1, true); |
|
12 assertEq(names.indexOf("0xcafe"), -1); |
|
13 assertEq(names.indexOf(" "), -1); |
|
14 assertEq(names.indexOf(""), -1); |
|
15 assertEq(names.indexOf("0"), -1); |