aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/sabre/dav/tests/Sabre/CalDAV/Property/InviteTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/sabre/dav/tests/Sabre/CalDAV/Property/InviteTest.php')
-rw-r--r--vendor/sabre/dav/tests/Sabre/CalDAV/Property/InviteTest.php196
1 files changed, 196 insertions, 0 deletions
diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Property/InviteTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Property/InviteTest.php
new file mode 100644
index 000000000..349a6e080
--- /dev/null
+++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Property/InviteTest.php
@@ -0,0 +1,196 @@
+<?php
+
+namespace Sabre\CalDAV\Property;
+
+use Sabre\CalDAV;
+use Sabre\DAV;
+
+class InviteTest extends \PHPUnit_Framework_TestCase {
+
+ function testSimple() {
+
+ $sccs = new Invite(array());
+
+ }
+
+ /**
+ * @depends testSimple
+ */
+ function testSerialize() {
+
+ $property = new Invite(array(
+ array(
+ 'href' => 'mailto:user1@example.org',
+ 'status' => CalDAV\SharingPlugin::STATUS_ACCEPTED,
+ 'readOnly' => false,
+ ),
+ array(
+ 'href' => 'mailto:user2@example.org',
+ 'commonName' => 'John Doe',
+ 'status' => CalDAV\SharingPlugin::STATUS_DECLINED,
+ 'readOnly' => true,
+ ),
+ array(
+ 'href' => 'mailto:user3@example.org',
+ 'commonName' => 'Joe Shmoe',
+ 'status' => CalDAV\SharingPlugin::STATUS_NORESPONSE,
+ 'readOnly' => true,
+ 'summary' => 'Something, something',
+ ),
+ array(
+ 'href' => 'mailto:user4@example.org',
+ 'commonName' => 'Hoe Boe',
+ 'status' => CalDAV\SharingPlugin::STATUS_INVALID,
+ 'readOnly' => true,
+ ),
+ ), array(
+ 'href' => 'mailto:thedoctor@example.org',
+ 'commonName' => 'The Doctor',
+ 'firstName' => 'The',
+ 'lastName' => 'Doctor',
+ ));
+
+ $doc = new \DOMDocument();
+ $doc->formatOutput = true;
+ $root = $doc->createElement('d:root');
+ $root->setAttribute('xmlns:d','DAV:');
+ $root->setAttribute('xmlns:cal',CalDAV\Plugin::NS_CALDAV);
+ $root->setAttribute('xmlns:cs',CalDAV\Plugin::NS_CALENDARSERVER);
+
+ $doc->appendChild($root);
+ $server = new DAV\Server();
+
+ $property->serialize($server, $root);
+
+ $xml = $doc->saveXML();
+
+ $this->assertEquals(
+'<?xml version="1.0"?>
+<d:root xmlns:d="DAV:" xmlns:cal="' . CalDAV\Plugin::NS_CALDAV . '" xmlns:cs="' . CalDAV\Plugin::NS_CALENDARSERVER . '">
+ <cs:organizer>
+ <d:href>mailto:thedoctor@example.org</d:href>
+ <cs:common-name>The Doctor</cs:common-name>
+ <cs:first-name>The</cs:first-name>
+ <cs:last-name>Doctor</cs:last-name>
+ </cs:organizer>
+ <cs:user>
+ <d:href>mailto:user1@example.org</d:href>
+ <cs:invite-accepted/>
+ <cs:access>
+ <cs:read-write/>
+ </cs:access>
+ </cs:user>
+ <cs:user>
+ <d:href>mailto:user2@example.org</d:href>
+ <cs:common-name>John Doe</cs:common-name>
+ <cs:invite-declined/>
+ <cs:access>
+ <cs:read/>
+ </cs:access>
+ </cs:user>
+ <cs:user>
+ <d:href>mailto:user3@example.org</d:href>
+ <cs:common-name>Joe Shmoe</cs:common-name>
+ <cs:invite-noresponse/>
+ <cs:access>
+ <cs:read/>
+ </cs:access>
+ <cs:summary>Something, something</cs:summary>
+ </cs:user>
+ <cs:user>
+ <d:href>mailto:user4@example.org</d:href>
+ <cs:common-name>Hoe Boe</cs:common-name>
+ <cs:invite-invalid/>
+ <cs:access>
+ <cs:read/>
+ </cs:access>
+ </cs:user>
+</d:root>
+', $xml);
+
+ }
+
+ /**
+ * @depends testSerialize
+ */
+ public function testUnserialize() {
+
+ $input = array(
+ array(
+ 'href' => 'mailto:user1@example.org',
+ 'status' => CalDAV\SharingPlugin::STATUS_ACCEPTED,
+ 'readOnly' => false,
+ 'commonName' => '',
+ 'summary' => '',
+ ),
+ array(
+ 'href' => 'mailto:user2@example.org',
+ 'commonName' => 'John Doe',
+ 'status' => CalDAV\SharingPlugin::STATUS_DECLINED,
+ 'readOnly' => true,
+ 'summary' => '',
+ ),
+ array(
+ 'href' => 'mailto:user3@example.org',
+ 'commonName' => 'Joe Shmoe',
+ 'status' => CalDAV\SharingPlugin::STATUS_NORESPONSE,
+ 'readOnly' => true,
+ 'summary' => 'Something, something',
+ ),
+ array(
+ 'href' => 'mailto:user4@example.org',
+ 'commonName' => 'Hoe Boe',
+ 'status' => CalDAV\SharingPlugin::STATUS_INVALID,
+ 'readOnly' => true,
+ 'summary' => '',
+ ),
+ );
+
+ // Creating the xml
+ $doc = new \DOMDocument();
+ $doc->formatOutput = true;
+ $root = $doc->createElement('d:root');
+ $root->setAttribute('xmlns:d','DAV:');
+ $root->setAttribute('xmlns:cal',CalDAV\Plugin::NS_CALDAV);
+ $root->setAttribute('xmlns:cs',CalDAV\Plugin::NS_CALENDARSERVER);
+
+ $doc->appendChild($root);
+ $server = new DAV\Server();
+
+ $inputProperty = new Invite($input);
+ $inputProperty->serialize($server, $root);
+
+ $xml = $doc->saveXML();
+
+ // Parsing it again
+
+ $doc2 = DAV\XMLUtil::loadDOMDocument($xml);
+
+ $outputProperty = Invite::unserialize($doc2->firstChild);
+
+ $this->assertEquals($input, $outputProperty->getValue());
+
+ }
+
+ /**
+ * @expectedException Sabre\DAV\Exception
+ */
+ function testUnserializeNoStatus() {
+
+$xml = '<?xml version="1.0"?>
+<d:root xmlns:d="DAV:" xmlns:cal="' . CalDAV\Plugin::NS_CALDAV . '" xmlns:cs="' . CalDAV\Plugin::NS_CALENDARSERVER . '">
+ <cs:user>
+ <d:href>mailto:user1@example.org</d:href>
+ <!-- <cs:invite-accepted/> -->
+ <cs:access>
+ <cs:read-write/>
+ </cs:access>
+ </cs:user>
+</d:root>';
+
+ $doc2 = DAV\XMLUtil::loadDOMDocument($xml);
+ $outputProperty = Invite::unserialize($doc2->firstChild);
+
+ }
+
+}