You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

89 lines
2.3 KiB

<?php
namespace Composer\Installers\Test;
use Composer\Installers\OctoberInstaller;
use Composer\Package\Package;
use Composer\Composer;
use PHPUnit\Framework\TestCase as BaseTestCase;
class OctoberInstallerTest extends BaseTestCase
{
/**
* @var OctoberInstaller
*/
private $installer;
public function setUp()
{
$this->installer = new OctoberInstaller(
new Package('NyanCat', '4.2', '4.2'),
new Composer()
);
}
/**
* @dataProvider packageNameInflectionProvider
*/
public function testInflectPackageVars($type, $vendor, $name, $expectedVendor, $expectedName)
{
$this->assertEquals(
$this->installer->inflectPackageVars(array(
'vendor' => $vendor,
'name' => $name,
'type' => $type
)),
array('vendor' => $expectedVendor, 'name' => $expectedName, 'type' => $type)
);
}
public function packageNameInflectionProvider()
{
return array(
array(
'october-plugin',
'acme',
'subpagelist',
'acme',
'subpagelist',
),
array(
'october-plugin',
'acme',
'subpagelist-plugin',
'acme',
'subpagelist',
),
array(
'october-plugin',
'acme',
'semanticoctober',
'acme',
'semanticoctober',
),
// tests vendor name containing a hyphen
array(
'october-plugin',
'foo-bar-co',
'blog',
'foobarco',
'blog'
),
// tests that exactly one '-theme' is cut off
array(
'october-theme',
'acme',
'some-theme-theme',
'acme',
'some-theme',
),
// tests that names without '-theme' suffix stay valid
array(
'october-theme',
'acme',
'someothertheme',
'acme',
'someothertheme',
),
);
}
}