1<?php 2 3namespace Sabre\DAVACL\Exception; 4 5use Sabre\DAV; 6 7class NoAbstractTest extends \PHPUnit_Framework_TestCase { 8 9 function testSerialize() { 10 11 $ex = new NoAbstract('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:no-abstract' => 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