/** * Puts all information compiled by the ClassLoadingInformationGenerator to files */ public static function writeClassLoadingInformation() { self::ensureAutoloadInfoDirExists(); $classInfoFiles = ClassLoadingInformationGenerator::buildAutoloadInformationFiles(); GeneralUtility::writeFile(PATH_site . self::AUTOLOAD_INFO_DIR . self::AUTOLOAD_CLASSMAP_FILENAME, $classInfoFiles['classMapFile']); GeneralUtility::writeFile(PATH_site . self::AUTOLOAD_INFO_DIR . self::AUTOLOAD_PSR4_FILENAME, $classInfoFiles['psr-4File']); $classAliasMapFile = ClassLoadingInformationGenerator::buildClassAliasMapFile(); GeneralUtility::writeFile(PATH_site . self::AUTOLOAD_INFO_DIR . self::AUTOLOAD_CLASSALIASMAP_FILENAME, $classAliasMapFile); }
/** * @test * @dataProvider autoloadDevFilesAreBuildCorrectlyDataProvider * * @param array $packageManifest * @param array $expectedPsr4Files * @param array $expectedClassMapFiles */ public function autoloadDevFilesAreBuildCorrectly($packageManifest, $expectedPsr4Files, $expectedClassMapFiles) { /** @var ClassLoader|\PHPUnit_Framework_MockObject_MockObject $classLoaderMock */ $classLoaderMock = $this->getMock(ClassLoader::class); $generator = new ClassLoadingInformationGenerator($classLoaderMock, [$this->createPackageMock($packageManifest)], __DIR__, true); $files = $generator->buildAutoloadInformationFiles(); $this->assertArrayHasKey('psr-4File', $files); $this->assertArrayHasKey('classMapFile', $files); foreach ($expectedPsr4Files as $expectation) { if ($expectation[0] === '!') { $expectedCount = 0; } else { $expectedCount = 1; } $this->assertSame($expectedCount, substr_count($files['psr-4File'], $expectation), '' . $expectation); } foreach ($expectedClassMapFiles as $expectation) { if ($expectation[0] === '!') { $expectedCount = 0; } else { $expectedCount = 1; } $this->assertSame($expectedCount, substr_count($files['classMapFile'], $expectation), '' . $expectation); } }