Reviewed by Maciej.
[WebKit-https.git] / LayoutTests / fast / js / resources / date-big-setdate.js
1 description(
2 'This test checks for regression against: <a href="http://bugzilla.opendarwin.org/show_bug.cgi?id=3381"> 3381 Date.prototype.setDate() incorrect for values >=128.</a>'
3 );
4
5
6 var validVars = false;
7 var curValue;
8 var success = true;
9 var millisecondsPerDay = 1000 * 60 * 60 * 24;
10 var millisecondsPerHour = 1000 * 60 * 60;
11
12 for (var i = 116; i < 126; i++) {
13     var d = new Date(0);
14     d.setDate(i);
15     if (validVars)
16         shouldBe("d.valueOf() - curValue", "millisecondsPerDay");
17
18     curValue = d.valueOf();        
19     validVars = true;
20 }
21
22 // Added a special case that should represent a change in DST.  DST did not actually
23 // change on this date but because of the wierdness of how JavaScriptDates are
24 // expected to interpolate DST as opposed to reflect acurate history, this day
25 // (April 5th 1970) should show a DST change.
26
27 var c = new Date(0);
28 var d = new Date(0);
29 c.setDate(125);
30 d.setDate(126);
31 shouldBe("d.valueOf() - c.valueOf()", "millisecondsPerDay - millisecondsPerHour");
32
33 var successfullyParsed = true;