Yaffs site version 1.1
[yaffs-website] / vendor / composer / installers / tests / Composer / Installers / Test / TestCase.php
diff --git a/vendor/composer/installers/tests/Composer/Installers/Test/TestCase.php b/vendor/composer/installers/tests/Composer/Installers/Test/TestCase.php
new file mode 100644 (file)
index 0000000..6418a03
--- /dev/null
@@ -0,0 +1,64 @@
+<?php
+
+/*
+ * This file is part of Composer.
+ *
+ * (c) Nils Adermann <naderman@naderman.de>
+ *     Jordi Boggiano <j.boggiano@seld.be>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Composer\Installers\Test;
+
+use Composer\Package\Version\VersionParser;
+use Composer\Package\Package;
+use Composer\Package\AliasPackage;
+use Composer\Package\LinkConstraint\VersionConstraint;
+use Composer\Util\Filesystem;
+
+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)
+    {
+        return new VersionConstraint(
+            $operator,
+            self::getVersionParser()->normalize($version)
+        );
+    }
+
+    protected function getPackage($name, $version)
+    {
+        $normVersion = self::getVersionParser()->normalize($version);
+
+        return new Package($name, $normVersion, $version);
+    }
+
+    protected function getAliasPackage($package, $version)
+    {
+        $normVersion = self::getVersionParser()->normalize($version);
+
+        return new AliasPackage($package, $normVersion, $version);
+    }
+
+    protected function ensureDirectoryExistsAndClear($directory)
+    {
+        $fs = new Filesystem();
+        if (is_dir($directory)) {
+            $fs->removeDirectory($directory);
+        }
+        mkdir($directory, 0777, true);
+    }
+}