/** * 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')); }
/** * 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('Composer\\IO\\IOInterface'), $this->getMock('Composer\\Config')); $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']); }
/** * Test if installer-name was set * */ public function testGetInstallPath() { $autoload = array('psr-4' => array('FOC\\Authenticate' => '')); $this->package->setAutoload($autoload); $this->package->setType('cakephp-plugin'); $rm = new RepositoryManager($this->getMock('Composer\\IO\\IOInterface'), $this->getMock('Composer\\Config')); $this->composer->setRepositoryManager($rm); $installer = new CakePHPInstaller($this->package, $this->composer); $this->setCakephpVersion($rm, '3.0.0'); $installer->getInstallPath($this->package, 'cakephp'); $extra = $this->package->getExtra(); $this->assertEquals('FOC/Authenticate', $extra['installer-name']); $autoload = array('psr-4' => array('FOC\\Acl\\Test' => './tests', 'FOC\\Acl' => '')); $this->package->setAutoload($autoload); $this->package->setExtra(array()); $installer->getInstallPath($this->package, 'cakephp'); $extra = $this->package->getExtra(); $this->assertEquals('FOC/Acl', $extra['installer-name']); $autoload = array('psr-4' => array('Foo\\Bar' => 'foo', 'Acme\\Plugin\\Test' => 'tests', 'Acme\\Plugin' => './src')); $this->package->setAutoload($autoload); $this->package->setExtra(array()); $installer->getInstallPath($this->package, 'cakephp'); $extra = $this->package->getExtra(); $this->assertEquals('Acme/Plugin', $extra['installer-name']); }
/** * Test if installer-name was set * */ public function testGetInstallPath() { $package = new RootPackage('Authenticate', '1.0', '1.0'); $autoload = array('psr-4' => array('FOC\\Authenticate' => 'src')); $package->setAutoload($autoload); $package->setType('cakephp-plugin'); $composer = new Composer(); $rm = new RepositoryManager($this->getMock('Composer\\IO\\IOInterface'), $this->getMock('Composer\\Config')); $composer->setRepositoryManager($rm); $installer = new CakePHPInstaller($package, $composer); $this->setCakephpVersion($rm, '3.0.0'); $installer->getInstallPath($package, 'cakephp'); $extra = $package->getExtra(); $this->assertEquals('FOC/Authenticate', $extra['installer-name']); }