From 0851ef1afb9d933785e8039bd5bb8929598bd74b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Haso=C5=88?= Date: Wed, 13 Mar 2013 22:13:32 +0100 Subject: [PATCH 1/3] Fixed behaviour of Filesystem::findShortestPath[Code] for paths with up-level references --- src/Composer/Util/Filesystem.php | 37 ++++++++++++++++++--- tests/Composer/Test/Util/FilesystemTest.php | 12 +++++++ 2 files changed, 45 insertions(+), 4 deletions(-) diff --git a/src/Composer/Util/Filesystem.php b/src/Composer/Util/Filesystem.php index 494376126..71c1caaed 100644 --- a/src/Composer/Util/Filesystem.php +++ b/src/Composer/Util/Filesystem.php @@ -202,8 +202,8 @@ class Filesystem throw new \InvalidArgumentException(sprintf('$from (%s) and $to (%s) must be absolute paths.', $from, $to)); } - $from = lcfirst(rtrim(strtr($from, '\\', '/'), '/')); - $to = lcfirst(rtrim(strtr($to, '\\', '/'), '/')); + $from = lcfirst($this->normalizePath($from)); + $to = lcfirst($this->normalizePath($to)); if ($directories) { $from .= '/dummy_file'; @@ -243,8 +243,8 @@ class Filesystem throw new \InvalidArgumentException(sprintf('$from (%s) and $to (%s) must be absolute paths.', $from, $to)); } - $from = lcfirst(strtr($from, '\\', '/')); - $to = lcfirst(strtr($to, '\\', '/')); + $from = lcfirst($this->normalizePath($from)); + $to = lcfirst($this->normalizePath($to)); if ($from === $to) { return $directories ? '__DIR__' : '__FILE__'; @@ -300,6 +300,35 @@ class Filesystem return filesize($path); } + /** + * Normalize a path. This replaces backslashes with slashes, removes ending + * slash and collapses redundant separators and up-level references. + * + * @param string $path Path to the file or directory + * @return string + */ + public function normalizePath($path) + { + $parts = array(); + $path = strtr($path, '\\', '/'); + $prefix = ''; + + if (preg_match('|^(([a-z]:)?/)|i', $path, $match)) { + $prefix = $match[1]; + $path = substr($path, strlen($prefix)); + } + + foreach (explode('/', $path) as $chunk) { + if ('..' === $chunk) { + array_pop($parts); + } elseif ('.' !== $chunk && '' !== $chunk) { + $parts[] = $chunk; + } + } + + return $prefix.implode('/', $parts); + } + protected function directorySize($directory) { $it = new RecursiveDirectoryIterator($directory, RecursiveDirectoryIterator::SKIP_DOTS); diff --git a/tests/Composer/Test/Util/FilesystemTest.php b/tests/Composer/Test/Util/FilesystemTest.php index 0694e24db..479fad56d 100644 --- a/tests/Composer/Test/Util/FilesystemTest.php +++ b/tests/Composer/Test/Util/FilesystemTest.php @@ -38,6 +38,7 @@ class FilesystemTest extends TestCase array('c:/bin/run', 'd:/vendor/acme/bin/run', false, "'d:/vendor/acme/bin/run'"), array('c:\\bin\\run', 'd:/vendor/acme/bin/run', false, "'d:/vendor/acme/bin/run'"), array('/foo/bar', '/foo/bar', true, "__DIR__"), + array('/foo/bar/', '/foo/bar', true, "__DIR__"), array('/foo/bar', '/foo/baz', true, "dirname(__DIR__).'/baz'"), array('/foo/bin/run', '/foo/vendor/acme/bin/run', true, "dirname(dirname(__DIR__)).'/vendor/acme/bin/run'"), array('/foo/bin/run', '/bar/bin/run', true, "'/bar/bin/run'"), @@ -52,6 +53,11 @@ class FilesystemTest extends TestCase array('/tmp/test', '/tmp', true, "dirname(__DIR__)"), array('/tmp', '/tmp/test', true, "__DIR__ . '/test'"), array('C:/Temp', 'c:\Temp\test', true, "__DIR__ . '/test'"), + array('/tmp/test/./', '/tmp/test/', true, '__DIR__'), + array('/tmp/test/../vendor', '/tmp/test', true, "dirname(__DIR__).'/test'"), + array('/tmp/test/.././vendor', '/tmp/test', true, "dirname(__DIR__).'/test'"), + array('C:/Temp', 'c:\Temp\..\..\test', true, "dirname(__DIR__).'/test'"), + array('C:/Temp/../..', 'd:\Temp\..\..\test', true, "'d:/test'"), ); } @@ -91,6 +97,12 @@ class FilesystemTest extends TestCase array('/tmp', '/tmp/test', "test"), array('C:/Temp', 'C:\Temp\test', "test"), array('C:/Temp', 'c:\Temp\test', "test"), + array('/tmp/test/./', '/tmp/test', './', true), + array('/tmp/test/../vendor', '/tmp/test', '../test', true), + array('/tmp/test/.././vendor', '/tmp/test', '../test', true), + array('C:/Temp', 'c:\Temp\..\..\test', "../test", true), + array('C:/Temp/../..', 'c:\Temp\..\..\test', "./test", true), + array('/tmp', '/tmp/../../test', '/test', true), ); } From 48444a028cc5857d834b4b008dd3b67689432263 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Haso=C5=88?= Date: Mon, 1 Apr 2013 09:27:50 +0200 Subject: [PATCH 2/3] Added support for vendor dir excluded from working dir --- src/Composer/Autoload/AutoloadGenerator.php | 49 +++++----- .../Test/Autoload/AutoloadGeneratorTest.php | 91 +++++++++++++++++++ 2 files changed, 115 insertions(+), 25 deletions(-) diff --git a/src/Composer/Autoload/AutoloadGenerator.php b/src/Composer/Autoload/AutoloadGenerator.php index f7abfe1c2..4a4b0fc72 100644 --- a/src/Composer/Autoload/AutoloadGenerator.php +++ b/src/Composer/Autoload/AutoloadGenerator.php @@ -41,18 +41,18 @@ class AutoloadGenerator { $filesystem = new Filesystem(); $filesystem->ensureDirectoryExists($config->get('vendor-dir')); - $vendorPath = strtr(realpath($config->get('vendor-dir')), '\\', '/'); + $basePath = $filesystem->normalizePath(getcwd()); + $vendorPath = $filesystem->normalizePath(realpath($config->get('vendor-dir'))); $useGlobalIncludePath = (bool) $config->get('use-include-path'); $targetDir = $vendorPath.'/'.$targetDir; $filesystem->ensureDirectoryExists($targetDir); - $cwd = getcwd(); - $relVendorPath = $filesystem->findShortestPath($cwd, $vendorPath, true); + $relVendorPath = $filesystem->findShortestPath($basePath, $vendorPath, true); $vendorPathCode = $filesystem->findShortestPathCode(realpath($targetDir), $vendorPath, true); $vendorPathCode52 = str_replace('__DIR__', 'dirname(__FILE__)', $vendorPathCode); $vendorPathToTargetDirCode = $filesystem->findShortestPathCode($vendorPath, realpath($targetDir), true); - $appBaseDirCode = $filesystem->findShortestPathCode($vendorPath, $cwd, true); + $appBaseDirCode = $filesystem->findShortestPathCode($vendorPath, $basePath, true); $appBaseDirCode = str_replace('__DIR__', '$vendorDir', $appBaseDirCode); $namespacesFile = << $paths) { $exportedPaths = array(); foreach ($paths as $path) { - $exportedPaths[] = $this->getPathCode($filesystem, $relVendorPath, $vendorPath, $path); + $exportedPaths[] = $this->getPathCode($filesystem, $basePath, $relVendorPath, $vendorPath, $path); } $exportedPrefix = var_export($namespace, true); $namespacesFile .= " $exportedPrefix => "; @@ -101,11 +101,11 @@ EOF; $targetDirLoader = null; $mainAutoload = $mainPackage->getAutoload(); if ($mainPackage->getTargetDir() && !empty($mainAutoload['psr-0'])) { - $levels = count(explode('/', trim(strtr($mainPackage->getTargetDir(), '\\', '/'), '/'))); + $levels = count(explode('/', $filesystem->normalizePath($mainPackage->getTargetDir()))); $prefixes = implode(', ', array_map(function ($prefix) { return var_export($prefix, true); }, array_keys($mainAutoload['psr-0']))); - $baseDirFromTargetDirCode = $filesystem->findShortestPathCode($targetDir, $cwd, true); + $baseDirFromTargetDirCode = $filesystem->findShortestPathCode($targetDir, $basePath, true); $targetDirLoader = << $paths) { foreach ($paths as $dir) { - $dir = $this->getPath($filesystem, $relVendorPath, $vendorPath, $dir); + $dir = $this->getPath($filesystem, $basePath, $relVendorPath, $vendorPath, $dir); $whitelist = sprintf( '{%s/%s.+(? $path) { if ('' === $namespace || 0 === strpos($class, $namespace)) { - $path = '/'.$filesystem->findShortestPath($cwd, $path, true); if (!isset($classMap[$class])) { - $classMap[$class] = '$baseDir . '.var_export($path, true).",\n"; + $path = $this->getPathCode($filesystem, $basePath, $relVendorPath, $vendorPath, $path); + $classMap[$class] = $path.",\n"; } } } @@ -159,12 +159,8 @@ EOF; $autoloads['classmap'] = new \RecursiveIteratorIterator(new \RecursiveArrayIterator($autoloads['classmap'])); foreach ($autoloads['classmap'] as $dir) { foreach (ClassMapGenerator::createMap($dir) as $class => $path) { - $path = $filesystem->findShortestPath($cwd, $path, true); - if ($filesystem->isAbsolutePath($path)) { - $classMap[$class] = var_export($path, true).",\n"; - } else { - $classMap[$class] = '$baseDir . '.var_export('/'.$path, true).",\n"; - } + $path = $this->getPathCode($filesystem, $basePath, $relVendorPath, $vendorPath, $path); + $classMap[$class] = $path.",\n"; } } @@ -177,7 +173,7 @@ EOF; $filesCode = ""; $autoloads['files'] = new \RecursiveIteratorIterator(new \RecursiveArrayIterator($autoloads['files'])); foreach ($autoloads['files'] as $functionFile) { - $filesCode .= ' require '.$this->getPathCode($filesystem, $relVendorPath, $vendorPath, $functionFile).";\n"; + $filesCode .= ' require '.$this->getPathCode($filesystem, $basePath, $relVendorPath, $vendorPath, $functionFile).";\n"; } if (!$suffix) { @@ -186,7 +182,7 @@ EOF; file_put_contents($targetDir.'/autoload_namespaces.php', $namespacesFile); file_put_contents($targetDir.'/autoload_classmap.php', $classmapFile); - if ($includePathFile = $this->getIncludePathsFile($packageMap, $filesystem, $relVendorPath, $vendorPath, $vendorPathCode52, $appBaseDirCode)) { + if ($includePathFile = $this->getIncludePathsFile($packageMap, $filesystem, $basePath, $relVendorPath, $vendorPath, $vendorPathCode52, $appBaseDirCode)) { file_put_contents($targetDir.'/include_paths.php', $includePathFile); } file_put_contents($vendorPath.'/autoload.php', $this->getAutoloadFile($vendorPathToTargetDirCode, $suffix)); @@ -257,7 +253,7 @@ EOF; return $loader; } - protected function getIncludePathsFile(array $packageMap, Filesystem $filesystem, $relVendorPath, $vendorPath, $vendorPathCode, $appBaseDirCode) + protected function getIncludePathsFile(array $packageMap, Filesystem $filesystem, $basePath, $relVendorPath, $vendorPath, $vendorPathCode, $appBaseDirCode) { $includePaths = array(); @@ -291,15 +287,15 @@ return array( EOF; foreach ($includePaths as $path) { - $includePathsFile .= " " . $this->getPathCode($filesystem, $relVendorPath, $vendorPath, $path) . ",\n"; + $includePathsFile .= " " . $this->getPathCode($filesystem, $basePath, $relVendorPath, $vendorPath, $path) . ",\n"; } return $includePathsFile . ");\n"; } - protected function getPathCode(Filesystem $filesystem, $relVendorPath, $vendorPath, $path) + protected function getPathCode(Filesystem $filesystem, $basePath, $relVendorPath, $vendorPath, $path) { - $path = strtr($path, '\\', '/'); + $path = $filesystem->normalizePath($path); $baseDir = ''; if (!$filesystem->isAbsolutePath($path)) { if (strpos($path, $relVendorPath) === 0) { @@ -313,6 +309,9 @@ EOF; } elseif (strpos($path, $vendorPath) === 0) { $path = substr($path, strlen($vendorPath)); $baseDir = '$vendorDir . '; + } elseif (strpos($path, $basePath) === 0) { + $path = substr($path, strlen($basePath)); + $baseDir = '$baseDir . '; } if (preg_match('/\.phar$/', $path)){ @@ -322,16 +321,16 @@ EOF; return $baseDir.var_export($path, true); } - protected function getPath(Filesystem $filesystem, $relVendorPath, $vendorPath, $path) + protected function getPath(Filesystem $filesystem, $basePath, $relVendorPath, $vendorPath, $path) { - $path = strtr($path, '\\', '/'); + $path = $filesystem->normalizePath($path); if (!$filesystem->isAbsolutePath($path)) { if (strpos($path, $relVendorPath) === 0) { // path starts with vendor dir return $vendorPath . substr($path, strlen($relVendorPath)); } - return strtr(getcwd(), '\\', '/').'/'.$path; + return $basePath.'/'.$path; } return $path; diff --git a/tests/Composer/Test/Autoload/AutoloadGeneratorTest.php b/tests/Composer/Test/Autoload/AutoloadGeneratorTest.php index 5fff7b6e5..40b0a67cc 100644 --- a/tests/Composer/Test/Autoload/AutoloadGeneratorTest.php +++ b/tests/Composer/Test/Autoload/AutoloadGeneratorTest.php @@ -660,6 +660,97 @@ EOF; $this->assertFileEquals(__DIR__.'/Fixtures/autoload_real_include_path.php', $this->vendorDir.'/composer/autoload_real.php'); } + public function testVendorDirExcludedFromWorkingDir() + { + $workingDir = $this->vendorDir.'/working-dir'; + $vendorDir = $workingDir.'/../vendor'; + + $this->fs->ensureDirectoryExists($workingDir); + chdir($workingDir); + + $package = new Package('a', '1.0', '1.0'); + $package->setAutoload(array( + 'psr-0' => array('Foo' => 'src'), + 'classmap' => array('classmap'), + 'files' => array('test.php'), + )); + + $vendorPackage = new Package('b/b', '1.0', '1.0'); + $vendorPackage->setAutoload(array( + 'psr-0' => array('Bar' => 'lib'), + 'classmap' => array('classmaps'), + 'files' => array('bootstrap.php'), + )); + + $this->repository->expects($this->once()) + ->method('getPackages') + ->will($this->returnValue(array($vendorPackage))); + + $im = $this->getMockBuilder('Composer\Installer\InstallationManager') + ->disableOriginalConstructor() + ->getMock(); + $im->expects($this->any()) + ->method('getInstallPath') + ->will($this->returnCallback(function ($package) use ($vendorDir) { + $targetDir = $package->getTargetDir(); + return $vendorDir.'/'.$package->getName() . ($targetDir ? '/'.$targetDir : ''); + })); + + $this->fs->ensureDirectoryExists($workingDir.'/src/Foo'); + $this->fs->ensureDirectoryExists($workingDir.'/classmap'); + $this->fs->ensureDirectoryExists($vendorDir.'/composer'); + $this->fs->ensureDirectoryExists($vendorDir.'/b/b/lib/Bar'); + $this->fs->ensureDirectoryExists($vendorDir.'/b/b/classmaps'); + file_put_contents($workingDir.'/src/Foo/Bar.php', 'vendorDir; + $this->vendorDir = $vendorDir; + $this->generator->dump($this->config, $this->repository, $package, $im, 'composer', true, '_13'); + $this->vendorDir = $oldVendorDir; + + $expectedNamespace = <<<'EOF' + $baseDir . '/src', + 'Bar' => $vendorDir . '/b/b/lib', +); + +EOF; + + $expectedClassmap = <<<'EOF' + $vendorDir . '/b/b/classmaps/classes.php', + 'Bar\\Foo' => $vendorDir . '/b/b/lib/Bar/Foo.php', + 'Foo\\Bar' => $baseDir . '/src/Foo/Bar.php', + 'Foo\\Foo' => $baseDir . '/classmap/classes.php', +); + +EOF; + + $this->assertEquals($expectedNamespace, file_get_contents($vendorDir.'/composer/autoload_namespaces.php')); + $this->assertEquals($expectedClassmap, file_get_contents($vendorDir.'/composer/autoload_classmap.php')); + $this->assertContains("require \$vendorDir . '/b/b/bootstrap.php';", file_get_contents($vendorDir.'/composer/autoload_real.php')); + $this->assertContains("require \$baseDir . '/test.php';", file_get_contents($vendorDir.'/composer/autoload_real.php')); + } + private function assertAutoloadFiles($name, $dir, $type = 'namespaces') { $a = __DIR__.'/Fixtures/autoload_'.$name.'.php'; From 34996106310a826e34c76946fc1990f6d1e75f31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Haso=C5=88?= Date: Thu, 14 Mar 2013 10:23:35 +0100 Subject: [PATCH 3/3] Fixed tests for autoloader generator --- .../Test/Autoload/AutoloadGeneratorTest.php | 44 ++++++------------- .../Autoload/Fixtures/autoload_classmap3.php | 4 +- .../Autoload/Fixtures/autoload_classmap4.php | 6 +-- .../Autoload/Fixtures/autoload_classmap5.php | 6 +-- .../Test/Autoload/Fixtures/autoload_main.php | 4 +- .../Test/Autoload/Fixtures/autoload_main2.php | 4 +- .../Test/Autoload/Fixtures/autoload_main3.php | 4 +- .../Autoload/Fixtures/autoload_vendors.php | 6 +-- 8 files changed, 30 insertions(+), 48 deletions(-) diff --git a/tests/Composer/Test/Autoload/AutoloadGeneratorTest.php b/tests/Composer/Test/Autoload/AutoloadGeneratorTest.php index 40b0a67cc..1869f165a 100644 --- a/tests/Composer/Test/Autoload/AutoloadGeneratorTest.php +++ b/tests/Composer/Test/Autoload/AutoloadGeneratorTest.php @@ -261,12 +261,12 @@ class AutoloadGeneratorTest extends TestCase $this->generator->dump($this->config, $this->repository, $package, $this->im, 'composer', false, '_6'); $this->assertTrue(file_exists($this->vendorDir.'/composer/autoload_classmap.php'), "ClassMap file needs to be generated."); $this->assertEquals( - $this->normalizePaths(array( + array( 'ClassMapBar' => $this->vendorDir.'/b/b/src/b.php', 'ClassMapBaz' => $this->vendorDir.'/b/b/lib/c.php', 'ClassMapFoo' => $this->vendorDir.'/a/a/src/a.php', - )), - $this->normalizePaths(include $this->vendorDir.'/composer/autoload_classmap.php') + ), + include $this->vendorDir.'/composer/autoload_classmap.php' ); $this->assertAutoloadFiles('classmap4', $this->vendorDir.'/composer', 'classmap'); } @@ -297,12 +297,12 @@ class AutoloadGeneratorTest extends TestCase $this->generator->dump($this->config, $this->repository, $package, $this->im, 'composer', false, '_6'); $this->assertTrue(file_exists($this->vendorDir.'/composer/autoload_classmap.php'), "ClassMap file needs to be generated."); $this->assertEquals( - $this->normalizePaths(array( + array( 'ClassMapBar' => $this->vendorDir.'/a/a/target/lib/b.php', 'ClassMapBaz' => $this->vendorDir.'/b/b/src/c.php', 'ClassMapFoo' => $this->vendorDir.'/a/a/target/src/a.php', - )), - $this->normalizePaths(include $this->vendorDir.'/composer/autoload_classmap.php') + ), + include $this->vendorDir.'/composer/autoload_classmap.php' ); } @@ -333,12 +333,12 @@ class AutoloadGeneratorTest extends TestCase $this->generator->dump($this->config, $this->repository, $package, $this->im, 'composer', false, '_7'); $this->assertTrue(file_exists($this->vendorDir.'/composer/autoload_classmap.php'), "ClassMap file needs to be generated."); $this->assertEquals( - $this->normalizePaths(array( + array( 'ClassMapBar' => $this->vendorDir.'/b/b/test.php', 'ClassMapBaz' => $this->vendorDir.'/c/c/foo/test.php', 'ClassMapFoo' => $this->vendorDir.'/a/a/src/a.php', - )), - $this->normalizePaths(include $this->vendorDir.'/composer/autoload_classmap.php') + ), + include $this->vendorDir.'/composer/autoload_classmap.php' ); $this->assertAutoloadFiles('classmap5', $this->vendorDir.'/composer', 'classmap'); } @@ -469,7 +469,6 @@ class AutoloadGeneratorTest extends TestCase file_put_contents($this->vendorDir.'/a/a/lib/A/B/C.php', 'vendorDir.'/a/a/classmap/classes.php', 'workingDir, '\\', '/'); $expectedNamespace = << \$vendorDir . '/b/b/src/', - 'A\\\\B' => array('$workDir/lib', \$vendorDir . '/a/a/lib/'), - 'A' => \$vendorDir . '/a/a/src/', + 'B\\\\Sub\\\\Name' => \$vendorDir . '/b/b/src', + 'A\\\\B' => array(\$baseDir . '/lib', \$vendorDir . '/a/a/lib'), + 'A' => \$vendorDir . '/a/a/src', ); EOF; @@ -755,23 +754,6 @@ EOF; { $a = __DIR__.'/Fixtures/autoload_'.$name.'.php'; $b = $dir.'/autoload_'.$type.'.php'; - $this->assertEquals( - str_replace('%vendorDir%', basename($this->vendorDir), file_get_contents($a)), - file_get_contents($b), - $a .' does not equal '. $b - ); - } - - private function normalizePaths($paths) - { - if (!is_array($paths)) { - return strtr($paths, '\\', '/'); - } - - foreach ($paths as $key => $path) { - $paths[$key] = strtr($path, '\\', '/'); - } - - return $paths; + $this->assertFileEquals($a, $b); } } diff --git a/tests/Composer/Test/Autoload/Fixtures/autoload_classmap3.php b/tests/Composer/Test/Autoload/Fixtures/autoload_classmap3.php index cda9a4d82..eee309d87 100644 --- a/tests/Composer/Test/Autoload/Fixtures/autoload_classmap3.php +++ b/tests/Composer/Test/Autoload/Fixtures/autoload_classmap3.php @@ -6,6 +6,6 @@ $vendorDir = dirname(dirname(__FILE__)); $baseDir = $vendorDir; return array( - 'ClassMapFoo' => $baseDir . '/composersrc/foo.php', - 'Main\\Foo' => $baseDir . '/src/Main/Foo.php', + 'ClassMapFoo' => $vendorDir . '/composersrc/foo.php', + 'Main\\Foo' => $vendorDir . '/src/Main/Foo.php', ); diff --git a/tests/Composer/Test/Autoload/Fixtures/autoload_classmap4.php b/tests/Composer/Test/Autoload/Fixtures/autoload_classmap4.php index f6731f823..fbc63dc06 100644 --- a/tests/Composer/Test/Autoload/Fixtures/autoload_classmap4.php +++ b/tests/Composer/Test/Autoload/Fixtures/autoload_classmap4.php @@ -6,7 +6,7 @@ $vendorDir = dirname(dirname(__FILE__)); $baseDir = dirname($vendorDir); return array( - 'ClassMapBar' => $baseDir . '/%vendorDir%/b/b/src/b.php', - 'ClassMapBaz' => $baseDir . '/%vendorDir%/b/b/lib/c.php', - 'ClassMapFoo' => $baseDir . '/%vendorDir%/a/a/src/a.php', + 'ClassMapBar' => $vendorDir . '/b/b/src/b.php', + 'ClassMapBaz' => $vendorDir . '/b/b/lib/c.php', + 'ClassMapFoo' => $vendorDir . '/a/a/src/a.php', ); diff --git a/tests/Composer/Test/Autoload/Fixtures/autoload_classmap5.php b/tests/Composer/Test/Autoload/Fixtures/autoload_classmap5.php index 1fb28ec5a..5d9dfb28b 100644 --- a/tests/Composer/Test/Autoload/Fixtures/autoload_classmap5.php +++ b/tests/Composer/Test/Autoload/Fixtures/autoload_classmap5.php @@ -6,7 +6,7 @@ $vendorDir = dirname(dirname(__FILE__)); $baseDir = dirname($vendorDir); return array( - 'ClassMapBar' => $baseDir . '/%vendorDir%/b/b/test.php', - 'ClassMapBaz' => $baseDir . '/%vendorDir%/c/c/foo/test.php', - 'ClassMapFoo' => $baseDir . '/%vendorDir%/a/a/src/a.php', + 'ClassMapBar' => $vendorDir . '/b/b/test.php', + 'ClassMapBaz' => $vendorDir . '/c/c/foo/test.php', + 'ClassMapFoo' => $vendorDir . '/a/a/src/a.php', ); diff --git a/tests/Composer/Test/Autoload/Fixtures/autoload_main.php b/tests/Composer/Test/Autoload/Fixtures/autoload_main.php index be588255f..f011a7364 100644 --- a/tests/Composer/Test/Autoload/Fixtures/autoload_main.php +++ b/tests/Composer/Test/Autoload/Fixtures/autoload_main.php @@ -6,6 +6,6 @@ $vendorDir = dirname(dirname(__FILE__)); $baseDir = dirname($vendorDir); return array( - 'Main' => $baseDir . '/src/', - 'Lala' => array($baseDir . '/src/', $baseDir . '/lib/'), + 'Main' => $baseDir . '/src', + 'Lala' => array($baseDir . '/src', $baseDir . '/lib'), ); diff --git a/tests/Composer/Test/Autoload/Fixtures/autoload_main2.php b/tests/Composer/Test/Autoload/Fixtures/autoload_main2.php index 93d797879..afc146e2c 100644 --- a/tests/Composer/Test/Autoload/Fixtures/autoload_main2.php +++ b/tests/Composer/Test/Autoload/Fixtures/autoload_main2.php @@ -6,6 +6,6 @@ $vendorDir = dirname(dirname(__FILE__)); $baseDir = dirname(dirname($vendorDir)); return array( - 'Main' => $baseDir . '/src/', - 'Lala' => $baseDir . '/src/', + 'Main' => $baseDir . '/src', + 'Lala' => $baseDir . '/src', ); diff --git a/tests/Composer/Test/Autoload/Fixtures/autoload_main3.php b/tests/Composer/Test/Autoload/Fixtures/autoload_main3.php index 5a98309e0..b2b596e64 100644 --- a/tests/Composer/Test/Autoload/Fixtures/autoload_main3.php +++ b/tests/Composer/Test/Autoload/Fixtures/autoload_main3.php @@ -6,6 +6,6 @@ $vendorDir = dirname(dirname(__FILE__)); $baseDir = $vendorDir; return array( - 'Main' => $baseDir . '/src/', - 'Lala' => $baseDir . '/src/', + 'Main' => $baseDir . '/src', + 'Lala' => $baseDir . '/src', ); diff --git a/tests/Composer/Test/Autoload/Fixtures/autoload_vendors.php b/tests/Composer/Test/Autoload/Fixtures/autoload_vendors.php index bb589771c..5cecf729f 100644 --- a/tests/Composer/Test/Autoload/Fixtures/autoload_vendors.php +++ b/tests/Composer/Test/Autoload/Fixtures/autoload_vendors.php @@ -6,7 +6,7 @@ $vendorDir = dirname(dirname(__FILE__)); $baseDir = dirname($vendorDir); return array( - 'B\\Sub\\Name' => $vendorDir . '/b/b/src/', - 'A\\B' => $vendorDir . '/a/a/lib/', - 'A' => $vendorDir . '/a/a/src/', + 'B\\Sub\\Name' => $vendorDir . '/b/b/src', + 'A\\B' => $vendorDir . '/a/a/lib', + 'A' => $vendorDir . '/a/a/src', );