testNewString.js (681B)
1 function testNewString() 2 { 3 var o = { toString: function() { return "string"; } }; 4 var r = []; 5 for (var i = 0; i < 5; i++) 6 r.push(typeof new String(o)); 7 for (var i = 0; i < 5; i++) 8 r.push(typeof new String(3)); 9 for (var i = 0; i < 5; i++) 10 r.push(typeof new String(2.5)); 11 for (var i = 0; i < 5; i++) 12 r.push(typeof new String("string")); 13 for (var i = 0; i < 5; i++) 14 r.push(typeof new String(null)); 15 for (var i = 0; i < 5; i++) 16 r.push(typeof new String(true)); 17 for (var i = 0; i < 5; i++) 18 r.push(typeof new String(undefined)); 19 return r.length === 35 && r.every(function(v) { return v === "object"; }); 20 } 21 assertEq(testNewString(), true);