diff --git a/tests/Composer/Test/Autoload/AutoloadGeneratorTest.php b/tests/Composer/Test/Autoload/AutoloadGeneratorTest.php index a4e8b9449..f8e188906 100644 --- a/tests/Composer/Test/Autoload/AutoloadGeneratorTest.php +++ b/tests/Composer/Test/Autoload/AutoloadGeneratorTest.php @@ -15,26 +15,25 @@ namespace Composer\Test\Installer; use Composer\Autoload\AutoloadGenerator; use Composer\Util\Filesystem; use Composer\Package\MemoryPackage; +use Composer\Test\TestCase; -class AutoloadGeneratorTest extends \PHPUnit_Framework_TestCase +class AutoloadGeneratorTest extends TestCase { public $vendorDir; private $workingDir; private $im; private $repository; private $generator; + private $fs; protected function setUp() { - $fs = new Filesystem; + $this->fs = new Filesystem; $that = $this; $this->workingDir = realpath(sys_get_temp_dir()); $this->vendorDir = $this->workingDir.DIRECTORY_SEPARATOR.'composer-test-autoload'; - if (is_dir($this->vendorDir)) { - $fs->removeDirectory($this->vendorDir); - } - mkdir($this->vendorDir); + $this->ensureDirectoryExistsAndClear($this->vendorDir); $this->dir = getcwd(); chdir($this->workingDir); @@ -53,13 +52,20 @@ class AutoloadGeneratorTest extends \PHPUnit_Framework_TestCase return $that->vendorDir; })); - $this->repo = $this->getMock('Composer\Repository\RepositoryInterface'); + $this->repository = $this->getMock('Composer\Repository\RepositoryInterface'); $this->generator = new AutoloadGenerator(); } protected function tearDown() { + if ($this->vendorDir === $this->workingDir) { + if (is_dir($this->workingDir.'/.composer')) { + $this->fs->removeDirectory($this->workingDir.'/.composer'); + } + } elseif (is_dir($this->vendorDir)) { + $this->fs->removeDirectory($this->vendorDir); + } chdir($this->dir); } @@ -68,12 +74,12 @@ class AutoloadGeneratorTest extends \PHPUnit_Framework_TestCase $package = new MemoryPackage('a', '1.0', '1.0'); $package->setAutoload(array('psr-0' => array('Main' => 'src/', 'Lala' => 'src/'))); - $this->repo->expects($this->once()) + $this->repository->expects($this->once()) ->method('getPackages') ->will($this->returnValue(array())); mkdir($this->vendorDir.'/.composer'); - $this->generator->dump($this->repo, $package, $this->im, $this->vendorDir.'/.composer'); + $this->generator->dump($this->repository, $package, $this->im, $this->vendorDir.'/.composer'); $this->assertAutoloadFiles('main', $this->vendorDir.'/.composer'); } @@ -84,14 +90,15 @@ class AutoloadGeneratorTest extends \PHPUnit_Framework_TestCase $package = new MemoryPackage('a', '1.0', '1.0'); $package->setAutoload(array('psr-0' => array('Main' => 'src/', 'Lala' => 'src/'))); - $this->repo->expects($this->once()) + $this->repository->expects($this->once()) ->method('getPackages') ->will($this->returnValue(array())); if (!is_dir($this->vendorDir.'/.composer')) { mkdir($this->vendorDir.'/.composer', 0777, true); } - $this->generator->dump($this->repo, $package, $this->im, $this->vendorDir.'/.composer'); + + $this->generator->dump($this->repository, $package, $this->im, $this->vendorDir.'/.composer'); $this->assertAutoloadFiles('main3', $this->vendorDir.'/.composer'); } @@ -100,13 +107,13 @@ class AutoloadGeneratorTest extends \PHPUnit_Framework_TestCase $package = new MemoryPackage('a', '1.0', '1.0'); $package->setAutoload(array('psr-0' => array('Main' => 'src/', 'Lala' => 'src/'))); - $this->repo->expects($this->once()) + $this->repository->expects($this->once()) ->method('getPackages') ->will($this->returnValue(array())); $this->vendorDir .= '/subdir'; mkdir($this->vendorDir.'/.composer', 0777, true); - $this->generator->dump($this->repo, $package, $this->im, $this->vendorDir.'/.composer'); + $this->generator->dump($this->repository, $package, $this->im, $this->vendorDir.'/.composer'); $this->assertAutoloadFiles('main2', $this->vendorDir.'/.composer'); } @@ -120,12 +127,12 @@ class AutoloadGeneratorTest extends \PHPUnit_Framework_TestCase $a->setAutoload(array('psr-0' => array('A' => 'src/', 'A\\B' => 'lib/'))); $b->setAutoload(array('psr-0' => array('B\\Sub\\Name' => 'src/'))); - $this->repo->expects($this->once()) + $this->repository->expects($this->once()) ->method('getPackages') ->will($this->returnValue($packages)); mkdir($this->vendorDir.'/.composer', 0777, true); - $this->generator->dump($this->repo, $package, $this->im, $this->vendorDir.'/.composer'); + $this->generator->dump($this->repository, $package, $this->im, $this->vendorDir.'/.composer'); $this->assertAutoloadFiles('vendors', $this->vendorDir.'/.composer'); } @@ -140,12 +147,12 @@ class AutoloadGeneratorTest extends \PHPUnit_Framework_TestCase $a->setAutoload(array('psr-0' => array('A' => 'src/', 'A\\B' => 'lib/'))); $b->setAutoload(array('psr-0' => array('B\\Sub\\Name' => 'src/'))); - $this->repo->expects($this->once()) + $this->repository->expects($this->once()) ->method('getPackages') ->will($this->returnValue($packages)); mkdir($this->vendorDir.'/.composer', 0777, true); - $this->generator->dump($this->repo, $package, $this->im, $this->vendorDir.'/.composer'); + $this->generator->dump($this->repository, $package, $this->im, $this->vendorDir.'/.composer'); $this->assertAutoloadFiles('override_vendors', $this->vendorDir.'/.composer'); } diff --git a/tests/Composer/Test/Installer/LibraryInstallerTest.php b/tests/Composer/Test/Installer/LibraryInstallerTest.php index ba86954e3..b89bf9b9a 100644 --- a/tests/Composer/Test/Installer/LibraryInstallerTest.php +++ b/tests/Composer/Test/Installer/LibraryInstallerTest.php @@ -15,8 +15,9 @@ namespace Composer\Test\Installer; use Composer\Installer\LibraryInstaller; use Composer\DependencyResolver\Operation; use Composer\Util\Filesystem; +use Composer\Test\TestCase; -class LibraryInstallerTest extends \PHPUnit_Framework_TestCase +class LibraryInstallerTest extends TestCase { private $vendorDir; private $binDir; @@ -30,16 +31,10 @@ class LibraryInstallerTest extends \PHPUnit_Framework_TestCase $this->fs = new Filesystem; $this->vendorDir = realpath(sys_get_temp_dir()).DIRECTORY_SEPARATOR.'composer-test-vendor'; - if (is_dir($this->vendorDir)) { - $this->fs->removeDirectory($this->vendorDir); - } - mkdir($this->vendorDir); + $this->ensureDirectoryExistsAndClear($this->vendorDir); $this->binDir = realpath(sys_get_temp_dir()).DIRECTORY_SEPARATOR.'composer-test-bin'; - if (is_dir($this->binDir)) { - $this->fs->removeDirectory($this->binDir); - } - mkdir($this->binDir); + $this->ensureDirectoryExistsAndClear($this->binDir); $this->dm = $this->getMockBuilder('Composer\Downloader\DownloadManager') ->disableOriginalConstructor() @@ -52,6 +47,17 @@ class LibraryInstallerTest extends \PHPUnit_Framework_TestCase ->getMock(); } + protected function tearDown() + { + if (is_dir($this->vendorDir)) { + $this->fs->removeDirectory($this->vendorDir); + } + + if (is_dir($this->binDir)) { + $this->fs->removeDirectory($this->binDir); + } + } + public function testInstallerCreationShouldNotCreateVendorDirectory() { $this->fs->removeDirectory($this->vendorDir); diff --git a/tests/Composer/Test/TestCase.php b/tests/Composer/Test/TestCase.php index 1e3ae257e..f0c8ab8fd 100644 --- a/tests/Composer/Test/TestCase.php +++ b/tests/Composer/Test/TestCase.php @@ -15,6 +15,7 @@ namespace Composer\Test; use Composer\Package\Version\VersionParser; use Composer\Package\MemoryPackage; use Composer\Package\LinkConstraint\VersionConstraint; +use Composer\Util\Filesystem; abstract class TestCase extends \PHPUnit_Framework_TestCase { @@ -40,4 +41,13 @@ abstract class TestCase extends \PHPUnit_Framework_TestCase $normVersion = self::$versionParser->normalize($version); return new MemoryPackage($name, $normVersion, $version); } + + protected function ensureDirectoryExistsAndClear($directory) + { + $fs = new Filesystem(); + if (is_dir($directory)) { + $fs->removeDirectory($directory); + } + mkdir($directory, 0777, true); + } }