Chris@0: Chris@0: * Jordi Boggiano Chris@0: * Chris@0: * For the full copyright and license information, please view the LICENSE Chris@0: * file that was distributed with this source code. Chris@0: */ Chris@0: Chris@0: namespace Composer\Installers\Test; Chris@0: Chris@0: use Composer\Package\Version\VersionParser; Chris@0: use Composer\Package\Package; Chris@0: use Composer\Package\AliasPackage; Chris@0: use Composer\Package\LinkConstraint\VersionConstraint; Chris@0: use Composer\Util\Filesystem; Chris@0: Chris@0: abstract class TestCase extends \PHPUnit_Framework_TestCase Chris@0: { Chris@0: private static $parser; Chris@0: Chris@0: protected static function getVersionParser() Chris@0: { Chris@0: if (!self::$parser) { Chris@0: self::$parser = new VersionParser(); Chris@0: } Chris@0: Chris@0: return self::$parser; Chris@0: } Chris@0: Chris@0: protected function getVersionConstraint($operator, $version) Chris@0: { Chris@0: return new VersionConstraint( Chris@0: $operator, Chris@0: self::getVersionParser()->normalize($version) Chris@0: ); Chris@0: } Chris@0: Chris@0: protected function getPackage($name, $version) Chris@0: { Chris@0: $normVersion = self::getVersionParser()->normalize($version); Chris@0: Chris@0: return new Package($name, $normVersion, $version); Chris@0: } Chris@0: Chris@0: protected function getAliasPackage($package, $version) Chris@0: { Chris@0: $normVersion = self::getVersionParser()->normalize($version); Chris@0: Chris@0: return new AliasPackage($package, $normVersion, $version); Chris@0: } Chris@0: Chris@0: protected function ensureDirectoryExistsAndClear($directory) Chris@0: { Chris@0: $fs = new Filesystem(); Chris@0: if (is_dir($directory)) { Chris@0: $fs->removeDirectory($directory); Chris@0: } Chris@0: mkdir($directory, 0777, true); Chris@0: } Chris@0: }