diff options
Diffstat (limited to 'vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookQueryParserTest.php')
-rw-r--r-- | vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookQueryParserTest.php | 329 |
1 files changed, 0 insertions, 329 deletions
diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookQueryParserTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookQueryParserTest.php deleted file mode 100644 index 51bea6c6c..000000000 --- a/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookQueryParserTest.php +++ /dev/null @@ -1,329 +0,0 @@ -<?php - -namespace Sabre\CardDAV; - -use Sabre\DAV; - -class AddressBookQueryParserTest extends \PHPUnit_Framework_TestCase { - - function parse($xml) { - - $xml = implode("\n", $xml); - $dom = DAV\XMLUtil::loadDOMDocument($xml); - - $q = new AddressBookQueryParser($dom); - $q->parse(); - return $q; - - } - - function testFilterBasic() { - - $xml = array( - '<?xml version="1.0"?>', - '<c:addressbook-query xmlns:c="urn:ietf:params:xml:ns:carddav" xmlns:d="DAV:">', - ' <d:prop>', - ' <d:foo />', - ' </d:prop>', - ' <c:filter>', - ' <c:prop-filter name="NICKNAME" />', - ' </c:filter>', - '</c:addressbook-query>' - ); - - $q = $this->parse($xml); - - $this->assertEquals( - array('{DAV:}foo'), - $q->requestedProperties - ); - - $this->assertEquals( - array( - array( - 'name' => 'NICKNAME', - 'test' => 'anyof', - 'is-not-defined' => false, - 'param-filters' => array(), - 'text-matches' => array(), - ), - ), - $q->filters - ); - - $this->assertNull($q->limit); - $this->assertEquals('anyof', $q->test); - - } - - function testNoFilter() { - - // This is non-standard, but helps working around a KDE bug - $xml = array( - '<?xml version="1.0"?>', - '<c:addressbook-query xmlns:c="urn:ietf:params:xml:ns:carddav" xmlns:d="DAV:">', - ' <d:prop>', - ' <d:foo />', - ' </d:prop>', - '</c:addressbook-query>' - ); - - $q = $this->parse($xml); - - $this->assertEquals( - array('{DAV:}foo'), - $q->requestedProperties - ); - - $this->assertEquals( - array(), - $q->filters - ); - - $this->assertNull($q->limit); - $this->assertEquals('anyof', $q->test); - - } - - /** - * @expectedException Sabre\DAV\Exception\BadRequest - */ - function testFilterDoubleFilter() { - - $xml = array( - '<?xml version="1.0"?>', - '<c:addressbook-query xmlns:c="urn:ietf:params:xml:ns:carddav" xmlns:d="DAV:">', - ' <d:prop>', - ' <d:foo />', - ' </d:prop>', - ' <c:filter>', - ' <c:prop-filter name="NICKNAME" />', - ' </c:filter>', - ' <c:filter>', - ' <c:prop-filter name="NICKNAME" />', - ' </c:filter>', - '</c:addressbook-query>' - ); - - $q = $this->parse($xml); - - } - /** - * @expectedException Sabre\DAV\Exception\BadRequest - */ - function testFilterCorruptTest() { - - $xml = array( - '<?xml version="1.0"?>', - '<c:addressbook-query xmlns:c="urn:ietf:params:xml:ns:carddav" xmlns:d="DAV:">', - ' <d:prop>', - ' <d:foo />', - ' </d:prop>', - ' <c:filter test="foo">', - ' <c:prop-filter name="NICKNAME" />', - ' </c:filter>', - '</c:addressbook-query>' - ); - - $q = $this->parse($xml); - - } - - function testPropFilter() { - - $xml = array( - '<?xml version="1.0"?>', - '<c:addressbook-query xmlns:c="urn:ietf:params:xml:ns:carddav" xmlns:d="DAV:">', - ' <d:prop>', - ' <d:foo />', - ' </d:prop>', - ' <c:filter test="allof">', - ' <c:prop-filter name="NICKNAME" />', - ' <c:prop-filter name="EMAIL" test="allof" />', - ' <c:prop-filter name="FN">', - ' <c:is-not-defined />', - ' </c:prop-filter>', - ' </c:filter>', - ' <c:limit><c:nresults>4</c:nresults></c:limit>', - '</c:addressbook-query>' - ); - - $q = $this->parse($xml); - - $this->assertEquals( - array( - array( - 'name' => 'NICKNAME', - 'test' => 'anyof', - 'is-not-defined' => false, - 'param-filters' => array(), - 'text-matches' => array(), - ), - array( - 'name' => 'EMAIL', - 'test' => 'allof', - 'is-not-defined' => false, - 'param-filters' => array(), - 'text-matches' => array(), - ), - array( - 'name' => 'FN', - 'test' => 'anyof', - 'is-not-defined' => true, - 'param-filters' => array(), - 'text-matches' => array(), - ), - ), - $q->filters - ); - - $this->assertEquals(4,$q->limit); - $this->assertEquals('allof', $q->test); - - } - - function testParamFilter() { - - $xml = array( - '<?xml version="1.0"?>', - '<c:addressbook-query xmlns:c="urn:ietf:params:xml:ns:carddav" xmlns:d="DAV:">', - ' <d:prop>', - ' <d:foo />', - ' </d:prop>', - ' <c:filter>', - ' <c:prop-filter name="NICKNAME">', - ' <c:param-filter name="BLA" />', - ' <c:param-filter name="BLA2">', - ' <c:is-not-defined />', - ' </c:param-filter>', - ' </c:prop-filter>', - ' </c:filter>', - '</c:addressbook-query>' - ); - - $q = $this->parse($xml); - - $this->assertEquals( - array( - array( - 'name' => 'NICKNAME', - 'test' => 'anyof', - 'is-not-defined' => false, - 'param-filters' => array( - array( - 'name' => 'BLA', - 'is-not-defined' => false, - 'text-match' => null - ), - array( - 'name' => 'BLA2', - 'is-not-defined' => true, - 'text-match' => null - ), - ), - 'text-matches' => array(), - ), - ), - $q->filters - ); - - } - - function testTextMatch() { - - $xml = array( - '<?xml version="1.0"?>', - '<c:addressbook-query xmlns:c="urn:ietf:params:xml:ns:carddav" xmlns:d="DAV:">', - ' <d:prop>', - ' <d:foo />', - ' </d:prop>', - ' <c:filter>', - ' <c:prop-filter name="NICKNAME">', - ' <c:text-match>evert</c:text-match>', - ' <c:text-match collation="i;octet">evert</c:text-match>', - ' <c:text-match negate-condition="yes">rene</c:text-match>', - ' <c:text-match match-type="starts-with">e</c:text-match>', - ' <c:param-filter name="BLA">', - ' <c:text-match>foo</c:text-match>', - ' </c:param-filter>', - ' </c:prop-filter>', - ' </c:filter>', - '</c:addressbook-query>' - ); - - $q = $this->parse($xml); - - $this->assertEquals( - array( - array( - 'name' => 'NICKNAME', - 'test' => 'anyof', - 'is-not-defined' => false, - 'param-filters' => array( - array( - 'name' => 'BLA', - 'is-not-defined' => false, - 'text-match' => array( - 'negate-condition' => false, - 'collation' => 'i;unicode-casemap', - 'match-type' => 'contains', - 'value' => 'foo', - ), - ), - ), - 'text-matches' => array( - array( - 'negate-condition' => false, - 'collation' => 'i;unicode-casemap', - 'match-type' => 'contains', - 'value' => 'evert', - ), - array( - 'negate-condition' => false, - 'collation' => 'i;octet', - 'match-type' => 'contains', - 'value' => 'evert', - ), - array( - 'negate-condition' => true, - 'collation' => 'i;unicode-casemap', - 'match-type' => 'contains', - 'value' => 'rene', - ), - array( - 'negate-condition' => false, - 'collation' => 'i;unicode-casemap', - 'match-type' => 'starts-with', - 'value' => 'e', - ), - ), - ), - ), - $q->filters - ); - - } - - /** - * @expectedException Sabre\DAV\Exception\BadRequest - */ - function testBadTextMatch() { - - $xml = array( - '<?xml version="1.0"?>', - '<c:addressbook-query xmlns:c="urn:ietf:params:xml:ns:carddav" xmlns:d="DAV:">', - ' <d:prop>', - ' <d:foo />', - ' </d:prop>', - ' <c:filter>', - ' <c:prop-filter name="NICKNAME">', - ' <c:text-match match-type="foo">evert</c:text-match>', - ' </c:prop-filter>', - ' </c:filter>', - '</c:addressbook-query>' - ); - - $q = $this->parse($xml); - - } -} |