public function testDecoding() { $l = new Horde_Test_Log(); $logger = $l->getLogger(); $stream = fopen(__DIR__ . '/fixtures/appointment.wbxml', 'r+'); $decoder = new Horde_ActiveSync_Wbxml_Decoder($stream); $decoder->setLogger($logger); $element = $decoder->getElementStartTag(Horde_ActiveSync::SYNC_DATA); $appt = new Horde_ActiveSync_Message_Appointment(array('logger' => $logger)); $appt->decodeStream($decoder); fclose($stream); $decoder->getElementEndTag(); $this->assertEquals('Event Title', $appt->subject); $this->assertEquals('Event Description', $appt->body); $this->assertEquals('Philadelphia, PA', $appt->location); $this->assertEquals(Horde_ActiveSync_Message_Appointment::SENSITIVITY_PERSONAL, (int) $appt->sensitivity); $this->assertEquals(Horde_ActiveSync_Message_Appointment::BUSYSTATUS_BUSY, (int) $appt->busystatus); $start = clone $appt->starttime; // Ensure it's UTC $this->assertEquals('UTC', $start->timezone); //...and correct. $start->setTimezone('America/New_York'); $this->assertEquals('2011-12-01 15:00:00', (string) $start); }
protected function _setLogger(array $options) { if (!empty($this->_loggerFactory)) { self::$_logger = $this->_loggerFactory->create($options); $this->_encoder->setLogger(self::$_logger); $this->_decoder->setLogger(self::$_logger); $this->_driver->setLogger(self::$_logger); $this->_state->setLogger(self::$_logger); } }