1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <?php
- namespace Sabre\VObject\ITip;
- use Sabre\VObject\Reader;
- class BrokerTimezoneInParseEventInfoWithoutMasterTest extends \PHPUnit_Framework_TestCase {
- function testTimezoneInParseEventInfoWithoutMaster()
- {
- $calendar = <<<ICS
- BEGIN:VCALENDAR
- VERSION:2.0
- PRODID:-//Apple Inc.//Mac OS X 10.9.5//EN
- CALSCALE:GREGORIAN
- BEGIN:VTIMEZONE
- TZID:Europe/Minsk
- BEGIN:DAYLIGHT
- TZOFFSETFROM:+0200
- RRULE:FREQ=YEARLY;UNTIL=20100328T000000Z;BYMONTH=3;BYDAY=-1SU
- DTSTART:19930328T020000
- TZNAME:GMT+3
- TZOFFSETTO:+0300
- END:DAYLIGHT
- BEGIN:STANDARD
- TZOFFSETFROM:+0200
- DTSTART:20110327T020000
- TZNAME:GMT+3
- TZOFFSETTO:+0300
- RDATE:20110327T020000
- END:STANDARD
- END:VTIMEZONE
- BEGIN:VEVENT
- CREATED:20160331T163031Z
- UID:B9301437-417C-4136-8DB3-8D1555863791
- DTEND;TZID=Europe/Minsk:20160405T100000
- TRANSP:OPAQUE
- ATTENDEE;CN=User Invitee;CUTYPE=INDIVIDUAL;EMAIL=invitee@test.com;PARTSTAT=
- ACCEPTED;ROLE=REQ-PARTICIPANT:mailto:invitee@test.com
- ATTENDEE;CN=User Organizer;CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED:mailto:organ
- izer@test.com
- SUMMARY:Event title
- DTSTART;TZID=Europe/Minsk:20160405T090000
- DTSTAMP:20160331T164108Z
- ORGANIZER;CN=User Organizer:mailto:organizer@test.com
- SEQUENCE:6
- RECURRENCE-ID;TZID=Europe/Minsk:20160405T090000
- END:VEVENT
- BEGIN:VEVENT
- CREATED:20160331T163031Z
- UID:B9301437-417C-4136-8DB3-8D1555863791
- DTEND;TZID=Europe/Minsk:20160406T100000
- TRANSP:OPAQUE
- ATTENDEE;CN=User Invitee;CUTYPE=INDIVIDUAL;EMAIL=invitee@test.com;PARTSTAT=
- ACCEPTED;ROLE=REQ-PARTICIPANT:mailto:invitee@test.com
- ATTENDEE;CN=User Organizer;CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED:mailto:organ
- izer@test.com
- SUMMARY:Event title
- DTSTART;TZID=Europe/Minsk:20160406T090000
- DTSTAMP:20160331T165845Z
- ORGANIZER;CN=User Organizer:mailto:organizer@test.com
- SEQUENCE:6
- RECURRENCE-ID;TZID=Europe/Minsk:20160406T090000
- END:VEVENT
- END:VCALENDAR
- ICS;
- $calendar = Reader::read($calendar);
- $broker = new Broker();
- $reflectionMethod = new \ReflectionMethod($broker, 'parseEventInfo');
- $reflectionMethod->setAccessible(true);
- $data = $reflectionMethod->invoke($broker, $calendar);
- $this->assertInstanceOf('DateTimeZone', $data['timezone']);
- $this->assertEquals($data['timezone']->getName(), 'Europe/Minsk');
- }
- }
|