comparison vendor/composer/installers/tests/Composer/Installers/Test/SiteDirectInstallerTest.php @ 12:7a779792577d

Update Drupal core to v8.4.5 (via Composer)
author Chris Cannam
date Fri, 23 Feb 2018 15:52:07 +0000
parents
children
comparison
equal deleted inserted replaced
11:bfffd8d7479a 12:7a779792577d
1 <?php
2
3 namespace Composer\Installers\Test;
4
5 use Composer\Composer;
6 use Composer\Installers\SiteDirectInstaller;
7 use Composer\Package\Package;
8
9 class SiteDirectInstallerTest extends TestCase
10 {
11 /** @var SiteDirectInstaller $installer */
12 protected $installer;
13
14 /** @var Package */
15 private $package;
16
17 public function SetUp()
18 {
19 $this->package = new Package('sitedirect/some_name', '1.0.9', '1.0');
20 $this->installer = new SiteDirectInstaller(
21 $this->package,
22 new Composer()
23 );
24
25 }
26
27 /**
28 * @dataProvider dataProvider
29 */
30 public function testInflectPackageVars($data, $expected)
31 {
32 $result = $this->installer->inflectPackageVars($data);
33 $this->assertEquals($result, $expected);
34 }
35
36 /**
37 * @dataProvider dataProvider
38 */
39 public function testInstallPath($data, $expected)
40 {
41 $result = $this->installer->inflectPackageVars($data);
42 $path = $this->createPackage($data);
43
44 // use $result to get the proper capitalization for the vendor path
45 $expectedPath = "modules/{$result['vendor']}/{$result['name']}/";
46 $notExpectedPath = "modules/{$data['vendor']}/{$data['name']}/";
47 $this->assertEquals($expectedPath, $path);
48 $this->assertNotEquals($notExpectedPath, $path);
49 }
50
51 /**
52 * @param $data
53 * @return string
54 */
55 private function createPackage($data)
56 {
57 $fullName = "{$data['vendor']}/{$data['name']}";
58
59 $package = new Package($fullName, '1.0', '1.0');
60 $package->setType('sitedirect-module');
61 $installer = new SiteDirectInstaller($package, new Composer());
62
63 $path = $installer->getInstallPath($package, 'sitedirect');
64 return $path;
65 }
66
67 public function dataProvider()
68 {
69 return array(
70 array(
71 'data' => array(
72 'name' => 'kernel',
73 'vendor' => 'sitedirect',
74 'type' => 'sitedirect-module',
75 ),
76 'expected' => array(
77 'name' => 'Kernel',
78 'vendor' => 'SiteDirect',
79 'type' => 'sitedirect-module',
80 )
81 ),
82 array(
83 'data' => array(
84 'name' => 'that_guy',
85 'vendor' => 'whatGuy',
86 'type' => 'sitedirect-module',
87 ),
88 'expected' => array(
89 'name' => 'ThatGuy',
90 'vendor' => 'whatGuy',
91 'type' => 'sitedirect-module',
92 )
93 ),
94 array(
95 'data' => array(
96 'name' => 'checkout',
97 'vendor' => 'someVendor',
98 'type' => 'sitedirect-plugin',
99 ),
100 'expected' => array(
101 'name' => 'Checkout',
102 'vendor' => 'someVendor',
103 'type' => 'sitedirect-plugin',
104 )
105 ),
106 array(
107 'data' => array(
108 'name' => 'checkout',
109 'vendor' => 'siteDirect',
110 'type' => 'sitedirect-plugin',
111 ),
112 'expected' => array(
113 'name' => 'Checkout',
114 'vendor' => 'SiteDirect',
115 'type' => 'sitedirect-plugin',
116 )
117 ),
118 );
119 }
120 }