1<?php
2
3namespace Sabre\DAVACL\Exception;
4
5use Sabre\DAV;
6
7class NotSupportedPrivilegeTest extends \PHPUnit_Framework_TestCase {
8
9    function testSerialize() {
10
11        $ex = new NotSupportedPrivilege('message');
12
13        $server = new DAV\Server();
14        $dom = new \DOMDocument('1.0','utf-8');
15        $root = $dom->createElementNS('DAV:','d:root');
16        $dom->appendChild($root);
17
18        $ex->serialize($server, $root);
19
20        $xpaths = array(
21            '/d:root' => 1,
22            '/d:root/d:not-supported-privilege' => 1,
23        );
24
25        // Reloading because PHP DOM sucks
26        $dom2 = new \DOMDocument('1.0', 'utf-8');
27        $dom2->loadXML($dom->saveXML());
28
29        $dxpath = new \DOMXPath($dom2);
30        $dxpath->registerNamespace('d','DAV:');
31        foreach($xpaths as $xpath=>$count) {
32
33            $this->assertEquals($count, $dxpath->query($xpath)->length, 'Looking for : ' . $xpath . ', we could only find ' . $dxpath->query($xpath)->length . ' elements, while we expected ' . $count);
34
35        }
36
37    }
38
39}
40