diff options
Diffstat (limited to 'js/src/jit-test/tests/basic/spread-call-optimized.js')
-rw-r--r-- | js/src/jit-test/tests/basic/spread-call-optimized.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/basic/spread-call-optimized.js b/js/src/jit-test/tests/basic/spread-call-optimized.js new file mode 100644 index 000000000..afb1368f1 --- /dev/null +++ b/js/src/jit-test/tests/basic/spread-call-optimized.js @@ -0,0 +1,26 @@ +// Call_Scripted +let f = function(a, b, c, d, e) { + return a * 10000 + b * 1000 + c * 100 + d * 10 + e; +}; +for (let i = 0; i < 4; i++) { + assertEq(f(...[1, 2, 3, 4, 5]), 12345); +} + +// Call_Scripted (constructing) +let A = function(a, b, c, d, e) { + this.v = a * 10000 + b * 1000 + c * 100 + d * 10 + e; +}; +for (let i = 0; i < 4; i++) { + assertEq(new A(...[1, 2, 3, 4, 5]).v, 12345); +} + +// Call_Native +for (let i = 0; i < 4; i++) { + assertEq(Math.max(...[1, 2, 3, 4, 5]), 5); +} + +// Call_Native (constructing) +for (let i = 0; i < 4; i++) { + assertEq(new Date(...[2014, 4, 28, 8, 16, 1]).getTime(), + new Date(2014, 4, 28, 8, 16, 1).getTime()); +} |