| var global = this; |
| function testWeirdDateParseOuter() |
| { |
| var vDateParts = ["11", "17", "2008"]; |
| var out = []; |
| for (var vI = 0; vI < vDateParts.length; vI++) |
| out.push(testWeirdDateParseInner(vDateParts[vI])); |
| /* Mutate the global shape so we fall off trace; this causes |
| * additional oddity */ |
| global.x = Math.random(); |
| return out; |
| } |
| function testWeirdDateParseInner(pVal) |
| { |
| var vR = 0; |
| for (var vI = 0; vI < pVal.length; vI++) { |
| var vC = pVal.charAt(vI); |
| if ((vC >= '0') && (vC <= '9')) |
| vR = (vR * 10) + parseInt(vC); |
| } |
| return vR; |
| } |
| function testWeirdDateParse() { |
| var result = []; |
| result.push(testWeirdDateParseInner("11")); |
| result.push(testWeirdDateParseInner("17")); |
| result.push(testWeirdDateParseInner("2008")); |
| result.push(testWeirdDateParseInner("11")); |
| result.push(testWeirdDateParseInner("17")); |
| result.push(testWeirdDateParseInner("2008")); |
| result = result.concat(testWeirdDateParseOuter()); |
| result = result.concat(testWeirdDateParseOuter()); |
| result.push(testWeirdDateParseInner("11")); |
| result.push(testWeirdDateParseInner("17")); |
| result.push(testWeirdDateParseInner("2008")); |
| return result.join(","); |
| } |
| assertEq(testWeirdDateParse(), "11,17,2008,11,17,2008,11,17,2008,11,17,2008,11,17,2008"); |