Chris@0: composer = new Composer(); Chris@0: } Chris@0: Chris@0: public function testInflectPackageVars() Chris@0: { Chris@0: $package = $this->getPackage('vendor/name', '0.0.0'); Chris@0: $installer = new GravInstaller($package, $this->composer); Chris@0: $packageVars = $this->getPackageVars($package); Chris@0: Chris@0: $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => 'test'))); Chris@0: $this->assertEquals('test', $result['name']); Chris@0: Chris@0: foreach ($installer->getLocations() as $name => $location) { Chris@0: $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "$name-test"))); Chris@0: $this->assertEquals('test', $result['name']); Chris@0: $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "test-$name"))); Chris@0: $this->assertEquals('test', $result['name']); Chris@0: $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "$name-test-test"))); Chris@0: $this->assertEquals('test-test', $result['name']); Chris@0: $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "test-test-$name"))); Chris@0: $this->assertEquals('test-test', $result['name']); Chris@0: $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "grav-$name-test"))); Chris@0: $this->assertEquals('test', $result['name']); Chris@0: $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "grav-test-$name"))); Chris@0: $this->assertEquals('test', $result['name']); Chris@0: $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "grav-$name-test-test"))); Chris@0: $this->assertEquals('test-test', $result['name']); Chris@0: $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "grav-test-test-$name"))); Chris@0: $this->assertEquals('test-test', $result['name']); Chris@0: } Chris@0: } Chris@0: Chris@0: /** Chris@0: * @param $package \Composer\Package\PackageInterface Chris@0: */ Chris@0: public function getPackageVars($package) Chris@0: { Chris@0: $type = $package->getType(); Chris@0: Chris@0: $prettyName = $package->getPrettyName(); Chris@0: if (strpos($prettyName, '/') !== false) { Chris@0: list($vendor, $name) = explode('/', $prettyName); Chris@0: } else { Chris@0: $vendor = ''; Chris@0: $name = $prettyName; Chris@0: } Chris@0: Chris@0: return compact('name', 'vendor', 'type'); Chris@0: } Chris@0: }