This will test Array.toString with circular references. If an element contains a reference to itself or one of its children (at any depth) contains a reference to it, it will be skipped. This can result in either a trailing ',' (if the self reference is at the end of the array) or ',,' if the self reference is contained at some mid point in the array.

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


PASS ary1.toString() is '1,2,'
PASS ary1.toString() is '1,2,3,4,'
PASS ary1.toString() is '1,2,3,4,,5'
PASS successfullyParsed is true

TEST COMPLETE

