1--TEST--
2SIF tests.
3--FILE--
4<?php
5
6// Setup stubs.
7class BackendStub {
8    function logMessage() {}
9}
10$backend = new BackendStub();
11
12// Load device handler.
13require_once __DIR__ . '/../SyncML/Device.php';
14$device = Horde_SyncMl_Device::factory('Sync4j');
15
16$data = <<<EVENT
17BEGIN:VCALENDAR
18VERSION:2.0
19X-WR-CALNAME:cdillon's Calendar
20PRODID:-//The Horde Project//Horde iCalendar Library//EN
21METHOD:PUBLISH
22BEGIN:VEVENT
23DTSTART:20080630T110000Z
24DTEND:20080630T120000Z
25DTSTAMP:20080630T201939Z
26UID:20080630151854.190949aaovgixvhq@www.wolves.k12.mo.us
27CREATED:20080630T201854Z
28LAST-MODIFIED:20080630T201854Z
29SUMMARY:Server02
30ORGANIZER;CN=Chris Dillon:mailto:cdillon@wolves.k12.mo.us
31CLASS:PUBLIC
32STATUS:CONFIRMED
33TRANSP:OPAQUE
34ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN="Dillon,
35  Chris":mailto:cdillon@wolves.k12.mo.us
36BEGIN:VALARM
37ACTION:DISPLAY
38TRIGGER;VALUE=DURATION:-PT15M
39END:VALARM
40END:VEVENT
41END:VCALENDAR
42EVENT;
43
44echo $device->vevent2sif($data);
45echo "\n\n";
46
47$data = <<<EVENT
48BEGIN:VCALENDAR
49VERSION:2.0
50X-WR-CALNAME:cdillon's Calendar
51PRODID:-//The Horde Project//Horde_iCalendar Library//EN
52METHOD:PUBLISH
53BEGIN:VEVENT
54DTSTART;VALUE=DATE:20080630
55DTEND;VALUE=DATE:20080631
56DTSTAMP:20080630T201939Z
57UID:20080630151854.190949aaovgixvhq@www.wolves.k12.mo.us
58CREATED:20080630T201854Z
59LAST-MODIFIED:20080630T201854Z
60SUMMARY:Server02
61ORGANIZER;CN=Chris Dillon:mailto:cdillon@wolves.k12.mo.us
62CLASS:PUBLIC
63STATUS:CONFIRMED
64TRANSP:OPAQUE
65ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN="Dillon,
66  Chris":mailto:cdillon@wolves.k12.mo.us
67BEGIN:VALARM
68ACTION:DISPLAY
69TRIGGER;VALUE=DURATION:-PT15M
70END:VALARM
71END:VEVENT
72END:VCALENDAR
73EVENT;
74
75echo $device->vevent2sif($data);
76echo "\n\n";
77
78$data = <<<EVENT
79BEGIN:VCALENDAR
80VERSION:2.0
81X-WR-CALNAME:Agenda de Pruebas
82PRODID:-//The Horde Project//Horde_iCalendar Library\, Horde 3.3.8//EN
83METHOD:PUBLISH
84BEGIN:VEVENT
85DTSTART:20101101T090000Z
86DTEND:20101101T100000Z
87DTSTAMP:20101025T104946Z
88UID:20101025124222.12755wqg94msihvy@example.com
89CREATED:20101025T104222Z
90LAST-MODIFIED:20101025T104846Z
91SUMMARY:Cinco-Lunes
92ORGANIZER;CN=Pruebas:mailto:pruebas@example.com
93CATEGORIES:Trabajo
94LOCATION:Korta
95CLASS:PUBLIC
96STATUS:CONFIRMED
97TRANSP:OPAQUE
98RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=MO;UNTIL=20101130T225959Z
99EXDATE:20101108T090000Z
100EXDATE:20101122T090000Z
101EXDATE:20101129T090000Z
102EXDATE:20101115T090000Z
103BEGIN:VALARM
104ACTION:DISPLAY
105TRIGGER;VALUE=DURATION:-PT15M
106END:VALARM
107END:VEVENT
108END:VCALENDAR
109EVENT;
110
111echo $device->vevent2sif($data);
112echo "\n\n";
113
114$data = <<<CONTACT
115<?xml version="1.0" encoding="UTF-8"?>
116<contact>
117<Anniversary/>
118<AssistantName/>
119<AssistantTelephoneNumber/>
120<BillingInformation/>
121<Birthday>2008-10-18</Birthday>
122<Body>Comments
123More comments
124And just a couple more</Body>
125<Business2TelephoneNumber/>
126<BusinessAddressCity>Golden Hills</BusinessAddressCity>
127<BusinessAddressCountry>Australia</BusinessAddressCountry>
128<BusinessAddressPostOfficeBox/>
129<BusinessAddressPostalCode>4009</BusinessAddressPostalCode>
130<BusinessAddressState>Qld</BusinessAddressState>
131<BusinessAddressStreet>Company
132Unit 2, 123 St Freds Tce</BusinessAddressStreet>
133<BusinessFaxNumber/>
134<BusinessTelephoneNumber>+61 712341234</BusinessTelephoneNumber>
135<CallbackTelephoneNumber/>
136<CarTelephoneNumber/>
137<Categories/>
138<Children/>
139<Companies/>
140<CompanyMainTelephoneNumber/>
141<CompanyName>Company</CompanyName>
142<ComputerNetworkName/>
143<Department/>
144<Email1Address>test@domain.com</Email1Address>
145<Email1AddressType>SMTP</Email1AddressType>
146<Email2Address>user@seconddomain.com</Email2Address>
147<Email2AddressType>SMTP</Email2AddressType>
148<Email3Address/>
149<Email3AddressType/>
150<FileAs>Lastname, Firstname</FileAs>
151<FirstName>Firstname</FirstName>
152<Folder>DEFAULT_FOLDER</Folder>
153<Gender>0</Gender>
154<Hobby/>
155<Home2TelephoneNumber/>
156<HomeAddressCity/>
157<HomeAddressCountry/>
158<HomeAddressPostOfficeBox/>
159<HomeAddressPostalCode/>
160<HomeAddressState/>
161<HomeAddressStreet/>
162<HomeFaxNumber/>
163<HomeTelephoneNumber/>
164<HomeWebPage/>
165<IMAddress/>
166<Importance>1</Importance>
167<Initials>F.L.</Initials>
168<JobTitle/>
169<Language/>
170<LastName>Lastname</LastName>
171<MailingAddress>Company
172Unit 2, 123 St Freds Tce
173Golden Hills  Qld  4009
174Australia</MailingAddress>
175<ManagerName/>
176<MiddleName/>
177<Mileage/>
178<MobileTelephoneNumber>+61 123123123</MobileTelephoneNumber>
179<NickName/>
180<OfficeLocation/>
181<OrganizationalIDNumber/>
182<OtherAddressCity/>
183<OtherAddressCountry/>
184<OtherAddressPostOfficeBox/>
185<OtherAddressPostalCode/>
186<OtherAddressState/>
187<OtherAddressStreet/>
188<OtherFaxNumber/>
189<OtherTelephoneNumber/>
190<PagerNumber/>
191<Photo/>
192<PrimaryTelephoneNumber/>
193<Profession/>
194<RadioTelephoneNumber/>
195<Sensitivity>0</Sensitivity>
196<Spouse/>
197<Subject>Firstname Lastname</Subject>
198<Suffix/>
199<TelexNumber/>
200<Title/>
201<WebPage/>
202<YomiCompanyName/>
203<YomiFirstName/>
204<YomiLastName/>
205</contact>
206CONTACT;
207
208echo $device->sif2vcard($data);
209
210?>
211--EXPECT--
212<?xml version="1.0"?><appointment><ReminderSet>1</ReminderSet><IsRecurring>0</IsRecurring><BusyStatus>2</BusyStatus><AllDayEvent>0</AllDayEvent><Start>20080630T110000Z</Start><End>20080630T120000Z</End><Subject>Server02</Subject><Sensitivity>0</Sensitivity><ReminderMinutesBeforeStart>15</ReminderMinutesBeforeStart><Duration>60</Duration></appointment>
213
214<?xml version="1.0"?><appointment><ReminderSet>1</ReminderSet><IsRecurring>0</IsRecurring><BusyStatus>2</BusyStatus><AllDayEvent>1</AllDayEvent><Start>2008-06-30</Start><End>2008-06-30</End><Subject>Server02</Subject><Sensitivity>0</Sensitivity><ReminderMinutesBeforeStart>15</ReminderMinutesBeforeStart></appointment>
215
216<?xml version="1.0"?><appointment><ReminderSet>1</ReminderSet><IsRecurring>1</IsRecurring><BusyStatus>2</BusyStatus><AllDayEvent>0</AllDayEvent><Start>20101101T090000Z</Start><End>20101101T100000Z</End><Subject>Cinco-Lunes</Subject><Categories>Trabajo</Categories><Location>Korta</Location><Sensitivity>0</Sensitivity><Interval>1</Interval><RecurrenceType>1</RecurrenceType><DayOfWeekMask>2</DayOfWeekMask><NoEndDate>0</NoEndDate><PatternEndDate>20101130T225959Z</PatternEndDate><ReminderMinutesBeforeStart>15</ReminderMinutesBeforeStart><Duration>60</Duration></appointment>
217
218BEGIN:VCARD
219VERSION:3.0
220FN:Lastname\, Firstname
221TEL;TYPE=WORK:+61 712341234
222TEL;TYPE=CELL:+61 123123123
223EMAIL:test@domain.com
224EMAIL;TYPE=HOME:user@seconddomain.com
225NOTE:Comments\nMore comments\nAnd just a couple more
226BDAY:2008-10-18
227N:Lastname;Firstname;;;
228ADR;TYPE=WORK:;;Company\nUnit 2\, 123 St Freds Tce;Golden
229  Hills;Qld;4009;Australia
230ORG:Company
231END:VCARD
232