Skip to content

Commit

Permalink
Add test for America/Los_Angeles.
Browse files Browse the repository at this point in the history
  • Loading branch information
yunosh committed Oct 18, 2013
1 parent 4f8997d commit 691d36f
Show file tree
Hide file tree
Showing 4 changed files with 164 additions and 3 deletions.
9 changes: 6 additions & 3 deletions framework/Timezone/package.xml
Expand Up @@ -10,8 +10,7 @@
<email>jan@horde.org</email>
<active>yes</active>
</lead>
<date>2013-05-06</date>
<time>19:22:52</time>
<date>2013-10-18</date>
<version>
<release>1.0.4</release>
<api>1.0.0</api>
Expand Down Expand Up @@ -55,6 +54,8 @@
<file name="etcetera.ics" role="test" />
<file name="europe" role="test" />
<file name="europe.ics" role="test" />
<file name="losangeles.ics" role="test" />
<file name="northamerica" role="test" />
</dir> <!-- /test/Horde/Timezone/fixtures -->
<file name="AllTests.php" role="test" />
<file name="bootstrap.php" role="test" />
Expand Down Expand Up @@ -120,6 +121,8 @@
<install as="Horde/Timezone/fixtures/etcetera.ics" name="test/Horde/Timezone/fixtures/etcetera.ics" />
<install as="Horde/Timezone/fixtures/europe" name="test/Horde/Timezone/fixtures/europe" />
<install as="Horde/Timezone/fixtures/europe.ics" name="test/Horde/Timezone/fixtures/europe.ics" />
<install as="Horde/Timezone/fixtures/losangeles.ics" name="test/Horde/Timezone/fixtures/losangeles.ics" />
<install as="Horde/Timezone/fixtures/northamerica" name="test/Horde/Timezone/fixtures/northamerica" />
</filelist>
</phprelease>
<changelog>
Expand Down Expand Up @@ -197,7 +200,7 @@
<stability>
<release>stable</release>
<api>stable</api></stability>
<date>2013-05-06</date>
<date>2013-10-18</date>
<license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
<notes>
* [jan] Fix broken offsets during first zone rules.
Expand Down
9 changes: 9 additions & 0 deletions framework/Timezone/test/Horde/Timezone/IcalendarTest.php
Expand Up @@ -18,6 +18,15 @@ public function testEurope()
);
}

public function testLosAngeles()
{
$tz = new Horde_Timezone_Mock('northamerica');
$this->assertStringEqualsFile(
__DIR__ . '/fixtures/losangeles.ics',
$tz->getZone('America/Los_Angeles')->toVtimezone()->exportVcalendar()
);
}

