function testGetChanges()
 {
     $backend = new PDO($this->pdo);
     $id = $backend->createCalendar('principals/user1', 'bla', []);
     $result = $backend->getChangesForCalendar($id, null, 1);
     $this->assertEquals(['syncToken' => 1, 'modified' => [], 'deleted' => [], 'added' => []], $result);
     $currentToken = $result['syncToken'];
     $dummyTodo = "BEGIN:VCALENDAR\r\nBEGIN:VTODO\r\nEND:VTODO\r\nEND:VCALENDAR\r\n";
     $backend->createCalendarObject($id, "todo1.ics", $dummyTodo);
     $backend->createCalendarObject($id, "todo2.ics", $dummyTodo);
     $backend->createCalendarObject($id, "todo3.ics", $dummyTodo);
     $backend->updateCalendarObject($id, "todo1.ics", $dummyTodo);
     $backend->deleteCalendarObject($id, "todo2.ics");
     $result = $backend->getChangesForCalendar($id, $currentToken, 1);
     $this->assertEquals(['syncToken' => 6, 'modified' => ["todo1.ics"], 'deleted' => ["todo2.ics"], 'added' => ["todo3.ics"]], $result);
     $result = $backend->getChangesForCalendar($id, null, 1);
     $this->assertEquals(['syncToken' => 6, 'modified' => [], 'deleted' => [], 'added' => ["todo1.ics", "todo3.ics"]], $result);
 }
Example #2
0
 function testCalendarQueryTimeRangeNoEnd()
 {
     $backend = new PDO($this->pdo);
     $backend->createCalendarObject(1, "todo", "BEGIN:VCALENDAR\r\nBEGIN:VTODO\r\nEND:VTODO\r\nEND:VCALENDAR\r\n");
     $backend->createCalendarObject(1, "event", "BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nDTSTART:20120101\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n");
     $backend->createCalendarObject(1, "event2", "BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nDTSTART:20120103\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n");
     $filters = array('name' => 'VCALENDAR', 'comp-filters' => array(array('name' => 'VEVENT', 'comp-filters' => array(), 'prop-filters' => array(), 'is-not-defined' => false, 'time-range' => array('start' => new \DateTime('20120102'), 'end' => null))), 'prop-filters' => array(), 'is-not-defined' => false, 'time-range' => null);
     $this->assertEquals(array("event2"), $backend->calendarQuery(1, $filters));
 }