This test checks the behavior of Arguments object iteration.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


PASS (function (arguments) { for (var argument of arguments) {}})() threw exception TypeError: undefined is not an object (evaluating 'argument of arguments').
PASS actualArgumentsLength is iteratedArgumentsLength
PASS arg === realArg is true
PASS actualArgumentsLength is iteratedArgumentsLength
PASS arg === realArg is true
PASS arg === realArg is true
PASS actualArgumentsLength is iteratedArgumentsLength
PASS arg === realArg is true
PASS actualArgumentsLength is iteratedArgumentsLength
PASS actualArgumentsLength is iteratedArgumentsLength
PASS arg === realArg is true
PASS actualArgumentsLength is iteratedArgumentsLength
PASS arg === realArg is true
PASS arg === realArg is true
PASS actualArgumentsLength is iteratedArgumentsLength
PASS arg === realArg is true
PASS actualArgumentsLength is iteratedArgumentsLength
PASS actualArgumentsLength is iteratedArgumentsLength
PASS arg === realArg is true
PASS actualArgumentsLength is iteratedArgumentsLength
PASS arg === realArg is true
PASS arg === realArg is true
PASS actualArgumentsLength is iteratedArgumentsLength
PASS arg === realArg is true
PASS actualArgumentsLength is iteratedArgumentsLength
PASS actualArgumentsLength is iteratedArgumentsLength
PASS arg === realArg is true
PASS actualArgumentsLength is iteratedArgumentsLength
PASS arg === realArg is true
PASS arg === realArg is true
PASS actualArgumentsLength is iteratedArgumentsLength
PASS arg === realArg is true
PASS actualArgumentsLength is iteratedArgumentsLength
PASS testEmptyArrayArguments('a') is true
PASS testEmptyArrayArguments() is true
PASS arg === realArg is true
PASS arg === realArg is true
PASS arg === realArg is true
PASS actualArgumentsLength is iteratedArgumentsLength
PASS arg === realArg is true
PASS arg === realArg is true
PASS arg === realArg is true
PASS actualArgumentsLength is iteratedArgumentsLength
PASS arg === realArg is true
PASS arg === realArg is true
PASS arg === realArg is true
PASS actualArgumentsLength is iteratedArgumentsLength
PASS arg === realArg is true
PASS arg === realArg is true
PASS arg === realArg is true
PASS actualArgumentsLength is iteratedArgumentsLength
PASS successfullyParsed is true

TEST COMPLETE

