1*a1a3b679SAndreas Boehler<?php 2*a1a3b679SAndreas Boehler 3*a1a3b679SAndreas Boehlernamespace Sabre\Xml\Element; 4*a1a3b679SAndreas Boehler 5*a1a3b679SAndreas Boehleruse Sabre\Xml\Reader; 6*a1a3b679SAndreas Boehleruse Sabre\Xml\Writer; 7*a1a3b679SAndreas Boehler 8*a1a3b679SAndreas Boehlerclass UriTest extends \PHPUnit_Framework_TestCase { 9*a1a3b679SAndreas Boehler 10*a1a3b679SAndreas Boehler function testDeserialize() { 11*a1a3b679SAndreas Boehler 12*a1a3b679SAndreas Boehler $input = <<<BLA 13*a1a3b679SAndreas Boehler<?xml version="1.0"?> 14*a1a3b679SAndreas Boehler<root xmlns="http://sabredav.org/ns"> 15*a1a3b679SAndreas Boehler <uri>/foo/bar</uri> 16*a1a3b679SAndreas Boehler</root> 17*a1a3b679SAndreas BoehlerBLA; 18*a1a3b679SAndreas Boehler 19*a1a3b679SAndreas Boehler $reader = new Reader(); 20*a1a3b679SAndreas Boehler $reader->contextUri = 'http://example.org/'; 21*a1a3b679SAndreas Boehler $reader->elementMap = [ 22*a1a3b679SAndreas Boehler '{http://sabredav.org/ns}uri' => 'Sabre\\Xml\\Element\\Uri', 23*a1a3b679SAndreas Boehler ]; 24*a1a3b679SAndreas Boehler $reader->xml($input); 25*a1a3b679SAndreas Boehler 26*a1a3b679SAndreas Boehler $output = $reader->parse(); 27*a1a3b679SAndreas Boehler 28*a1a3b679SAndreas Boehler $this->assertEquals( 29*a1a3b679SAndreas Boehler [ 30*a1a3b679SAndreas Boehler 'name' => '{http://sabredav.org/ns}root', 31*a1a3b679SAndreas Boehler 'value' => [ 32*a1a3b679SAndreas Boehler [ 33*a1a3b679SAndreas Boehler 'name' => '{http://sabredav.org/ns}uri', 34*a1a3b679SAndreas Boehler 'value' => new Uri('http://example.org/foo/bar'), 35*a1a3b679SAndreas Boehler 'attributes' => [], 36*a1a3b679SAndreas Boehler ] 37*a1a3b679SAndreas Boehler ], 38*a1a3b679SAndreas Boehler 'attributes' => [], 39*a1a3b679SAndreas Boehler ], 40*a1a3b679SAndreas Boehler $output 41*a1a3b679SAndreas Boehler ); 42*a1a3b679SAndreas Boehler 43*a1a3b679SAndreas Boehler } 44*a1a3b679SAndreas Boehler 45*a1a3b679SAndreas Boehler function testSerialize() { 46*a1a3b679SAndreas Boehler 47*a1a3b679SAndreas Boehler $writer = new Writer(); 48*a1a3b679SAndreas Boehler $writer->namespaceMap = [ 49*a1a3b679SAndreas Boehler 'http://sabredav.org/ns' => null 50*a1a3b679SAndreas Boehler ]; 51*a1a3b679SAndreas Boehler $writer->openMemory(); 52*a1a3b679SAndreas Boehler $writer->startDocument('1.0'); 53*a1a3b679SAndreas Boehler $writer->setIndent(true); 54*a1a3b679SAndreas Boehler $writer->contextUri = 'http://example.org/'; 55*a1a3b679SAndreas Boehler $writer->write([ 56*a1a3b679SAndreas Boehler '{http://sabredav.org/ns}root' => [ 57*a1a3b679SAndreas Boehler '{http://sabredav.org/ns}uri' => new Uri('/foo/bar'), 58*a1a3b679SAndreas Boehler ] 59*a1a3b679SAndreas Boehler ]); 60*a1a3b679SAndreas Boehler 61*a1a3b679SAndreas Boehler $output = $writer->outputMemory(); 62*a1a3b679SAndreas Boehler 63*a1a3b679SAndreas Boehler $expected = <<<XML 64*a1a3b679SAndreas Boehler<?xml version="1.0"?> 65*a1a3b679SAndreas Boehler<root xmlns="http://sabredav.org/ns"> 66*a1a3b679SAndreas Boehler <uri>http://example.org/foo/bar</uri> 67*a1a3b679SAndreas Boehler</root> 68*a1a3b679SAndreas Boehler 69*a1a3b679SAndreas BoehlerXML; 70*a1a3b679SAndreas Boehler 71*a1a3b679SAndreas Boehler $this->assertEquals($expected, $output); 72*a1a3b679SAndreas Boehler 73*a1a3b679SAndreas Boehler 74*a1a3b679SAndreas Boehler } 75*a1a3b679SAndreas Boehler 76*a1a3b679SAndreas Boehler} 77