blob: 9ed480b570b41b60cdfa6d47cfbc109e45ee51aa [file] [log] [blame]
This test thoroughly checks the behaviour of the 'arguments' object.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
PASS access_1(1, 2, 3) is 1
PASS access_2(1, 2, 3) is 2
PASS access_3(1, 2, 3) is 3
PASS access_4(1, 2, 3) is undefined
PASS access_5(1, 2, 3) is undefined
PASS access_1(1) is 1
PASS access_2(1) is undefined
PASS access_3(1) is undefined
PASS access_4(1) is undefined
PASS access_5(1) is undefined
PASS access_1(1, 2, 3, 4, 5) is 1
PASS access_2(1, 2, 3, 4, 5) is 2
PASS access_3(1, 2, 3, 4, 5) is 3
PASS access_4(1, 2, 3, 4, 5) is 4
PASS access_5(1, 2, 3, 4, 5) is 5
PASS argumentLengthIs5() is 5
PASS argumentLengthIs5(1,2,3,4,5) is 5
PASS argumentLengthIs5(1,2,3,4,5,6,7,8,9,10) is 5
PASS duplicateArgumentAndReturnLast_call(1) is 1
PASS duplicateArgumentAndReturnFirst_call(1) is 1
PASS duplicateArgumentAndReturnLast_apply(1) is 1
PASS duplicateArgumentAndReturnFirst_apply(1) is 1
PASS tear_off_equal_access_1(1, 2, 3) is 1
PASS tear_off_equal_access_2(1, 2, 3) is 2
PASS tear_off_equal_access_3(1, 2, 3) is 3
PASS tear_off_equal_access_4(1, 2, 3) is undefined
PASS tear_off_equal_access_5(1, 2, 3) is undefined
PASS tear_off_too_few_access_1(1) is 1
PASS tear_off_too_few_access_2(1) is undefined
PASS tear_off_too_few_access_3(1) is undefined
PASS tear_off_too_few_access_4(1) is undefined
PASS tear_off_too_few_access_5(1) is undefined
PASS tear_off_too_many_access_1(1, 2, 3, 4, 5) is 1
PASS tear_off_too_many_access_2(1, 2, 3, 4, 5) is 2
PASS tear_off_too_many_access_3(1, 2, 3, 4, 5) is 3
PASS tear_off_too_many_access_4(1, 2, 3, 4, 5) is 4
PASS tear_off_too_many_access_5(1, 2, 3, 4, 5) is 5
PASS live_1(0, 2, 3) is 1
PASS live_2(1, 0, 3) is 2
PASS live_3(1, 2, 0) is 3
PASS live_1(0) is 1
PASS live_2(1) is undefined
PASS live_3(1) is undefined
PASS live_1(0, 2, 3, 4, 5) is 1
PASS live_2(1, 0, 3, 4, 5) is 2
PASS live_3(1, 2, 0, 4, 5) is 3
PASS extra_args_modify_4(1, 2, 3, 0, 5) is 4
PASS extra_args_modify_5(1, 2, 3, 4, 0) is 5
PASS tear_off_live_1(0, 2, 3)() is 1
PASS tear_off_live_2(1, 0, 3)() is 2
PASS tear_off_live_3(1, 2, 0)() is 3
PASS tear_off_live_1(0)() is 1
PASS tear_off_live_2(1)() is undefined
PASS tear_off_live_3(1)() is undefined
PASS tear_off_live_1(0, 2, 3, 4, 5)() is 1
PASS tear_off_live_2(1, 0, 3, 4, 5)() is 2
PASS tear_off_live_3(1, 2, 0, 4, 5)() is 3
PASS tear_off_extra_args_modify_4(1, 2, 3, 0, 5)() is 4
PASS tear_off_extra_args_modify_5(1, 2, 3, 4, 0)() is 5
PASS delete_1(1, 2, 3) is undefined
PASS delete_2(1, 2, 3) is undefined
PASS delete_3(1, 2, 3) is undefined
PASS delete_4(1, 2, 3) is undefined
PASS delete_5(1, 2, 3) is undefined
PASS delete_1(1) is undefined
PASS delete_2(1) is undefined
PASS delete_3(1) is undefined
PASS delete_4(1) is undefined
PASS delete_5(1) is undefined
PASS delete_1(1, 2, 3, 4, 5) is undefined
PASS delete_2(1, 2, 3, 4, 5) is undefined
PASS delete_3(1, 2, 3, 4, 5) is undefined
PASS delete_4(1, 2, 3, 4, 5) is undefined
PASS delete_5(1, 2, 3, 4, 5) is undefined
PASS tear_off_delete_1(1, 2, 3)() is undefined
PASS tear_off_delete_2(1, 2, 3)() is undefined
PASS tear_off_delete_3(1, 2, 3)() is undefined
PASS tear_off_delete_4(1, 2, 3)() is undefined
PASS tear_off_delete_5(1, 2, 3)() is undefined
PASS tear_off_delete_1(1)() is undefined
PASS tear_off_delete_2(1)() is undefined
PASS tear_off_delete_3(1)() is undefined
PASS tear_off_delete_4(1)() is undefined
PASS tear_off_delete_5(1)() is undefined
PASS tear_off_delete_1(1, 2, 3, 4, 5)() is undefined
PASS tear_off_delete_2(1, 2, 3, 4, 5)() is undefined
PASS tear_off_delete_3(1, 2, 3, 4, 5)() is undefined
PASS tear_off_delete_4(1, 2, 3, 4, 5)() is undefined
PASS tear_off_delete_5(1, 2, 3, 4, 5)() is undefined
PASS delete_not_live_1(1, 2, 3) is 1
PASS delete_not_live_2(1, 2, 3) is 2
PASS delete_not_live_3(1, 2, 3) is 3
PASS delete_not_live_1(1) is 1
PASS delete_not_live_2(1) is undefined
PASS delete_not_live_3(1) is undefined
PASS delete_not_live_1(1, 2, 3, 4, 5) is 1
PASS delete_not_live_2(1, 2, 3, 4, 5) is 2
PASS delete_not_live_3(1, 2, 3, 4, 5) is 3
PASS tear_off_delete_not_live_1(1, 2, 3)() is 1
PASS tear_off_delete_not_live_2(1, 2, 3)() is 2
PASS tear_off_delete_not_live_3(1, 2, 3)() is 3
PASS tear_off_delete_not_live_1(1)() is 1
PASS tear_off_delete_not_live_2(1)() is undefined
PASS tear_off_delete_not_live_3(1)() is undefined
PASS tear_off_delete_not_live_1(1, 2, 3, 4, 5)() is 1
PASS tear_off_delete_not_live_2(1, 2, 3, 4, 5)() is 2
PASS tear_off_delete_not_live_3(1, 2, 3, 4, 5)() is 3
PASS access_after_delete_named_2(1, 2, 3) is 2
PASS access_after_delete_named_3(1, 2, 3) is 3
PASS access_after_delete_named_4(1, 2, 3) is undefined
PASS access_after_delete_named_2(1) is undefined
PASS access_after_delete_named_3(1) is undefined
PASS access_after_delete_named_4(1) is undefined
PASS access_after_delete_named_2(1, 2, 3, 4) is 2
PASS access_after_delete_named_3(1, 2, 3, 4) is 3
PASS access_after_delete_named_4(1, 2, 3, 4) is 4
PASS access_after_delete_extra_1(1, 2, 3) is 1
PASS access_after_delete_extra_2(1, 2, 3) is 2
PASS access_after_delete_extra_3(1, 2, 3) is 3
PASS access_after_delete_extra_5(1, 2, 3) is undefined
PASS access_after_delete_extra_1(1) is 1
PASS access_after_delete_extra_2(1) is undefined
PASS access_after_delete_extra_3(1) is undefined
PASS access_after_delete_extra_5(1) is undefined
PASS access_after_delete_extra_1(1, 2, 3, 4, 5) is 1
PASS access_after_delete_extra_2(1, 2, 3, 4, 5) is 2
PASS access_after_delete_extra_3(1, 2, 3, 4, 5) is 3
PASS access_after_delete_extra_5(1, 2, 3, 4, 5) is 5
PASS argumentsParam(true) is true
PASS argumentsFunctionConstructorParam(true) is true
PASS argumentsVarUndefined() is '[object Arguments]'
PASS argumentsConst() is '20'
PASS argumentCalleeInException() is argumentCalleeInException
PASS shadowedArgumentsApply([true]) is true
PASS shadowedArgumentsLength([]) is 0
PASS shadowedArgumentsLength() threw exception TypeError: undefined is not an object (evaluating 'arguments.length').
PASS shadowedArgumentsCallee([]) is undefined.
PASS shadowedArgumentsIndex([true]) is true
PASS descriptor.value is "one"
PASS descriptor.writable is true
PASS descriptor.enumerable is true
PASS descriptor.configurable is true
PASS true is true
PASS true is true
PASS true is true
PASS true is true
PASS true is true
PASS true is true
PASS true is true
PASS true is true
PASS true is true
PASS true is true
PASS true is true
PASS true is true
PASS true is true
PASS true is true
PASS true is true
PASS true is true
PASS true is true
PASS true is true
PASS true is true
PASS true is true
PASS true is true
PASS true is true
PASS true is true
PASS true is true
PASS true is true
PASS true is true
PASS false is false
PASS true is true
PASS false is false
PASS false is false
PASS undefined is undefined.
PASS true is true
PASS false is false
PASS successfullyParsed is true
TEST COMPLETE