PHP 7.4.33
Preview: Xml_GeneratorTest.php Size: 3.04 KB
/home/godevadmin/www/admin/braintree/final/braintree/tests/unit/Xml_GeneratorTest.php

<?php
namespace Test\Unit\Xml;

require_once dirname(__DIR__) . '/Setup.php';

use Test\Setup;
use Braintree;

class GeneratorTest extends Setup
{
    public function testSetsTypeAttributeForBooleans()
    {
        $expected = <<<XML
<?xml version="1.0" encoding="UTF-8"?>
<root>
 <yes type="boolean">true</yes>
 <no type="boolean">false</no>
</root>

XML;
        $xml = Braintree\Xml::buildXmlFromArray([
            'root' => ['yes' => true, 'no' => false]
        ]);
        $this->assertEquals($expected, $xml);
    }

    public function testCreatesArrays()
    {
        $expected = <<<XML
<?xml version="1.0" encoding="UTF-8"?>
<root>
 <stuff type="array">
  <item>foo</item>
  <item>bar</item>
 </stuff>
</root>

XML;
        $xml = Braintree\Xml::buildXmlFromArray([
            'root' => ['stuff' => ['foo', 'bar']]
        ]);
        $this->assertEquals($expected, $xml);
    }

    public function testCreatesWithDashes()
    {
        $expected = <<<XML
<?xml version="1.0" encoding="UTF-8"?>
<root>
 <some-stuff>
  <inner-foo type="integer">42</inner-foo>
  <bar-bar-bar type="integer">3</bar-bar-bar>
 </some-stuff>
</root>

XML;
        $xml = Braintree\Xml::buildXmlFromArray([
            'root' => ['someStuff' => ['innerFoo' => 42, 'barBarBar' => 3]]
        ]);
        $this->assertEquals($expected, $xml);
    }

    public function testCreatesArraysWithBooleans()
    {
        $expected = <<<XML
<?xml version="1.0" encoding="UTF-8"?>
<root>
 <stuff type="array">
  <item>true</item>
  <item>false</item>
 </stuff>
</root>

XML;
        $xml = Braintree\Xml::buildXmlFromArray([
            'root' => ['stuff' => [true, false]]
        ]);
        $this->assertEquals($expected, $xml);
    }

    public function testHandlesEmptyArrays()
    {
        $expected = <<<XML
<?xml version="1.0" encoding="UTF-8"?>
<root>
 <stuff type="array"/>
</root>

XML;
        $xml = Braintree\Xml::buildXmlFromArray([
            'root' => ['stuff' => []]
        ]);
        $this->assertEquals($expected, $xml);
    }

    public function testEscapingSpecialChars()
    {
        $expected = <<<XML
<?xml version="1.0" encoding="UTF-8"?>
<root>
 <stuff>&lt;&gt;&amp;'&quot;</stuff>
</root>

XML;
        $xml = Braintree\Xml::buildXmlFromArray([
            'root' => ['stuff' => '<>&\'"']
        ]);
        $this->assertEquals($expected, $xml);
    }

    public function testDoesNotModifyDateTime()
    {
        $date = new \DateTime();
        $date->setTimestamp(strtotime('2016-05-17T21:22:26Z'));
        $date->setTimezone(new \DateTimeZone('Europe/Paris'));

        $originalDate = clone $date;

        $expected = <<<XML
<?xml version="1.0" encoding="UTF-8"?>
<root>
 <stuff type="datetime">2016-05-17T21:22:26Z</stuff>
</root>

XML;

        $xml = Braintree\Xml::buildXmlFromArray([
            'root' => ['stuff' => $date]
        ]);

        $this->assertEquals($originalDate, $date);
        $this->assertEquals($expected, $xml);
    }
}

Directory Contents

Dirs: 2 × Files: 35

Name Size Perms Modified Actions
ClientApi DIR
- drwxrwxr-x 2023-11-07 19:59:44
Edit Download
Result DIR
- drwxrwxr-x 2023-11-07 19:59:44
Edit Download
921 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
2.32 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
726 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
18.29 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
5.10 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
769 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.95 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
3.57 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
647 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.38 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
962 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.66 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
2.07 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.09 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
3.11 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
590 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.49 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.97 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
2.74 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
3.81 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.32 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.03 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
2.98 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
534 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
2.17 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
528 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.10 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
4.32 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
1.04 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
795 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
508 B lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
7.99 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
26.61 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
3.04 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download
18.76 KB lrwxrwxr-x 2023-11-07 19:59:44
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).