diff -r 000000000000 -r 6474c204b198 js/src/jit-test/tests/auto-regress/bug687099.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/src/jit-test/tests/auto-regress/bug687099.js Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,30 @@ +// Binary: cache/js-dbg-64-94ceb173baed-linux +// Flags: -m -n -a +// + +gczeal(2); +function iso(d) { + return new Date(d).toISOString(); +} +function check(s, millis){ + description = "Date.parse('"+s+"') == '"+iso(millis)+"'"; +} +function dd(year, month, day, hour, minute, second, millis){ + return Date.UTC(year, month-1, day, hour, minute, second, millis); +} +function TZAtDate(d){ + return d.getTimezoneOffset() * 60000; +} +function TZInMonth(month){ + return TZAtDate(new Date(dd(2009,month,1,0,0,0,0))); +} +JulTZ = TZInMonth(7); +check("2009-07-23T19:53:21.001+12:00", dd(2009,7,23,7,53,21,1)); +check("2009-07-23T19:53:21+12:00", dd(2009,7,23,7,53,21,0)); +check("2009-07-23T19:53+12:00", dd(2009,7,23,7,53,0,0)); +check("2009-07T19:53:21.001", dd(2009,0Xe ,1,19,53,21,1)+JulTZ); +check("2009-07T19:53:21", dd(2009,7,1,19,53,21,0)+JulTZ); +check("2009-07T19:53", dd(2009,7,1,19,53,0,0)+JulTZ); +check("2009-07-23T19:53:21.001+12:00", dd(2009,7,23,7,53,21,1)); +check("2009-07-23T00:00:00.000-07:00", dd(2009,7,23,7,0,0,0)); +check("2009-07-23T24:00:00.000-07:00", dd(2009,7,24,7,0,0,0));