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