/** * @covers Jsvrcek\ICS\Model\Recurrence\RecurrentRule::parse() * @depends testToString */ public function testParse() { //reset instance $this->setUp(); $rRuleString = 'RRULE:FREQ=YEARLY;INTERVAL=2'; $this->object->parse($rRuleString); $this->assertEquals($rRuleString, $this->object->__toString()); $rRuleString = 'RRULE:FREQ=WEEKLY;INTERVAL=4'; $this->object->parse($rRuleString); $this->assertEquals($rRuleString, $this->object->__toString()); /* $rRuleString = 'RRULE:FREQ=YEARLY;INTERVAL=2;COUNT=10;BYDAY=10MO,-10TU'; $this->object->parse($rRuleString); $this->assertEquals($rRuleString, $this->object->__toString()); */ }
/** * @covers Jsvrcek\ICS\CalendarExport::getStream */ public function testGetStream() { $organizer = new Organizer(new Formatter()); $organizer->setValue('*****@*****.**')->setName('Sue Jones')->setSentBy('*****@*****.**')->setLanguage('en'); $attendee = new Attendee(new Formatter()); $attendee->setName('Jane Smith')->setCalendarUserType('INDIVIDUAL')->setParticipationStatus('ACCEPTED')->setRole('REQ-PARTICIPANT')->setSentBy('joe@example')->addCalendarMember('*****@*****.**')->setValue('*****@*****.**'); $event = new CalendarEvent(); $event->setUid('*****@*****.**')->setStart(new \DateTime('1 October 2013'))->setEnd(new \DateTime('31 October 2013'))->setSummary('Oktoberfest at the South Pole')->addAttendee($attendee)->setOrganizer($organizer); $rrule = new RecurrenceRule(new Formatter()); $rrule->setFrequency(new Frequency(Frequency::MONTHLY))->setInterval(2)->setCount(6)->addByDay(new WeekdayNum(Weekday::SATURDAY, 2)); $event->setRecurrenceRule($rrule); $cal = new Calendar(); $cal->setProdId('-//Jsvrcek//ICS//EN')->setTimezone(new \DateTimeZone('Antarctica/McMurdo'))->addEvent($event); $ce = new CalendarExport(new CalendarStream(), new Formatter()); $ce->addCalendar($cal); $stream = $ce->getStream(); //file_put_contents(__DIR__.'/../../../test.ics', $stream); $expected = file_get_contents(__DIR__ . '/../../../test.ics'); $this->assertEquals($expected, $stream); }