This test checks if repeated string concatenation causes an exception (and not a crash). From WebKit Bug Repeated string concatenation results in OOM crash.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
PASS s = "a"; while (1) { s += s; } threw exception Error: Out of memory.
PASS s = "a"; while (1) { s += ("a" + s); } threw exception Error: Out of memory.
PASS s = "a"; while (1) { s = [s, s].join(); } threw exception Error: Out of memory.
We also verify that the the string is stil functional after the out of memory exception is raised. In rdar://problem/5352887, accessing the string after the exception would crash.
PASS: String s was functional after expandCapacity raised out of memory exception.
PASS: String s was functional after expandPreCapacity raised out of memory exception.
PASS: String t was functional after expandPreCapacity raised out of memory exception.
PASS: String s was functional after append raised out of memory exception.
PASS successfullyParsed is true
TEST COMPLETE