This test checks for a couple of specific ways that bugs in toString() round trips have changed the meanings of functions with var declarations inside for loops.

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


PASS unevalf(eval(unevalf(f1))) is unevalf(f1)
PASS unevalf(eval(unevalf(f2))) is unevalf(f2)
PASS unevalf(eval(unevalf(f3))) is unevalf(f3)
PASS unevalf(eval(unevalf(f4))) is unevalf(f4)
PASS unevalf(f2) != unevalf(f3) is true
PASS successfullyParsed is true

TEST COMPLETE

