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 }
|