annotate vendor/composer/installers/tests/Composer/Installers/Test/GravInstallerTest.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 namespace Composer\Installers\Test;
Chris@0 3
Chris@0 4 use Composer\Composer;
Chris@0 5 use Composer\Installers\GravInstaller;
Chris@0 6
Chris@0 7 class GravInstallerTest extends TestCase
Chris@0 8 {
Chris@0 9 /* @var \Composer\Composer */
Chris@0 10 protected $composer;
Chris@0 11
Chris@0 12 public function setUp()
Chris@0 13 {
Chris@0 14 $this->composer = new Composer();
Chris@0 15 }
Chris@0 16
Chris@0 17 public function testInflectPackageVars()
Chris@0 18 {
Chris@0 19 $package = $this->getPackage('vendor/name', '0.0.0');
Chris@0 20 $installer = new GravInstaller($package, $this->composer);
Chris@0 21 $packageVars = $this->getPackageVars($package);
Chris@0 22
Chris@0 23 $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => 'test')));
Chris@0 24 $this->assertEquals('test', $result['name']);
Chris@0 25
Chris@0 26 foreach ($installer->getLocations() as $name => $location) {
Chris@0 27 $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "$name-test")));
Chris@0 28 $this->assertEquals('test', $result['name']);
Chris@0 29 $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "test-$name")));
Chris@0 30 $this->assertEquals('test', $result['name']);
Chris@0 31 $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "$name-test-test")));
Chris@0 32 $this->assertEquals('test-test', $result['name']);
Chris@0 33 $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "test-test-$name")));
Chris@0 34 $this->assertEquals('test-test', $result['name']);
Chris@0 35 $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "grav-$name-test")));
Chris@0 36 $this->assertEquals('test', $result['name']);
Chris@0 37 $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "grav-test-$name")));
Chris@0 38 $this->assertEquals('test', $result['name']);
Chris@0 39 $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "grav-$name-test-test")));
Chris@0 40 $this->assertEquals('test-test', $result['name']);
Chris@0 41 $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "grav-test-test-$name")));
Chris@0 42 $this->assertEquals('test-test', $result['name']);
Chris@0 43 }
Chris@0 44 }
Chris@0 45
Chris@0 46 /**
Chris@0 47 * @param $package \Composer\Package\PackageInterface
Chris@0 48 */
Chris@0 49 public function getPackageVars($package)
Chris@0 50 {
Chris@0 51 $type = $package->getType();
Chris@0 52
Chris@0 53 $prettyName = $package->getPrettyName();
Chris@0 54 if (strpos($prettyName, '/') !== false) {
Chris@0 55 list($vendor, $name) = explode('/', $prettyName);
Chris@0 56 } else {
Chris@0 57 $vendor = '';
Chris@0 58 $name = $prettyName;
Chris@0 59 }
Chris@0 60
Chris@0 61 return compact('name', 'vendor', 'type');
Chris@0 62 }
Chris@0 63 }