Yaffs site version 1.1
[yaffs-website] / vendor / symfony / config / Tests / Definition / Dumper / XmlReferenceDumperTest.php
diff --git a/vendor/symfony/config/Tests/Definition/Dumper/XmlReferenceDumperTest.php b/vendor/symfony/config/Tests/Definition/Dumper/XmlReferenceDumperTest.php
new file mode 100644 (file)
index 0000000..61f5d3c
--- /dev/null
@@ -0,0 +1,85 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Config\Tests\Definition\Dumper;
+
+use PHPUnit\Framework\TestCase;
+use Symfony\Component\Config\Definition\Dumper\XmlReferenceDumper;
+use Symfony\Component\Config\Tests\Fixtures\Configuration\ExampleConfiguration;
+
+class XmlReferenceDumperTest extends TestCase
+{
+    public function testDumper()
+    {
+        $configuration = new ExampleConfiguration();
+
+        $dumper = new XmlReferenceDumper();
+        $this->assertEquals($this->getConfigurationAsString(), $dumper->dump($configuration));
+    }
+
+    public function testNamespaceDumper()
+    {
+        $configuration = new ExampleConfiguration();
+
+        $dumper = new XmlReferenceDumper();
+        $this->assertEquals(str_replace('http://example.org/schema/dic/acme_root', 'http://symfony.com/schema/dic/symfony', $this->getConfigurationAsString()), $dumper->dump($configuration, 'http://symfony.com/schema/dic/symfony'));
+    }
+
+    private function getConfigurationAsString()
+    {
+        return str_replace("\n", PHP_EOL, <<<'EOL'
+<!-- Namespace: http://example.org/schema/dic/acme_root -->
+<!-- scalar-required: Required -->
+<!-- enum-with-default: One of "this"; "that" -->
+<!-- enum: One of "this"; "that" -->
+<config
+    boolean="true"
+    scalar-empty=""
+    scalar-null="null"
+    scalar-true="true"
+    scalar-false="false"
+    scalar-default="default"
+    scalar-array-empty=""
+    scalar-array-defaults="elem1,elem2"
+    scalar-required=""
+    node-with-a-looong-name=""
+    enum-with-default="this"
+    enum=""
+>
+
+    <!-- some info -->
+    <!--
+        child3: this is a long
+                multi-line info text
+                which should be indented;
+                Example: example setting
+    -->
+    <array
+        child1=""
+        child2=""
+        child3=""
+    />
+
+    <!-- prototype: Parameter name -->
+    <parameter name="parameter name">scalar value</parameter>
+
+    <!-- prototype -->
+    <connection
+        user=""
+        pass=""
+    />
+
+</config>
+
+EOL
+        );
+    }
+}