Browse Source

Fix tests for PSR-fix in optimized autoloader, refs #8397

Jordi Boggiano 5 years ago
parent
commit
502b68967a

+ 1 - 1
src/Composer/Autoload/ClassMapGenerator.php

@@ -189,7 +189,7 @@ class ClassMapGenerator
             //return array();
         }
 
-        // TODO enable in Composer v1.11 or 2.0 whichever comes first
+        // TODO enable in Composer v1.11 or 2.0 whichever comes first & unskip test in AutoloadGeneratorTest::testPSRToClassMapIgnoresNonPSRClasses
         //return $validClasses;
         return $classes;
     }

+ 3 - 16
tests/Composer/Test/Autoload/AutoloadGeneratorTest.php

@@ -552,6 +552,8 @@ class AutoloadGeneratorTest extends TestCase
     {
         $package = new Package('a', '1.0', '1.0');
 
+        $this->markTestSkipped('Skipped until ClassMapGenerator ignoring of invalid PSR-x classes is enabled');
+
         $package->setAutoload(array(
             'psr-0' => array('psr0_' => 'psr0/'),
             'psr-4' => array('psr4\\' => 'psr4/'),
@@ -568,20 +570,7 @@ class AutoloadGeneratorTest extends TestCase
         file_put_contents($this->workingDir.'/psr4/match.php', '<?php namespace psr4; class match {}');
         file_put_contents($this->workingDir.'/psr4/badfile.php', '<?php namespace psr4; class badclass {}');
 
-        set_error_handler(function ($errno, $errstr) {
-            if ($errno !== E_USER_DEPRECATED || !preg_match('{^Class (psr4\\\\badclass|psr0_badclass) located in .+? does not comply with psr-[04] autoloading standard}', $errstr)) {
-                throw new \UnexpectedValueException('Unexpected error: '.$errstr);
-            }
-        });
-
-        try {
-            $this->generator->dump($this->config, $this->repository, $package, $this->im, 'composer', true, '_1');
-        } catch (\Exception $e) {
-            restore_error_handler();
-            throw $e;
-        }
-        restore_error_handler();
-
+        $this->generator->dump($this->config, $this->repository, $package, $this->im, 'composer', true, '_1');
         $this->assertFileExists($this->vendorDir.'/composer/autoload_classmap.php', "ClassMap file needs to be generated.");
 
         $expectedClassmap = <<<EOF
@@ -593,9 +582,7 @@ class AutoloadGeneratorTest extends TestCase
 \$baseDir = dirname(\$vendorDir);
 
 return array(
-    'psr0_badclass' => \$baseDir . '/psr0/psr0/badfile.php',
     'psr0_match' => \$baseDir . '/psr0/psr0/match.php',
-    'psr4\\\\badclass' => \$baseDir . '/psr4/badfile.php',
     'psr4\\\\match' => \$baseDir . '/psr4/match.php',
 );