js/src/jit-test/tests/basic/splice-on-arguments.js

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/js/src/jit-test/tests/basic/splice-on-arguments.js	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,39 @@
     1.4 +// test whether splice works on arguments
     1.5 +
     1.6 +function splice_args () {
     1.7 +    args = arguments;
     1.8 +    return Array.prototype.splice.apply(args, [0, 5]);
     1.9 +}
    1.10 +
    1.11 +var args;
    1.12 +var O = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
    1.13 +var A = splice_args.apply(undefined, O)
    1.14 +
    1.15 +// args: [5, 6, 7, 8, 9]
    1.16 +assertEq(args[0], 5);
    1.17 +assertEq(args[1], 6);
    1.18 +assertEq(args[2], 7);
    1.19 +assertEq(args[3], 8);
    1.20 +assertEq(args[4], 9);
    1.21 +assertEq(args.length, 5);
    1.22 +
    1.23 +// A: [0, 1, 2, 3, 4]
    1.24 +assertEq(A[0], 0);
    1.25 +assertEq(A[1], 1);
    1.26 +assertEq(A[2], 2);
    1.27 +assertEq(A[3], 3);
    1.28 +assertEq(A[4], 4);
    1.29 +assertEq(A.length, 5);
    1.30 +
    1.31 +// O: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    1.32 +assertEq(O[0], 0);
    1.33 +assertEq(O[1], 1);
    1.34 +assertEq(O[2], 2);
    1.35 +assertEq(O[3], 3);
    1.36 +assertEq(O[4], 4);
    1.37 +assertEq(O[5], 5);
    1.38 +assertEq(O[6], 6);
    1.39 +assertEq(O[7], 7);
    1.40 +assertEq(O[8], 8);
    1.41 +assertEq(O[9], 9);
    1.42 +assertEq(O.length, 10);

mercurial