annotate vendor/composer/installers/tests/Composer/Installers/Test/CraftInstallerTest.php @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 namespace Composer\Installers\Test;
Chris@0 4
Chris@0 5 use Composer\Installers\CraftInstaller;
Chris@0 6
Chris@0 7 /**
Chris@0 8 * Tests for the CraftInstaller Class
Chris@0 9 *
Chris@0 10 * @coversDefaultClass Composer\Installers\CraftInstaller
Chris@0 11 */
Chris@0 12 class CraftInstallerTest extends TestCase
Chris@0 13 {
Chris@0 14 /** @var CraftInstaller */
Chris@0 15 private $installer;
Chris@0 16
Chris@0 17 /**
Chris@0 18 * Sets up the fixture, for example, instantiate the class-under-test.
Chris@0 19 *
Chris@0 20 * This method is called before a test is executed.
Chris@0 21 */
Chris@0 22 final public function setup()
Chris@0 23 {
Chris@0 24 $this->installer = new CraftInstaller();
Chris@0 25 }
Chris@0 26
Chris@0 27 /**
Chris@0 28 * @param string $packageName
Chris@0 29 * @param string $expectedName
Chris@0 30 *
Chris@0 31 * @covers ::inflectPackageVars
Chris@0 32 *
Chris@0 33 * @dataProvider provideExpectedInflectionResults
Chris@0 34 */
Chris@0 35 final public function testInflectPackageVars($packageName, $expectedName)
Chris@0 36 {
Chris@0 37 $installer = $this->installer;
Chris@0 38
Chris@0 39 $vars = array('name' => $packageName);
Chris@0 40 $expected = array('name' => $expectedName);
Chris@0 41
Chris@0 42 $actual = $installer->inflectPackageVars($vars);
Chris@0 43
Chris@0 44 $this->assertEquals($actual, $expected);
Chris@0 45 }
Chris@0 46
Chris@0 47 /**
Chris@0 48 * Provides various names for packages and the expected result after inflection
Chris@0 49 *
Chris@0 50 * @return array
Chris@0 51 */
Chris@0 52 final public function provideExpectedInflectionResults()
Chris@0 53 {
Chris@0 54 return array(
Chris@0 55 // lowercase
Chris@0 56 array('foo', 'foo'),
Chris@0 57 array('craftfoo', 'craftfoo'),
Chris@0 58 array('fooplugin', 'fooplugin'),
Chris@0 59 array('craftfooplugin', 'craftfooplugin'),
Chris@0 60 // lowercase - dash
Chris@0 61 array('craft-foo', 'foo'),
Chris@0 62 array('foo-plugin', 'foo'),
Chris@0 63 array('craft-foo-plugin', 'foo'),
Chris@0 64 // lowercase - underscore
Chris@0 65 array('craft_foo', 'craft_foo'),
Chris@0 66 array('foo_plugin', 'foo_plugin'),
Chris@0 67 array('craft_foo_plugin', 'craft_foo_plugin'),
Chris@0 68 // CamelCase
Chris@0 69 array('Foo', 'Foo'),
Chris@0 70 array('CraftFoo', 'CraftFoo'),
Chris@0 71 array('FooPlugin', 'FooPlugin'),
Chris@0 72 array('CraftFooPlugin', 'CraftFooPlugin'),
Chris@0 73 // CamelCase - Dash
Chris@0 74 array('Craft-Foo', 'Foo'),
Chris@0 75 array('Foo-Plugin', 'Foo'),
Chris@0 76 array('Craft-Foo-Plugin', 'Foo'),
Chris@0 77 // CamelCase - underscore
Chris@0 78 array('Craft_Foo', 'Craft_Foo'),
Chris@0 79 array('Foo_Plugin', 'Foo_Plugin'),
Chris@0 80 array('Craft_Foo_Plugin', 'Craft_Foo_Plugin'),
Chris@0 81 );
Chris@0 82 }
Chris@0 83 }