summaryrefslogtreecommitdiff
path: root/js/src/jit-test/tests/basic/bug913445.js
blob: 6b255914c6a59a6fa6423f9978cbac615faa8131 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// uneval works on objects with no callable .toSource method.

var obj = Object.create(null);
assertEq(uneval(obj), "({})");
assertEq(Function.prototype.toSource.call(obj), "({})");
obj.x = 1;
obj.y = 2;
assertEq(uneval(obj), "({x:1, y:2})");

var d = new Date();
delete Date.prototype.toSource;
assertEq(uneval(d), "({})");

delete Object.prototype.toSource;
assertEq(uneval({p: 2+2}), "({p:4})");

assertEq(uneval({toSource: [0]}), "({toSource:[0]})");