2 namespace Composer\Installers\Test;
5 use Composer\Installers\GravInstaller;
7 class GravInstallerTest extends TestCase
9 /* @var \Composer\Composer */
12 public function setUp()
14 $this->composer = new Composer();
17 public function testInflectPackageVars()
19 $package = $this->getPackage('vendor/name', '0.0.0');
20 $installer = new GravInstaller($package, $this->composer);
21 $packageVars = $this->getPackageVars($package);
23 $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => 'test')));
24 $this->assertEquals('test', $result['name']);
26 foreach ($installer->getLocations() as $name => $location) {
27 $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "$name-test")));
28 $this->assertEquals('test', $result['name']);
29 $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "test-$name")));
30 $this->assertEquals('test', $result['name']);
31 $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "$name-test-test")));
32 $this->assertEquals('test-test', $result['name']);
33 $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "test-test-$name")));
34 $this->assertEquals('test-test', $result['name']);
35 $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "grav-$name-test")));
36 $this->assertEquals('test', $result['name']);
37 $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "grav-test-$name")));
38 $this->assertEquals('test', $result['name']);
39 $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "grav-$name-test-test")));
40 $this->assertEquals('test-test', $result['name']);
41 $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "grav-test-test-$name")));
42 $this->assertEquals('test-test', $result['name']);
47 * @param $package \Composer\Package\PackageInterface
49 public function getPackageVars($package)
51 $type = $package->getType();
53 $prettyName = $package->getPrettyName();
54 if (strpos($prettyName, '/') !== false) {
55 list($vendor, $name) = explode('/', $prettyName);
61 return compact('name', 'vendor', 'type');