|
1 var global = this; |
|
2 function testWeirdDateParseOuter() |
|
3 { |
|
4 var vDateParts = ["11", "17", "2008"]; |
|
5 var out = []; |
|
6 for (var vI = 0; vI < vDateParts.length; vI++) |
|
7 out.push(testWeirdDateParseInner(vDateParts[vI])); |
|
8 /* Mutate the global shape so we fall off trace; this causes |
|
9 * additional oddity */ |
|
10 global.x = Math.random(); |
|
11 return out; |
|
12 } |
|
13 function testWeirdDateParseInner(pVal) |
|
14 { |
|
15 var vR = 0; |
|
16 for (var vI = 0; vI < pVal.length; vI++) { |
|
17 var vC = pVal.charAt(vI); |
|
18 if ((vC >= '0') && (vC <= '9')) |
|
19 vR = (vR * 10) + parseInt(vC); |
|
20 } |
|
21 return vR; |
|
22 } |
|
23 function testWeirdDateParse() { |
|
24 var result = []; |
|
25 result.push(testWeirdDateParseInner("11")); |
|
26 result.push(testWeirdDateParseInner("17")); |
|
27 result.push(testWeirdDateParseInner("2008")); |
|
28 result.push(testWeirdDateParseInner("11")); |
|
29 result.push(testWeirdDateParseInner("17")); |
|
30 result.push(testWeirdDateParseInner("2008")); |
|
31 result = result.concat(testWeirdDateParseOuter()); |
|
32 result = result.concat(testWeirdDateParseOuter()); |
|
33 result.push(testWeirdDateParseInner("11")); |
|
34 result.push(testWeirdDateParseInner("17")); |
|
35 result.push(testWeirdDateParseInner("2008")); |
|
36 return result.join(","); |
|
37 } |
|
38 assertEq(testWeirdDateParse(), "11,17,2008,11,17,2008,11,17,2008,11,17,2008,11,17,2008"); |