assertEquals('foo', $notification->getId()); $this->assertEquals('"1"', $notification->getETag()); $simpleExpected = '' . "\n" . '' . "\n"; $dom = new \DOMDocument('1.0','UTF-8'); $elem = $dom->createElement('cs:root'); $elem->setAttribute('xmlns:cs',CalDAV\Plugin::NS_CALENDARSERVER); $dom->appendChild($elem); $notification->serialize(new DAV\Server(), $elem); $this->assertEquals($simpleExpected, $dom->saveXML()); $dom = new \DOMDocument('1.0','UTF-8'); $dom->formatOutput = true; $elem = $dom->createElement('cs:root'); $elem->setAttribute('xmlns:cs',CalDAV\Plugin::NS_CALENDARSERVER); $elem->setAttribute('xmlns:d','DAV:'); $dom->appendChild($elem); $notification->serializeBody(new DAV\Server(), $elem); $this->assertEquals($expected, $dom->saveXML()); } function dataProvider() { $dtStamp = new \DateTime('2012-01-01 00:00:00 GMT'); return array( array( array( 'id' => 'foo', 'dtStamp' => $dtStamp, 'etag' => '"1"', 'inReplyTo' => 'bar', 'href' => 'mailto:foo@example.org', 'type' => CalDAV\SharingPlugin::STATUS_ACCEPTED, 'hostUrl' => 'calendar' ), << 20120101T000000Z foo bar mailto:foo@example.org /calendar FOO ), array( array( 'id' => 'foo', 'dtStamp' => $dtStamp, 'etag' => '"1"', 'inReplyTo' => 'bar', 'href' => 'mailto:foo@example.org', 'type' => CalDAV\SharingPlugin::STATUS_DECLINED, 'hostUrl' => 'calendar', 'summary' => 'Summary!' ), << 20120101T000000Z foo bar mailto:foo@example.org /calendar Summary! FOO ), ); } /** * @expectedException InvalidArgumentException */ function testMissingArg() { new InviteReply(array()); } /** * @expectedException InvalidArgumentException */ function testUnknownArg() { new InviteReply(array( 'foo-i-will-break' => true, 'id' => 1, 'etag' => '"bla"', 'href' => 'abc', 'dtStamp' => 'def', 'inReplyTo' => 'qrs', 'type' => 'ghi', 'hostUrl' => 'jkl', )); } }