Yaffs site version 1.1
[yaffs-website] / vendor / composer / installers / tests / Composer / Installers / Test / OctoberInstallerTest.php
diff --git a/vendor/composer/installers/tests/Composer/Installers/Test/OctoberInstallerTest.php b/vendor/composer/installers/tests/Composer/Installers/Test/OctoberInstallerTest.php
new file mode 100644 (file)
index 0000000..fd427cd
--- /dev/null
@@ -0,0 +1,66 @@
+<?php
+namespace Composer\Installers\Test;
+
+use Composer\Installers\OctoberInstaller;
+use Composer\Package\Package;
+use Composer\Composer;
+
+class OctoberInstallerTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var OctoberInstaller
+     */
+    private $installer;
+
+    public function setUp()
+    {
+        $this->installer = new OctoberInstaller(
+            new Package('NyanCat', '4.2', '4.2'),
+            new Composer()
+        );
+    }
+
+    /**
+     * @dataProvider packageNameInflectionProvider
+     */
+    public function testInflectPackageVars($type, $name, $expected)
+    {
+        $this->assertEquals(
+            $this->installer->inflectPackageVars(array('name' => $name, 'type' => $type)),
+            array('name' => $expected, 'type' => $type)
+        );
+    }
+
+    public function packageNameInflectionProvider()
+    {
+        return array(
+            array(
+                'october-plugin',
+                'subpagelist',
+                'subpagelist',
+            ),
+            array(
+                'october-plugin',
+                'subpagelist-plugin',
+                'subpagelist',
+            ),
+            array(
+                'october-plugin',
+                'semanticoctober',
+                'semanticoctober',
+            ),
+            // tests that exactly one '-theme' is cut off
+            array(
+                'october-theme',
+                'some-theme-theme',
+                'some-theme',
+            ),
+            // tests that names without '-theme' suffix stay valid
+            array(
+                'october-theme',
+                'someothertheme',
+                'someothertheme',
+            ),
+        );
+    }
+}
\ No newline at end of file