Security update for Core, with self-updated composer
[yaffs-website] / vendor / dflydev / dot-access-configuration / tests / Dflydev / DotAccessConfiguration / AbstractConfigurationBuilderTest.php
diff --git a/vendor/dflydev/dot-access-configuration/tests/Dflydev/DotAccessConfiguration/AbstractConfigurationBuilderTest.php b/vendor/dflydev/dot-access-configuration/tests/Dflydev/DotAccessConfiguration/AbstractConfigurationBuilderTest.php
new file mode 100644 (file)
index 0000000..93c012b
--- /dev/null
@@ -0,0 +1,89 @@
+<?php
+
+/*
+ * This file is a part of dflydev/dot-access-configuration.
+ * 
+ * (c) Dragonfly Development Inc.
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Dflydev\DotAccessConfiguration;
+
+class AbstractConfigurationBuilderTest extends \PHPUnit_Framework_TestCase
+{
+    public function testPlaceholderResolver()
+    {
+        $placeholderResolver = $this->getMock('Dflydev\PlaceholderResolver\PlaceholderResolverInterface');
+
+        $placeholderResolverFactory = $this->getMock('Dflydev\DotAccessConfiguration\PlaceholderResolverFactoryInterface');
+        $placeholderResolverFactory
+            ->expects($this->once())
+            ->method('create')
+            ->will($this->returnValue($placeholderResolver))
+        ;
+
+        $configurationBuilder = $this->getMockForAbstractClass('Dflydev\DotAccessConfiguration\AbstractConfigurationBuilder');
+        $configurationBuilder
+            ->expects($this->once())
+            ->method('internalBuild')
+        ;
+
+        $configurationBuilder->setPlaceholderResolverFactory($placeholderResolverFactory);
+        $configurationBuilder->build();
+    }
+
+    public function testReconfigure()
+    {
+        $configuration000 = $this->getMock('Dflydev\DotAccessConfiguration\ConfigurationInterface');
+
+        $configuration000
+            ->expects($this->exactly(2))
+            ->method('get')
+            ->with($this->equalTo('foo'))
+            ->will($this->returnValue('FOO'))
+        ;
+
+        $configuration001 = $this->getMock('Dflydev\DotAccessConfiguration\ConfigurationInterface');
+
+        $configuration001
+            ->expects($this->exactly(2))
+            ->method('get')
+            ->with($this->equalTo('bar'))
+            ->will($this->returnValue('BAR'))
+        ;
+
+        $placeholderResolver = $this->getMock('Dflydev\PlaceholderResolver\PlaceholderResolverInterface');
+
+        $placeholderResolverFactory = $this->getMock('Dflydev\DotAccessConfiguration\PlaceholderResolverFactoryInterface');
+        $placeholderResolverFactory
+            ->expects($this->exactly(2))
+            ->method('create')
+            ->will($this->returnValue($placeholderResolver))
+        ;
+
+        $configurationFactory = $this->getMock('Dflydev\DotAccessConfiguration\ConfigurationFactoryInterface');
+        $configurationFactory
+            ->expects($this->exactly(2))
+            ->method('create')
+            ->will($this->onConsecutiveCalls($configuration000, $configuration001));
+        ;
+
+        $configurationBuilder = $this->getMockForAbstractClass('Dflydev\DotAccessConfiguration\AbstractConfigurationBuilder');
+
+        $configurationBuilder->setPlaceholderResolverFactory($placeholderResolverFactory);
+        $configurationBuilder->setConfigurationFactory($configurationFactory);
+
+        $reconfiguredConfigurationBuilder = $this->getMockForAbstractClass('Dflydev\DotAccessConfiguration\AbstractConfigurationBuilder');
+        $configurationBuilder->reconfigure($reconfiguredConfigurationBuilder);
+
+        $configurationTest000 = $configurationBuilder->build();
+        $configurationTest001 = $reconfiguredConfigurationBuilder->build();
+
+        $this->assertEquals('FOO', $configuration000->get('foo'));
+        $this->assertEquals('FOO', $configurationTest000->get('foo'));
+        $this->assertEquals('BAR', $configuration001->get('bar'));
+        $this->assertEquals('BAR', $configurationTest001->get('bar'));
+    }
+}