| Server IP : 213.186.33.4 / Your IP : 216.73.217.131 Web Server : Apache System : Linux webm006.cluster103.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64 User : awebpaca ( 35430) PHP Version : 8.5.0 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/awebpaca/Dolibarr/htdocs/includes/sabre/sabre/dav/tests/Sabre/DAV/Xml/Property/ |
Upload File : |
<?php
namespace Sabre\DAV\Xml\Property;
use Sabre\DAV;
use Sabre\DAV\Browser\HtmlOutputHelper;
use Sabre\DAV\Xml\XmlTest;
class HrefTest extends XmlTest {
function testConstruct() {
$href = new Href('path');
$this->assertEquals('path', $href->getHref());
}
function testSerialize() {
$href = new Href('path');
$this->assertEquals('path', $href->getHref());
$this->contextUri = '/bla/';
$xml = $this->write(['{DAV:}anything' => $href]);
$this->assertXmlStringEqualsXmlString(
'<?xml version="1.0"?>
<d:anything xmlns:d="DAV:"><d:href>/bla/path</d:href></d:anything>
', $xml);
}
function testUnserialize() {
$xml = '<?xml version="1.0"?>
<d:anything xmlns:d="DAV:"><d:href>/bla/path</d:href></d:anything>
';
$result = $this->parse($xml, ['{DAV:}anything' => 'Sabre\\DAV\\Xml\\Property\\Href']);
$href = $result['value'];
$this->assertInstanceOf('Sabre\\DAV\\Xml\\Property\\Href', $href);
$this->assertEquals('/bla/path', $href->getHref());
}
function testUnserializeIncompatible() {
$xml = '<?xml version="1.0"?>
<d:anything xmlns:d="DAV:"><d:href2>/bla/path</d:href2></d:anything>
';
$result = $this->parse($xml, ['{DAV:}anything' => 'Sabre\\DAV\\Xml\\Property\\Href']);
$href = $result['value'];
$this->assertNull($href);
}
function testUnserializeEmpty() {
$xml = '<?xml version="1.0"?>
<d:anything xmlns:d="DAV:"></d:anything>
';
$result = $this->parse($xml, ['{DAV:}anything' => 'Sabre\\DAV\\Xml\\Property\\Href']);
$href = $result['value'];
$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());
$xml = $this->write(['{DAV:}anything' => $href]);
$this->assertXmlStringEqualsXmlString(
'<?xml version="1.0"?>
<d:anything xmlns:d="DAV:"><d:href>http://example.org/?a&b</d:href></d:anything>
', $xml);
}
function testToHtml() {
$href = new Href([
'/foo/bar',
'foo/bar',
'http://example.org/bar'
]);
$html = new HtmlOutputHelper(
'/base/',
[]
);
$expected =
'<a href="/foo/bar">/foo/bar</a><br />' .
'<a href="/base/foo/bar">/base/foo/bar</a><br />' .
'<a href="http://example.org/bar">http://example.org/bar</a>';
$this->assertEquals($expected, $href->toHtml($html));
}
}