Файл: vendor/composer/installers/tests/Composer/Installers/Test/GravInstallerTest.php
Строк: 76
<?php
namespace ComposerInstallersTest;
use ComposerComposer;
use ComposerInstallersGravInstaller;
class GravInstallerTest extends TestCase
{
/* @var ComposerComposer */
protected $composer;
public function setUp()
{
$this->composer = new Composer();
}
public function testInflectPackageVars()
{
$package = $this->getPackage('vendor/name', '0.0.0');
$installer = new GravInstaller($package, $this->composer);
$packageVars = $this->getPackageVars($package);
$result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => 'test')));
$this->assertEquals('test', $result['name']);
foreach ($installer->getLocations() as $name => $location) {
$result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "$name-test")));
$this->assertEquals('test', $result['name']);
$result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "test-$name")));
$this->assertEquals('test', $result['name']);
$result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "$name-test-test")));
$this->assertEquals('test-test', $result['name']);
$result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "test-test-$name")));
$this->assertEquals('test-test', $result['name']);
$result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "grav-$name-test")));
$this->assertEquals('test', $result['name']);
$result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "grav-test-$name")));
$this->assertEquals('test', $result['name']);
$result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "grav-$name-test-test")));
$this->assertEquals('test-test', $result['name']);
$result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "grav-test-test-$name")));
$this->assertEquals('test-test', $result['name']);
}
}
/**
* @param $package ComposerPackagePackageInterface
*/
public function getPackageVars($package)
{
$type = $package->getType();
$prettyName = $package->getPrettyName();
if (strpos($prettyName, '/') !== false) {
list($vendor, $name) = explode('/', $prettyName);
} else {
$vendor = '';
$name = $prettyName;
}
return compact('name', 'vendor', 'type');
}
}