This test checks for regression against 4147: Array.toString() and toLocaleString() improvements from KDE KJS.

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


PASS [1].toString() is '1'
PASS [1].toLocaleString() is 'toLocaleString'
PASS [1].toLocaleString() threw exception TypeError: toLocaleString is not callable.
PASS [/r/].toString() is 'toString2'
PASS [/r/].toLocaleString() is 'toLocaleString2'
FAIL [/r/].toLocaleString() should throw toString2. Threw exception TypeError: toLocaleString is not callable.
PASS caught is true
PASS successfullyParsed is true

TEST COMPLETE

