1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/js/src/jit-test/tests/basic/testWeirdDateParse.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,38 @@ 1.4 +var global = this; 1.5 +function testWeirdDateParseOuter() 1.6 +{ 1.7 + var vDateParts = ["11", "17", "2008"]; 1.8 + var out = []; 1.9 + for (var vI = 0; vI < vDateParts.length; vI++) 1.10 + out.push(testWeirdDateParseInner(vDateParts[vI])); 1.11 + /* Mutate the global shape so we fall off trace; this causes 1.12 + * additional oddity */ 1.13 + global.x = Math.random(); 1.14 + return out; 1.15 +} 1.16 +function testWeirdDateParseInner(pVal) 1.17 +{ 1.18 + var vR = 0; 1.19 + for (var vI = 0; vI < pVal.length; vI++) { 1.20 + var vC = pVal.charAt(vI); 1.21 + if ((vC >= '0') && (vC <= '9')) 1.22 + vR = (vR * 10) + parseInt(vC); 1.23 + } 1.24 + return vR; 1.25 +} 1.26 +function testWeirdDateParse() { 1.27 + var result = []; 1.28 + result.push(testWeirdDateParseInner("11")); 1.29 + result.push(testWeirdDateParseInner("17")); 1.30 + result.push(testWeirdDateParseInner("2008")); 1.31 + result.push(testWeirdDateParseInner("11")); 1.32 + result.push(testWeirdDateParseInner("17")); 1.33 + result.push(testWeirdDateParseInner("2008")); 1.34 + result = result.concat(testWeirdDateParseOuter()); 1.35 + result = result.concat(testWeirdDateParseOuter()); 1.36 + result.push(testWeirdDateParseInner("11")); 1.37 + result.push(testWeirdDateParseInner("17")); 1.38 + result.push(testWeirdDateParseInner("2008")); 1.39 + return result.join(","); 1.40 +} 1.41 +assertEq(testWeirdDateParse(), "11,17,2008,11,17,2008,11,17,2008,11,17,2008,11,17,2008");