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