Blame view

vendor/composer/installers/tests/Composer/Installers/Test/TestCase.php 1.59 KB
0084d336   Administrator   Importers CRUD
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
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);
      }
  }