public function testEtc()
{
$tz = new Horde_Timezone_Mock('etcetera');
Expand Down
122 changes: 122 additions & 0 deletions framework/Timezone/test/Horde/Timezone/fixtures/losangeles.ics
@@ -0,0 +1,122 @@
BEGIN:VTIMEZONE
TZID:America/Los_Angeles
BEGIN:DAYLIGHT
TZOFFSETFROM:-0800
TZOFFSETTO:-0700
DTSTART:19180331T020000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3;UNTIL=19190330T10000Z
TZNAME:PDT
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0700
TZOFFSETTO:-0800
DTSTART:19181027T020000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10;UNTIL=19191026T10000Z
TZNAME:PST
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:-0800
TZOFFSETTO:-0700
DTSTART:19420209T020000
TZNAME:PWT
END:DAYLIGHT
BEGIN:DAYLIGHT
TZOFFSETFROM:-0700
TZOFFSETTO:-0700
DTSTART:19450814T230000
TZNAME:PPT
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0700
TZOFFSETTO:-0800
DTSTART:19450930T020000
TZNAME:PST
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:-0800
TZOFFSETTO:-0700
DTSTART:19480314T020000
TZNAME:PDT
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0700
TZOFFSETTO:-0800
DTSTART:19490101T020000
TZNAME:PST
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:-0800
TZOFFSETTO:-0700
DTSTART:19500430T020000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=4;UNTIL=19660424T10000Z
TZNAME:PDT
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0700
TZOFFSETTO:-0800
DTSTART:19500924T020000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=9;UNTIL=19610924T10000Z
TZNAME:PST
END:STANDARD
BEGIN:STANDARD
TZOFFSETFROM:-0800
TZOFFSETTO:-0800
DTSTART:19621028T020000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10;UNTIL=19661030T10000Z
TZNAME:PST
END:STANDARD
BEGIN:STANDARD
TZOFFSETFROM:-0800
TZOFFSETTO:-0800
DTSTART:19671029T020000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10;UNTIL=20061029T10000Z
TZNAME:PST
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:-0800
TZOFFSETTO:-0700
DTSTART:19670430T020000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=4;UNTIL=19730429T10000Z
TZNAME:PDT
END:DAYLIGHT
BEGIN:DAYLIGHT
TZOFFSETFROM:-0700
TZOFFSETTO:-0700
DTSTART:19740106T020000
TZNAME:PDT
END:DAYLIGHT
BEGIN:DAYLIGHT
TZOFFSETFROM:-0700
TZOFFSETTO:-0700
DTSTART:19750223T020000
TZNAME:PDT
END:DAYLIGHT
BEGIN:DAYLIGHT
TZOFFSETFROM:-0700
TZOFFSETTO:-0700
DTSTART:19760425T020000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=4;UNTIL=19860427T10000Z
TZNAME:PDT
END:DAYLIGHT
BEGIN:DAYLIGHT
TZOFFSETFROM:-0700
TZOFFSETTO:-0700
DTSTART:19870405T020000
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU;UNTIL=20060402T10000Z
TZNAME:PDT
END:DAYLIGHT
BEGIN:DAYLIGHT
TZOFFSETFROM:-0700
TZOFFSETTO:-0700
DTSTART:20070311T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYMONTHDAY=8,9,10,11,12,13,14;BYDAY=1SU
TZNAME:PDT
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0700
TZOFFSETTO:-0800
DTSTART:20071104T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
TZNAME:PST
END:STANDARD
END:VTIMEZONE
27 changes: 27 additions & 0 deletions framework/Timezone/test/Horde/Timezone/fixtures/northamerica
@@ -0,0 +1,27 @@
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule US 1918 1919 - Mar lastSun 2:00 1:00 D
Rule US 1918 1919 - Oct lastSun 2:00 0 S
Rule US 1942 only - Feb 9 2:00 1:00 W # War
Rule US 1945 only - Aug 14 23:00u 1:00 P # Peace
Rule US 1945 only - Sep 30 2:00 0 S
Rule US 1967 2006 - Oct lastSun 2:00 0 S
Rule US 1967 1973 - Apr lastSun 2:00 1:00 D
Rule US 1974 only - Jan 6 2:00 1:00 D
Rule US 1975 only - Feb 23 2:00 1:00 D
Rule US 1976 1986 - Apr lastSun 2:00 1:00 D
Rule US 1987 2006 - Apr Sun>=1 2:00 1:00 D
Rule US 2007 max - Mar Sun>=8 2:00 1:00 D
Rule US 2007 max - Nov Sun>=1 2:00 0 S

# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER
Rule CA 1948 only - Mar 14 2:00 1:00 D
Rule CA 1949 only - Jan 1 2:00 0 S
Rule CA 1950 1966 - Apr lastSun 2:00 1:00 D
Rule CA 1950 1961 - Sep lastSun 2:00 0 S
Rule CA 1962 1966 - Oct lastSun 2:00 0 S

# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Los_Angeles -7:52:58 - LMT 1883 Nov 18 12:07:02
-8:00 US P%sT 1946
-8:00 CA P%sT 1967
-8:00 US P%sT

0 comments on commit 691d36f

Please sign in to comment.