|
1 // Binary: cache/js-dbg-64-1fd6c40d3852-linux |
|
2 // Flags: --ion-eager |
|
3 // |
|
4 function TestCase(n, d, e, a) {} |
|
5 var msPerDay = 86400000; |
|
6 var msPerHour = 3600000; |
|
7 var now = new Date(); |
|
8 var TIME_NOW = now.valueOf(); |
|
9 function DaysInYear( y ) { |
|
10 if ( y % 4 != 0 ) { |
|
11 return 365; |
|
12 } |
|
13 return 366; |
|
14 } |
|
15 function TimeInYear( y ) { |
|
16 return ( DaysInYear(y) * msPerDay ); |
|
17 } |
|
18 function TimeFromYear( y ) { |
|
19 return ( msPerDay * DayFromYear(y) ); |
|
20 } |
|
21 function DayFromYear( y ) { |
|
22 return ( 365*(y-1970) + |
|
23 Math.floor((y-1601)/400) ); |
|
24 } |
|
25 function InLeapYear( t ) { |
|
26 if ( DaysInYear(YearFromTime(t)) == 365 ) { |
|
27 return 0; |
|
28 } |
|
29 if ( DaysInYear(YearFromTime(t)) == 366 ) { |
|
30 } |
|
31 } |
|
32 function YearFromTime( t ) { |
|
33 var sign = ( t < 0 ) ? -1 : 1; |
|
34 var year = ( sign < 0 ) ? 1969 : 1970; |
|
35 for ( var timeToTimeZero = t; ; ) { |
|
36 timeToTimeZero -= sign * TimeInYear(year) |
|
37 if ( sign < 0 ) { |
|
38 } else { |
|
39 if ( sign * timeToTimeZero < 0 ) { |
|
40 break; |
|
41 } else { |
|
42 year += sign; |
|
43 } |
|
44 } |
|
45 } |
|
46 return ( year ); |
|
47 } |
|
48 function WeekDay( t ) {} |
|
49 function LocalTZA() {} |
|
50 function LocalTime( t ) { |
|
51 var dst_start = GetDSTStart(t); |
|
52 } |
|
53 function GetFirstSundayInMonth( t, m ) { |
|
54 var leap = InLeapYear(t); |
|
55 } |
|
56 function GetDSTStart( t ) { |
|
57 return (GetFirstSundayInMonth(t, 2) + 7*msPerDay + 2*msPerHour - LocalTZA()); |
|
58 } |
|
59 var SECTION = "15.9.5.12"; |
|
60 addTestCase( TIME_NOW ); |
|
61 function addTestCase( t ) { |
|
62 var start = TimeFromYear(YearFromTime(t)); |
|
63 var stop = TimeFromYear(YearFromTime(t) + 1); |
|
64 for (var d = start; d < stop; d += msPerDay) { |
|
65 new TestCase( SECTION, |
|
66 WeekDay((LocalTime(d))), |
|
67 (__lookupGetter__) ); |
|
68 } |
|
69 } |