$input
BLA;
$reader = new Reader();
$reader->elementMap = [
'{http://sabredav.org/ns}fragment' => 'Sabre\\Xml\\Element\\XmlFragment',
];
$reader->xml($input);
$output = $reader->parse();
$this->assertEquals([
'name' => '{http://sabredav.org/ns}root',
'value' => [
[
'name' => '{http://sabredav.org/ns}fragment',
'value' => new XmlFragment($expected),
'attributes' => [],
],
],
'attributes' => [],
], $output);
}
/**
* Data provider for serialize and deserialize tests.
*
* Returns three items per test:
*
* 1. Input data for the reader.
* 2. Expected output for XmlFragment deserializer
* 3. Expected output after serializing that value again.
*
* If 3 is not set, use 1 for 3.
*
* @return void
*/
function xmlProvider() {
return [
[
'hello',
'hello',
],
[
'hello',
'hello'
],
[
'hello',
'hello'
],
[
'hello',
'hello'
],
[
'hello',
'hello',
'hello',
],
[
'hello',
'hello',
'hello',
],
[
'hello',
'hello',
'hello',
],
[
'hello',
'hello',
'hello',
],
[
'',
'',
'',
],
[
'',
'',
'',
],
];
}
/**
* @dataProvider xmlProvider
*/
function testSerialize($expectedFallback, $input, $expected = null) {
if (is_null($expected)) {
$expected = $expectedFallback;
}
$writer = new Writer();
$writer->namespaceMap = [
'http://sabredav.org/ns' => null
];
$writer->openMemory();
$writer->startDocument('1.0');
//$writer->setIndent(true);
$writer->write([
'{http://sabredav.org/ns}root' => [
'{http://sabredav.org/ns}fragment' => new XmlFragment($input),
],
]);
$output = $writer->outputMemory();
$expected = <<
$expected
XML;
$this->assertEquals($expected, $output);
}
}