| function testNewString() |
| { |
| var o = { toString: function() { return "string"; } }; |
| var r = []; |
| for (var i = 0; i < 5; i++) |
| r.push(typeof new String(o)); |
| for (var i = 0; i < 5; i++) |
| r.push(typeof new String(3)); |
| for (var i = 0; i < 5; i++) |
| r.push(typeof new String(2.5)); |
| for (var i = 0; i < 5; i++) |
| r.push(typeof new String("string")); |
| for (var i = 0; i < 5; i++) |
| r.push(typeof new String(null)); |
| for (var i = 0; i < 5; i++) |
| r.push(typeof new String(true)); |
| for (var i = 0; i < 5; i++) |
| r.push(typeof new String(undefined)); |
| return r.length === 35 && r.every(function(v) { return v === "object"; }); |
| } |
| assertEq(testNewString(), true); |