85 lines
5.4 KiB
Plaintext
85 lines
5.4 KiB
Plaintext
Verify that we do not recurse infinitely through one of the Array->string conversion.
|
|
|
|
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
|
|
|
|
|
|
PASS var arrayDirectlyContainingItself = [];
|
|
arrayDirectlyContainingItself.push(arrayDirectlyContainingItself);
|
|
arrayDirectlyContainingItself.toString(); is ""
|
|
PASS var arrayDirectlyContainingItself = [];
|
|
arrayDirectlyContainingItself.push(arrayDirectlyContainingItself);
|
|
arrayDirectlyContainingItself.toLocaleString(); is ""
|
|
PASS var arrayDirectlyContainingItself = [];
|
|
arrayDirectlyContainingItself.push(arrayDirectlyContainingItself);
|
|
arrayDirectlyContainingItself.join(","); is ""
|
|
PASS var arrayDirectlyContainingItself = [];
|
|
arrayDirectlyContainingItself.push(1);
|
|
arrayDirectlyContainingItself.push(arrayDirectlyContainingItself);
|
|
arrayDirectlyContainingItself.push("WebKit!");
|
|
arrayDirectlyContainingItself.push(arrayDirectlyContainingItself);
|
|
arrayDirectlyContainingItself.toString(); is "1,,WebKit!,"
|
|
PASS var arrayDirectlyContainingItself = [];
|
|
arrayDirectlyContainingItself.push(1);
|
|
arrayDirectlyContainingItself.push(arrayDirectlyContainingItself);
|
|
arrayDirectlyContainingItself.push("WebKit!");
|
|
arrayDirectlyContainingItself.push(arrayDirectlyContainingItself);
|
|
arrayDirectlyContainingItself.toLocaleString(); is "1,,WebKit!,"
|
|
PASS var arrayDirectlyContainingItself = [];
|
|
arrayDirectlyContainingItself.push(1);
|
|
arrayDirectlyContainingItself.push(arrayDirectlyContainingItself);
|
|
arrayDirectlyContainingItself.push("WebKit!");
|
|
arrayDirectlyContainingItself.push(arrayDirectlyContainingItself);
|
|
arrayDirectlyContainingItself.join("-"); is "1--WebKit!-"
|
|
PASS var arrayIndirectlyContainingItself = [];
|
|
arrayIndirectlyContainingItself.push(1);
|
|
arrayIndirectlyContainingItself.push([1, 2, [5, 6, [arrayIndirectlyContainingItself]]]);
|
|
arrayIndirectlyContainingItself.push("WebKit!");
|
|
arrayIndirectlyContainingItself.toString(); is "1,1,2,5,6,,WebKit!"
|
|
PASS var arrayIndirectlyContainingItself = [];
|
|
arrayIndirectlyContainingItself.push(1);
|
|
arrayIndirectlyContainingItself.push([1, 2, [5, 6, [arrayIndirectlyContainingItself]]]);
|
|
arrayIndirectlyContainingItself.push("WebKit!");
|
|
arrayIndirectlyContainingItself.toLocaleString(); is "1,1,2,5,6,,WebKit!"
|
|
PASS var arrayIndirectlyContainingItself = [];
|
|
arrayIndirectlyContainingItself.push(1);
|
|
arrayIndirectlyContainingItself.push([1, 2, [5, 6, [arrayIndirectlyContainingItself]]]);
|
|
arrayIndirectlyContainingItself.push("WebKit!");
|
|
arrayIndirectlyContainingItself.join("="); is "1=1,2,5,6,=WebKit!"
|
|
PASS var arrayIndirectlyContainingItself = [];
|
|
arrayIndirectlyContainingItself.push(1);
|
|
arrayIndirectlyContainingItself.push([1, 2, [5, 6, [arrayIndirectlyContainingItself]]]);
|
|
arrayIndirectlyContainingItself.push("WebKit!");
|
|
["z", arrayIndirectlyContainingItself, 9].toString(); is "z,1,1,2,5,6,,WebKit!,9"
|
|
PASS var arrayIndirectlyContainingItself = [];
|
|
arrayIndirectlyContainingItself.push(1);
|
|
arrayIndirectlyContainingItself.push([1, 2, [5, 6, [arrayIndirectlyContainingItself]]]);
|
|
arrayIndirectlyContainingItself.push("WebKit!");
|
|
["z", arrayIndirectlyContainingItself, 9].toLocaleString(); is "z,1,1,2,5,6,,WebKit!,9"
|
|
PASS var arrayIndirectlyContainingItself = [];
|
|
arrayIndirectlyContainingItself.push(1);
|
|
arrayIndirectlyContainingItself.push([1, 2, [5, 6, [arrayIndirectlyContainingItself]]]);
|
|
arrayIndirectlyContainingItself.push("WebKit!");
|
|
["z", arrayIndirectlyContainingItself, 9].join("&"); is "z&1,1,2,5,6,,WebKit!&9"
|
|
PASS var arrayIndirectlyConvertingItself = ["a"];
|
|
arrayIndirectlyConvertingItself.push({ array: arrayIndirectlyConvertingItself, toString: function() { return this.array.toString() } });
|
|
arrayIndirectlyConvertingItself.push({ array: arrayIndirectlyConvertingItself, toString: function() { return this.array.toLocaleString() } });
|
|
arrayIndirectlyConvertingItself.push({ array: arrayIndirectlyConvertingItself, toString: function() { return this.array.join("~") } });
|
|
arrayIndirectlyConvertingItself.push("WebKit!");
|
|
["z", arrayIndirectlyConvertingItself, 9].toString(); is "z,a,,,,WebKit!,9"
|
|
PASS var arrayIndirectlyConvertingItself = ["a"];
|
|
arrayIndirectlyConvertingItself.push({ array: arrayIndirectlyConvertingItself, toString: function() { return this.array.toString() } });
|
|
arrayIndirectlyConvertingItself.push({ array: arrayIndirectlyConvertingItself, toString: function() { return this.array.toLocaleString() } });
|
|
arrayIndirectlyConvertingItself.push({ array: arrayIndirectlyConvertingItself, toString: function() { return this.array.join("~") } });
|
|
arrayIndirectlyConvertingItself.push("WebKit!");
|
|
["z", arrayIndirectlyConvertingItself, 9].toLocaleString(); is "z,a,,,,WebKit!,9"
|
|
PASS var arrayIndirectlyConvertingItself = ["a"];
|
|
arrayIndirectlyConvertingItself.push({ array: arrayIndirectlyConvertingItself, toString: function() { return this.array.toString() } });
|
|
arrayIndirectlyConvertingItself.push({ array: arrayIndirectlyConvertingItself, toString: function() { return this.array.toLocaleString() } });
|
|
arrayIndirectlyConvertingItself.push({ array: arrayIndirectlyConvertingItself, toString: function() { return this.array.join("~") } });
|
|
arrayIndirectlyConvertingItself.push("WebKit!");
|
|
["z", arrayIndirectlyConvertingItself, 9].join("*"); is "z*a,,,,WebKit!*9"
|
|
PASS successfullyParsed is true
|
|
|
|
TEST COMPLETE
|
|
|