3 class Sabre_DAV_Property_ResourceTypeTest extends PHPUnit_Framework_TestCase {
5 function testConstruct() {
7 $resourceType = new Sabre_DAV_Property_ResourceType(array('{DAV:}collection'));
8 $this->assertEquals(array('{DAV:}collection'),$resourceType->getValue());
10 $resourceType = new Sabre_DAV_Property_ResourceType(Sabre_DAV_Server::NODE_FILE);
11 $this->assertEquals(array(),$resourceType->getValue());
13 $resourceType = new Sabre_DAV_Property_ResourceType(Sabre_DAV_Server::NODE_DIRECTORY);
14 $this->assertEquals(array('{DAV:}collection'),$resourceType->getValue());
16 $resourceType = new Sabre_DAV_Property_ResourceType('{DAV:}principal');
17 $this->assertEquals(array('{DAV:}principal'),$resourceType->getValue());
22 * @depends testConstruct
24 function testSerialize() {
26 $resourceType = new Sabre_DAV_Property_ResourceType(array('{DAV:}collection','{DAV:}principal'));
28 $doc = new DOMDocument();
29 $root = $doc->createElement('d:anything');
30 $root->setAttribute('xmlns:d','DAV:');
32 $doc->appendChild($root);
33 $server = new Sabre_DAV_Server();
34 $resourceType->serialize($server, $root);
36 $xml = $doc->saveXML();
39 '<?xml version="1.0"?>
40 <d:anything xmlns:d="DAV:"><d:collection/><d:principal/></d:anything>
46 * @depends testSerialize
48 function testSerializeCustomNS() {
50 $resourceType = new Sabre_DAV_Property_ResourceType(array('{http://example.org/NS}article'));
52 $doc = new DOMDocument();
53 $root = $doc->createElement('d:anything');
54 $root->setAttribute('xmlns:d','DAV:');
56 $doc->appendChild($root);
57 $server = new Sabre_DAV_Server();
58 $resourceType->serialize($server, $root);
60 $xml = $doc->saveXML();
63 '<?xml version="1.0"?>
64 <d:anything xmlns:d="DAV:"><custom:article xmlns:custom="http://example.org/NS"/></d:anything>
70 * @depends testConstruct
74 $resourceType = new Sabre_DAV_Property_ResourceType(array('{DAV:}collection','{DAV:}principal'));
75 $this->assertTrue($resourceType->is('{DAV:}collection'));
76 $this->assertFalse($resourceType->is('{DAV:}blabla'));
81 * @depends testConstruct
85 $resourceType = new Sabre_DAV_Property_ResourceType(array('{DAV:}collection','{DAV:}principal'));
86 $resourceType->add('{DAV:}foo');
87 $this->assertEquals(array('{DAV:}collection','{DAV:}principal','{DAV:}foo'), $resourceType->getValue());
92 * @depends testConstruct
94 function testUnserialize() {
96 $xml ='<?xml version="1.0"?>
97 <d:anything xmlns:d="DAV:"><d:collection/><d:principal/></d:anything>
100 $dom = Sabre_DAV_XMLUtil::loadDOMDocument($xml);
102 $resourceType = Sabre_DAV_Property_ResourceType::unserialize($dom->firstChild);
103 $this->assertEquals(array('{DAV:}collection','{DAV:}principal'),$resourceType->getValue());