Imported Upstream version 1.0.0
[platform/upstream/js.git] / js / src / jit-test / tests / basic / testNewString.js
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);
22 checkStats({
23   recorderStarted:  7,
24   recorderAborted: 0,
25   traceCompleted: 7,
26   sideExitIntoInterpreter: 7
27 });