Вход Регистрация
Файл: vendor/composer/installers/tests/Composer/Installers/Test/CakePHPInstallerTest.php
Строк: 158
<?php
namespace ComposerInstallersTest;

use 
ComposerInstallersCakePHPInstaller;
use 
ComposerRepositoryRepositoryManager;
use 
ComposerRepositoryInstalledArrayRepository;
use 
ComposerPackagePackage;
use 
ComposerPackageRootPackage;
use 
ComposerPackageLink;
use 
ComposerPackageVersionVersionParser;
use 
ComposerComposer;
use 
ComposerConfig;

class 
CakePHPInstallerTest extends TestCase
{
    private 
$composer;
    private 
$io;

    
/**
     * setUp
     *
     * @return void
     */
    
public function setUp()
    {
        
$this->package = new Package('CamelCased''1.0''1.0');
        
$this->io $this->getMock('ComposerIOPackageInterface');
        
$this->composer = new Composer();
        
$this->composer->setConfig(new Config(false));
    }

    
/**
     * testInflectPackageVars
     *
     * @return void
     */
    
public function testInflectPackageVars()
    {
        
$installer = new CakePHPInstaller($this->package$this->composer);
        
$result $installer->inflectPackageVars(array('name' => 'CamelCased'));
        
$this->assertEquals($result, array('name' => 'CamelCased'));

        
$installer = new CakePHPInstaller($this->package$this->composer);
        
$result $installer->inflectPackageVars(array('name' => 'with-dash'));
        
$this->assertEquals($result, array('name' => 'WithDash'));

        
$installer = new CakePHPInstaller($this->package$this->composer);
        
$result $installer->inflectPackageVars(array('name' => 'with_underscore'));
        
$this->assertEquals($result, array('name' => 'WithUnderscore'));

        
$installer = new CakePHPInstaller($this->package$this->composer);
        
$result $installer->inflectPackageVars(array('name' => 'cake/acl'));
        
$this->assertEquals($result, array('name' => 'Cake/Acl'));

        
$installer = new CakePHPInstaller($this->package$this->composer);
        
$result $installer->inflectPackageVars(array('name' => 'cake/debug-kit'));
        
$this->assertEquals($result, array('name' => 'Cake/DebugKit'));
    }

    
/**
     * Test getLocations returning appropriate values based on CakePHP version
     *
     */
    
public function testGetLocations() {
        
$package = new RootPackage('CamelCased''1.0''1.0');
        
$composer $this->composer;
        
$rm = new RepositoryManager(
            
$this->getMock('ComposerIOIOInterface'),
            
$this->getMock('ComposerConfig')
        );
        
$composer->setRepositoryManager($rm);
        
$installer = new CakePHPInstaller($package$composer);

        
// 2.0 < cakephp < 3.0
        
$this->setCakephpVersion($rm'2.0.0');
        
$result $installer->getLocations();
        
$this->assertContains('Plugin/'$result['plugin']);

        
$this->setCakephpVersion($rm'2.5.9');
        
$result $installer->getLocations();
        
$this->assertContains('Plugin/'$result['plugin']);

        
$this->setCakephpVersion($rm'~2.5');
        
$result $installer->getLocations();
        
$this->assertContains('Plugin/'$result['plugin']);

        
// special handling for 2.x versions when 3.x is still in development
        
$this->setCakephpVersion($rm'dev-master');
        
$result $installer->getLocations();
        
$this->assertContains('Plugin/'$result['plugin']);

        
$this->setCakephpVersion($rm'>=2.5');
        
$result $installer->getLocations();
        
$this->assertContains('Plugin/'$result['plugin']);

        
// cakephp >= 3.0
        
$this->setCakephpVersion($rm'3.0.*-dev');
        
$result $installer->getLocations();
        
$this->assertContains('vendor/{$vendor}/{$name}/'$result['plugin']);

        
$this->setCakephpVersion($rm'~8.8');
        
$result $installer->getLocations();
        
$this->assertContains('vendor/{$vendor}/{$name}/'$result['plugin']);
    }

    protected function 
setCakephpVersion($rm$version) {
        
$parser = new VersionParser();
        list(, 
$version) = explode(' '$parser->parseConstraints($version));
        
$installed = new InstalledArrayRepository();
        
$package = new Package('cakephp/cakephp'$version$version);
        
$installed->addPackage($package);
        
$rm->setLocalRepository($installed);
    }

}
Онлайн: 2
Реклама