Cache the version parser used in TestCase

main
Jordi Boggiano 12 years ago
parent bd50ad32f0
commit 63c6c6d875

@ -19,19 +19,29 @@ use Composer\Util\Filesystem;
abstract class TestCase extends \PHPUnit_Framework_TestCase abstract class TestCase extends \PHPUnit_Framework_TestCase
{ {
private static $parser;
protected static function getVersionParser()
{
if (!self::$parser) {
self::$parser = new VersionParser();
}
return self::$parser;
}
protected function getVersionConstraint($operator, $version) protected function getVersionConstraint($operator, $version)
{ {
$versionParser = new VersionParser();
return new VersionConstraint( return new VersionConstraint(
$operator, $operator,
$versionParser->normalize($version) self::getVersionParser()->normalize($version)
); );
} }
protected function getPackage($name, $version) protected function getPackage($name, $version)
{ {
$versionParser = new VersionParser(); $normVersion = self::getVersionParser()->normalize($version);
$normVersion = $versionParser->normalize($version);
return new MemoryPackage($name, $normVersion, $version); return new MemoryPackage($name, $normVersion, $version);
} }

Loading…
Cancel
Save