-
Notifications
You must be signed in to change notification settings - Fork 22
/
Copy pathevent.timezones.phpt
39 lines (33 loc) · 1.13 KB
/
event.timezones.phpt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
/**
* @author Marc Vachette <[email protected]>
*/
use om\IcalParser;
use Tester\Assert;
use function tests\test;
require_once __DIR__ . '/bootstrap.php';
date_default_timezone_set('Europe/Paris');
test('Normal time zone', function () {
$cal = new IcalParser();
$cal->parseFile(__DIR__ . '/cal/blank_description.ics');
Assert::same('America/Los_Angeles', $cal->timezone->getName());
});
test('Negative zero UTC timezone', function () {
$cal = new IcalParser();
$cal->parseFile(__DIR__ . '/cal/utc_negative_zero.ics');
Assert::same('Etc/GMT', $cal->timezone->getName());
});
/**
* Time zone with custom prefixes (Mozilla files tken from here: https://www.mozilla.org/en-US/projects/calendar/holidays/)
*/
test('Time zone with custom prefixes', function () {
$cal = new IcalParser();
$cal->parseFile(__DIR__ . '/cal/FrenchHolidays.ics');
Assert::same('Europe/Paris', $cal->timezone->getName());
});
test('Weird windows timezones', function () {
$cal = new IcalParser();
$cal->parseFile(__DIR__ . '/cal/weird_windows_timezones.ics');
$cal->getEvents()->sorted();
Assert::same('Atlantic/Reykjavik', $cal->timezone->getName());
});