瀏覽代碼

Fix ClassMapGenerator unambiguousReference test coverage

Without this fix the test only covers having files in "test", the "fixture"
portion it is not covered at all, because all fixtures in phpunit tests
are already in "test" directory
Denis Sokolov 11 年之前
父節點
當前提交
65b9cca7b5

+ 27 - 4
tests/Composer/Test/Autoload/ClassMapGeneratorTest.php

@@ -152,10 +152,30 @@ class ClassMapGeneratorTest extends \PHPUnit_Framework_TestCase
      */
     public function testUnambiguousReference()
     {
-        $this->checkIfFinderIsAvailable();
+        $tempDir = sys_get_temp_dir().'/ComposerTestUnambiguousRefs';
+        if (!is_dir($tempDir)) {
+            mkdir($tempDir, 0777, true);
+        }
 
-        $finder = new Finder();
-        $finder->files()->in(__DIR__ . '/Fixtures/Unambiguous');
+        file_put_contents($tempDir.'/A.php', "<?php\nclass A {}");
+
+        file_put_contents(
+            $tempDir.'/B.php',
+            "<?php
+                if (true) {
+                    interface B {}
+                } else {
+                    interface B extends Iterator {}
+                }
+            "
+        );
+
+        foreach (array('test', 'fixture') as $keyword) {
+            if (!is_dir($tempDir.'/'.$keyword)) {
+                mkdir($tempDir.'/'.$keyword, 0777, true);
+            }
+            file_put_contents($tempDir.'/'.$keyword.'/A.php', "<?php\nclass A {}");
+        }
 
         $io = $this->getMockBuilder('Composer\IO\ConsoleIO')
             ->disableOriginalConstructor()
@@ -164,7 +184,10 @@ class ClassMapGeneratorTest extends \PHPUnit_Framework_TestCase
         $io->expects($this->never())
             ->method('write');
 
-        ClassMapGenerator::createMap($finder, null, $io);
+        ClassMapGenerator::createMap($tempDir, null, $io);
+
+        $fs = new Filesystem();
+        $fs->removeDirectory($tempDir);
     }
 
     /**

+ 0 - 6
tests/Composer/Test/Autoload/Fixtures/Unambiguous/A.php

@@ -1,6 +0,0 @@
-<?php
-if (PHP_VERSION_ID < 50400) {
-    interface A extends Iterator, ArrayAccess { }
-} else {
-    interface A extends Iterator, ArrayAccess, JsonSerializable { }
-}

+ 0 - 3
tests/Composer/Test/Autoload/Fixtures/Unambiguous/tests/FixtureA.php

@@ -1,3 +0,0 @@
-<?php
-
-class FixtureA {}

+ 0 - 3
tests/Composer/Test/Autoload/Fixtures/Unambiguous/tests/FixtureA2.php

@@ -1,3 +0,0 @@
-<?php
-
-class FixtureA {}