Esempio n. 1
0
 public function testEncodingSimpleExceptions()
 {
     $this->markTestSkipped('Needs updated fixture.');
     $l = new Horde_Test_Log();
     $logger = $l->getLogger();
     //$logger = new Horde_Log_Logger(new Horde_Log_Handler_Stream(fopen('/tmp/test.log', 'a')));
     // Every other week recurrence, on thursday, no end.
     $r = new Horde_Date_Recurrence('2011-12-01T15:00:00');
     $r->setRecurType(Horde_Date_Recurrence::RECUR_WEEKLY);
     $r->setRecurInterval(2);
     $r->setRecurOnDay(Horde_Date::MASK_THURSDAY);
     $r->addException(2011, 12, 29);
     $e = new Horde_ActiveSync_Message_Exception();
     $d = new Horde_Date('2011-12-29T15:00:00');
     $e->setExceptionStartTime($d);
     $e->deleted = true;
     $appt = new Horde_ActiveSync_Message_Appointment(array('logger' => $logger));
     $appt->setSubject('Event Title');
     $appt->setBody('Event Description');
     $appt->setLocation('Philadelphia, PA');
     $start = new Horde_Date('2011-12-01T15:00:00');
     $appt->setDatetime(array('start' => $start, 'end' => new Horde_Date('2011-12-01T16:00:00'), 'allday' => false));
     $appt->setTimezone($start);
     $appt->setSensitivity(Horde_ActiveSync_Message_Appointment::SENSITIVITY_PERSONAL);
     $appt->setBusyStatus(Horde_ActiveSync_Message_Appointment::BUSYSTATUS_BUSY);
     $appt->setDTStamp($start->timestamp());
     $appt->setRecurrence($r);
     $appt->addException($e);
     $stream = fopen('php://memory', 'w+');
     $encoder = new Horde_ActiveSync_Wbxml_Encoder($stream);
     $encoder->setLogger($logger);
     $encoder->startTag(Horde_ActiveSync::SYNC_DATA);
     $appt->encodeStream($encoder);
     $encoder->endTag();
     $fixture = file_get_contents(__DIR__ . '/fixtures/simpleexception.wbxml');
     rewind($stream);
     $results = stream_get_contents($stream);
     fclose($stream);
     $this->assertEquals($fixture, $results);
 }
Esempio n. 2
0
 public function testAlldayEncoding()
 {
     $l = new Horde_Test_Log();
     $logger = $l->getLogger();
     // Check that the encoded wbxml looks correct.
     $stream_out = fopen('php://memory', 'w+');
     $encoder = new Horde_ActiveSync_Wbxml_Encoder($stream_out);
     $message = new Horde_ActiveSync_Message_Appointment(array('logger' => $logger, 'protocolversion' => Horde_ActiveSync::VERSION_FOURTEEN));
     $message->setSubject('Test Event');
     $message->alldayevent = true;
     $start = new Horde_Date('1970-03-20T00:00:00', 'America/New_York');
     $end = new Horde_Date('1970-03-21T00:00:00', 'America/New_York');
     $message->starttime = $start;
     $message->endtime = $end;
     $message->setTimezone($start);
     $message->meetingstatus = Horde_ActiveSync_Message_Appointment::MEETING_NOT_MEETING;
     $message->encodeStream($encoder);
     $fixture = file_get_contents(__DIR__ . '/fixtures/allday_appointment.wbxml');
     rewind($stream_out);
     $this->assertEquals($fixture, stream_get_contents($stream_out));
     // Make sure EAS versions work properly.
     rewind($stream_out);
     $message = new Horde_ActiveSync_Message_Appointment(array('logger' => $logger, 'protocolversion' => Horde_ActiveSync::VERSION_FOURTEEN));
     $decoder = new Horde_ActiveSync_Wbxml_Decoder($stream_out);
     $decoder->getElementStartTag(Horde_ActiveSync::SYNC_DATA);
     $message->decodeStream($decoder);
     $end = $message->endtime;
     $end->setTimezone('America/New_York');
     $start->setTimezone('America/New_York');
     $this->assertEquals('1970-03-21 00:00:00', (string) $end);
     $this->assertEquals('1970-03-20 00:00:00', (string) $start);
     rewind($stream_out);
     $message = new Horde_ActiveSync_Message_Appointment(array('logger' => $logger, 'protocolversion' => Horde_ActiveSync::VERSION_SIXTEEN));
     $decoder = new Horde_ActiveSync_Wbxml_Decoder($stream_out);
     $decoder->getElementStartTag(Horde_ActiveSync::SYNC_DATA);
     $message->decodeStream($decoder);
     $end = $message->endtime;
     $end->setTimezone('America/New_York');
     $start->setTimezone('America/New_York');
     $this->assertEquals('1970-03-21 00:00:00', (string) $end);
     $this->assertEquals('1970-03-20 00:00:00', (string) $start);
 }