blob: 026b52ceb144dc713bec276bfd1dcd2e565894a7 [file] [log] [blame]
description(
"Regression test for https://webkit.org/b/139808. This test should run without any exceptions."
);
function theClosureFunction(a)
{
var o = {
1: "Gur dhvpx oebja sbk whzcrq bire gur ynml qbt\'f onpx.",
2: "Abj vf gur gvzr sbe nyy zra gb pbzr gb gur nvq bs gurve cnegl.",
3: "N zna n cyna n pnany, Cnanzn."
};
var expect = {
1: "The quick brown fox jumped over the lazy dog\'s back.",
2: "Now is the time for all men to come to the aid of their party.",
3: "A man a plan a canal, Panama."
};
e = expect[a]
a = o[a];
var rot13 = function(startIndex) {
result = "";
for (var i = startIndex; i < a.length; i++) {
c = a.charAt(i);
if (c >= 'a' && c <= 'z')
c = String.fromCharCode((a.charCodeAt(i) - 84) % 26 + 97);
else if (c >= 'A' && c <= 'Z')
c = String.fromCharCode((a.charCodeAt(i) - 52) % 26 + 65);
result += c;
}
return result;
}
// Call in a loop to tier up to DFG
for (var i = 0; i < 1000; i++)
s = rot13(0);
return s == e;
}
for (var i = 1; i <= 3; i++)
if (!theClosureFunction(i))
throw "Incorrect result calling theClosureFunction";