diff options
Diffstat (limited to 'vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookQueryTest.php')
-rw-r--r-- | vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookQueryTest.php | 51 |
1 files changed, 48 insertions, 3 deletions
diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookQueryTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookQueryTest.php index 2c3171bf3..f8da38a16 100644 --- a/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookQueryTest.php +++ b/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookQueryTest.php @@ -2,8 +2,8 @@ namespace Sabre\CardDAV; -use Sabre\HTTP; use Sabre\DAV; +use Sabre\HTTP; require_once 'Sabre/CardDAV/AbstractPluginTest.php'; require_once 'Sabre/HTTP/ResponseMock.php'; @@ -288,14 +288,14 @@ class AddressBookQueryTest extends AbstractPluginTest { ); $request->setBody( -'<?xml version="1.0"?> + '<?xml version="1.0"?> <c:addressbook-query xmlns:d="DAV:" xmlns:c="urn:ietf:params:xml:ns:carddav"> <d:prop> <c:address-data content-type="application/vcard+json" /> <d:getetag /> </d:prop> </c:addressbook-query>' - ); + ); $response = new HTTP\ResponseMock(); @@ -305,6 +305,51 @@ class AddressBookQueryTest extends AbstractPluginTest { $this->server->exec(); $this->assertEquals(415, $response->status, 'Incorrect status code. Full response body:' . $response->body); + } + + function testAddressBookProperties() { + + $request = new HTTP\Request( + 'REPORT', + '/addressbooks/user1/book3', + ['Depth' => '1'] + ); + + $request->setBody( + '<?xml version="1.0"?> +<c:addressbook-query xmlns:d="DAV:" xmlns:c="urn:ietf:params:xml:ns:carddav"> + <d:prop> + <c:address-data> + <c:prop name="FN"/> + <c:prop name="BDAY"/> + </c:address-data> + <d:getetag /> + </d:prop> +</c:addressbook-query>' + ); + + $response = new HTTP\ResponseMock(); + + $this->server->httpRequest = $request; + $this->server->httpResponse = $response; + + $this->server->exec(); + + $this->assertEquals(207, $response->status, 'Incorrect status code. Full response body:' . $response->body); + + // using the client for parsing + $client = new DAV\Client(['baseUri' => '/']); + + $result = $client->parseMultiStatus($response->body); + + $this->assertEquals([ + '/addressbooks/user1/book3/card3' => [ + 200 => [ + '{DAV:}getetag' => '"' . md5("BEGIN:VCARD\nVERSION:3.0\nUID:12345\nFN:Test-Card\nEMAIL;TYPE=home:bar@example.org\nEND:VCARD") . '"', + '{urn:ietf:params:xml:ns:carddav}address-data' => "BEGIN:VCARD\r\nVERSION:3.0\r\nUID:12345\r\nFN:Test-Card\r\nEND:VCARD\r\n", + ], + ], + ], $result); } } |