From fc54a48b522291818f451fd0a82e613abceac98a Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Tue, 2 Apr 2013 11:32:11 +0200 Subject: [PATCH] Fix archiver tests on windows --- .../Package/Archiver/ArchivableFilesFinder.php | 9 ++++++--- .../Archiver/ArchivableFilesFinderTest.php | 18 ++++++++++-------- .../Package/Archiver/ArchiveManagerTest.php | 4 ---- .../Test/Package/Archiver/ArchiverTest.php | 4 ---- .../Package/Archiver/HgExcludeFilterTest.php | 3 --- .../Test/Package/Archiver/PharArchiverTest.php | 4 ---- 6 files changed, 16 insertions(+), 26 deletions(-) diff --git a/src/Composer/Package/Archiver/ArchivableFilesFinder.php b/src/Composer/Package/Archiver/ArchivableFilesFinder.php index 616b9540e..343c82b65 100644 --- a/src/Composer/Package/Archiver/ArchivableFilesFinder.php +++ b/src/Composer/Package/Archiver/ArchivableFilesFinder.php @@ -14,6 +14,7 @@ namespace Composer\Package\Archiver; use Composer\Package\BasePackage; use Composer\Package\PackageInterface; +use Composer\Util\Filesystem; use Symfony\Component\Finder; @@ -40,7 +41,9 @@ class ArchivableFilesFinder extends \FilterIterator */ public function __construct($sources, array $excludes) { - $sources = realpath($sources); + $fs = new Filesystem(); + + $sources = $fs->normalizePath($sources); $filters = array( new HgExcludeFilter($sources), @@ -51,11 +54,11 @@ class ArchivableFilesFinder extends \FilterIterator $this->finder = new Finder\Finder(); $this->finder ->in($sources) - ->filter(function (\SplFileInfo $file) use ($sources, $filters) { + ->filter(function (\SplFileInfo $file) use ($sources, $filters, $fs) { $relativePath = preg_replace( '#^'.preg_quote($sources, '#').'#', '', - str_replace(DIRECTORY_SEPARATOR, '/', $file->getRealPath()) + $fs->normalizePath($file->getRealPath()) ); $exclude = false; diff --git a/tests/Composer/Test/Package/Archiver/ArchivableFilesFinderTest.php b/tests/Composer/Test/Package/Archiver/ArchivableFilesFinderTest.php index 0f6318b6d..a19405fe2 100644 --- a/tests/Composer/Test/Package/Archiver/ArchivableFilesFinderTest.php +++ b/tests/Composer/Test/Package/Archiver/ArchivableFilesFinderTest.php @@ -17,20 +17,20 @@ use Composer\Util\Filesystem; use Symfony\Component\Process\Process; -/** - * @author Nils Adermann - */ class ArchivableFilesFinderTest extends \PHPUnit_Framework_TestCase { protected $sources; protected $finder; + protected $fs; - protected function setup() + protected function setUp() { $fs = new Filesystem; + $this->fs = $fs; - $this->sources = realpath(sys_get_temp_dir()). - '/composer_archiver_test'.uniqid(mt_rand(), true); + $this->sources = $fs->normalizePath( + realpath(sys_get_temp_dir()).'/composer_archiver_test'.uniqid(mt_rand(), true) + ); $fileTree = array( 'A/prefixA.foo', @@ -171,7 +171,7 @@ class ArchivableFilesFinderTest extends \PHPUnit_Framework_TestCase $files = array(); foreach ($this->finder as $file) { if (!$file->isDir()) { - $files[] = preg_replace('#^'.preg_quote($this->sources, '#').'#', '', $file->getRealPath()); + $files[] = preg_replace('#^'.preg_quote($this->sources, '#').'#', '', $this->fs->normalizePath($file->getRealPath())); } } @@ -190,10 +190,12 @@ class ArchivableFilesFinderTest extends \PHPUnit_Framework_TestCase $files = array(); foreach ($iterator as $file) { - $files[] = preg_replace('#^phar://'.preg_quote($this->sources, '#').'/archive\.zip/archive#', '', $file); + $files[] = preg_replace('#^phar://'.preg_quote($this->sources, '#').'/archive\.zip/archive#', '', $this->fs->normalizePath($file)); } + unset($archive, $iterator, $file); unlink($this->sources.'/archive.zip'); + return $files; } diff --git a/tests/Composer/Test/Package/Archiver/ArchiveManagerTest.php b/tests/Composer/Test/Package/Archiver/ArchiveManagerTest.php index 2c51461ed..4891aa3a6 100644 --- a/tests/Composer/Test/Package/Archiver/ArchiveManagerTest.php +++ b/tests/Composer/Test/Package/Archiver/ArchiveManagerTest.php @@ -18,10 +18,6 @@ use Composer\Package\Archiver; use Composer\Package\Archiver\ArchiveManager; use Composer\Package\PackageInterface; -/** - * @author Till Klampaeckel - * @author Matthieu Moquet - */ class ArchiveManagerTest extends ArchiverTest { protected $manager; diff --git a/tests/Composer/Test/Package/Archiver/ArchiverTest.php b/tests/Composer/Test/Package/Archiver/ArchiverTest.php index 993244788..a3c73fa7a 100644 --- a/tests/Composer/Test/Package/Archiver/ArchiverTest.php +++ b/tests/Composer/Test/Package/Archiver/ArchiverTest.php @@ -16,10 +16,6 @@ use Composer\Util\Filesystem; use Composer\Util\ProcessExecutor; use Composer\Package\Package; -/** - * @author Till Klampaeckel - * @author Matthieu Moquet - */ abstract class ArchiverTest extends \PHPUnit_Framework_TestCase { /** diff --git a/tests/Composer/Test/Package/Archiver/HgExcludeFilterTest.php b/tests/Composer/Test/Package/Archiver/HgExcludeFilterTest.php index 1a9d20089..c7eae2b56 100644 --- a/tests/Composer/Test/Package/Archiver/HgExcludeFilterTest.php +++ b/tests/Composer/Test/Package/Archiver/HgExcludeFilterTest.php @@ -14,9 +14,6 @@ namespace Composer\Test\Package\Archiver; use Composer\Package\Archiver\HgExcludeFilter; -/** - * @author Nils Adermann - */ class HgExcludeFilterTest extends \PHPUnit_Framework_TestCase { /** diff --git a/tests/Composer/Test/Package/Archiver/PharArchiverTest.php b/tests/Composer/Test/Package/Archiver/PharArchiverTest.php index 721d34f92..d6e783c91 100644 --- a/tests/Composer/Test/Package/Archiver/PharArchiverTest.php +++ b/tests/Composer/Test/Package/Archiver/PharArchiverTest.php @@ -14,10 +14,6 @@ namespace Composer\Test\Package\Archiver; use Composer\Package\Archiver\PharArchiver; -/** - * @author Till Klampaeckel - * @author Matthieu Moquet - */ class PharArchiverTest extends ArchiverTest { public function testTarArchive()