assertEquals('path',$href->getHref()); } function testSerialize() { $href = new Href('path'); $this->assertEquals('path',$href->getHref()); $doc = new \DOMDocument(); $root = $doc->createElement('d:anything'); $root->setAttribute('xmlns:d','DAV:'); $doc->appendChild($root); $server = new DAV\Server(); $server->setBaseUri('/bla/'); $href->serialize($server, $root); $xml = $doc->saveXML(); $this->assertEquals( ' /bla/path ', $xml); } function testSerializeNoPrefix() { $href = new Href('path',false); $this->assertEquals('path',$href->getHref()); $doc = new \DOMDocument(); $root = $doc->createElement('d:anything'); $root->setAttribute('xmlns:d','DAV:'); $doc->appendChild($root); $server = new DAV\Server(); $server->setBaseUri('/bla/'); $href->serialize($server, $root); $xml = $doc->saveXML(); $this->assertEquals( ' path ', $xml); } function testUnserialize() { $xml = ' /bla/path '; $dom = new \DOMDocument(); $dom->loadXML($xml); $href = Href::unserialize($dom->firstChild); $this->assertEquals('/bla/path',$href->getHref()); } function testUnserializeIncompatible() { $xml = ' /bla/path '; $dom = new \DOMDocument(); $dom->loadXML($xml); $href = Href::unserialize($dom->firstChild); $this->assertNull($href); } /** * This method tests if hrefs containing & are correctly encoded. */ function testSerializeEntity() { $href = new Href('http://example.org/?a&b', false); $this->assertEquals('http://example.org/?a&b',$href->getHref()); $doc = new \DOMDocument(); $root = $doc->createElement('d:anything'); $root->setAttribute('xmlns:d','DAV:'); $doc->appendChild($root); $server = new DAV\Server(); $server->setBaseUri('/bla/'); $href->serialize($server, $root); $xml = $doc->saveXML(); $this->assertEquals( ' http://example.org/?a&b ', $xml); } }