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); }
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)); }