]> git.mxchange.org Git - friendica-addons.git/blob - dav/SabreDAV/tests/Sabre/VObject/DateTimeParserTest.php
Merge branch 'master' of git://github.com/friendica/friendica-addons
[friendica-addons.git] / dav / SabreDAV / tests / Sabre / VObject / DateTimeParserTest.php
1 <?php
2
3 require_once 'Sabre/CalDAV/TestUtil.php';
4
5 class Sabre_VObject_DateTimeParserTest extends PHPUnit_Framework_TestCase {
6
7     function testParseICalendarDuration() {
8
9         $this->assertEquals('+1 weeks', Sabre_VObject_DateTimeParser::parseDuration('P1W',true));
10         $this->assertEquals('+5 days',  Sabre_VObject_DateTimeParser::parseDuration('P5D',true));
11         $this->assertEquals('+5 days 3 hours 50 minutes 12 seconds', Sabre_VObject_DateTimeParser::parseDuration('P5DT3H50M12S',true));
12         $this->assertEquals('-1 weeks 50 minutes', Sabre_VObject_DateTimeParser::parseDuration('-P1WT50M',true));
13         $this->assertEquals('+50 days 3 hours 2 seconds', Sabre_VObject_DateTimeParser::parseDuration('+P50DT3H2S',true));
14         $this->assertEquals(new DateInterval('PT0S'), Sabre_VObject_DateTimeParser::parseDuration('PT0S'));
15
16     }
17
18     function testParseICalendarDurationDateInterval() {
19
20         $expected = new DateInterval('P7D');
21         $this->assertEquals($expected, Sabre_VObject_DateTimeParser::parseDuration('P1W'));
22         $this->assertEquals($expected, Sabre_VObject_DateTimeParser::parse('P1W'));
23
24         $expected = new DateInterval('PT3M');
25         $expected->invert = true;
26         $this->assertEquals($expected, Sabre_VObject_DateTimeParser::parseDuration('-PT3M'));
27
28     }
29
30     /**
31      * @expectedException Sabre_DAV_Exception_BadRequest
32      */
33     function testParseICalendarDurationFail() {
34
35         Sabre_VObject_DateTimeParser::parseDuration('P1X',true);
36
37     }
38
39     function testParseICalendarDateTime() {
40
41         $dateTime = Sabre_VObject_DateTimeParser::parseDateTime('20100316T141405');
42
43         $compare = new DateTime('2010-03-16 14:14:05',new DateTimeZone('UTC'));
44
45         $this->assertEquals($compare, $dateTime);
46
47     }
48
49     /**
50      * @depends testParseICalendarDateTime
51      * @expectedException Sabre_DAV_Exception_BadRequest
52      */
53     function testParseICalendarDateTimeBadFormat() {
54
55         $dateTime = Sabre_VObject_DateTimeParser::parseDateTime('20100316T141405 ');
56
57     }
58
59     /**
60      * @depends testParseICalendarDateTime
61      */
62     function testParseICalendarDateTimeUTC() {
63
64         $dateTime = Sabre_VObject_DateTimeParser::parseDateTime('20100316T141405Z');
65
66         $compare = new DateTime('2010-03-16 14:14:05',new DateTimeZone('UTC'));
67         $this->assertEquals($compare, $dateTime);
68
69     }
70
71     /**
72      * @depends testParseICalendarDateTime
73      */
74     function testParseICalendarDateTimeUTC2() {
75
76         $dateTime = Sabre_VObject_DateTimeParser::parseDateTime('20101211T160000Z');
77
78         $compare = new DateTime('2010-12-11 16:00:00',new DateTimeZone('UTC'));
79         $this->assertEquals($compare, $dateTime);
80
81     }
82
83     /**
84      * @depends testParseICalendarDateTime
85      */
86     function testParseICalendarDateTimeCustomTimeZone() {
87
88         $dateTime = Sabre_VObject_DateTimeParser::parseDateTime('20100316T141405', new DateTimeZone('Europe/Amsterdam'));
89
90         $compare = new DateTime('2010-03-16 13:14:05',new DateTimeZone('UTC'));
91         $this->assertEquals($compare, $dateTime);
92
93     }
94
95     function testParseICalendarDate() {
96
97         $dateTime = Sabre_VObject_DateTimeParser::parseDate('20100316');
98
99         $expected = new DateTime('2010-03-16 00:00:00',new DateTimeZone('UTC'));
100
101         $this->assertEquals($expected, $dateTime);
102
103         $dateTime = Sabre_VObject_DateTimeParser::parse('20100316');
104         $this->assertEquals($expected, $dateTime);
105
106     }
107
108     /**
109      * @depends testParseICalendarDate
110      * @expectedException Sabre_DAV_Exception_BadRequest
111      */
112     function testParseICalendarDateBadFormat() {
113
114         $dateTime = Sabre_VObject_DateTimeParser::parseDate('20100316T141405');
115
116     }
117 }