Returns the array of filenames of the class files
public getClassFiles ( ) : Generator | ||
return | Generator | A Generator for class names (key) and their filename, including the absolute path. |
/** * @test */ public function getClassFilesReturnsAListOfClassFilesOfThePackage() { $packagePath = 'vfs://Packages/Application/Acme.MyPackage/'; mkdir($packagePath, 0777, true); $rawComposerManifest = '{"name": "acme/mypackage", "type": "flow-test", "autoload": {"psr-0": {"Acme\\\\MyPackage": "Classes/"}}}'; $composerManifest = json_decode($rawComposerManifest, true); file_put_contents($packagePath . 'composer.json', $rawComposerManifest); mkdir($packagePath . 'Classes/Acme/MyPackage/Controller', 0770, true); mkdir($packagePath . 'Classes/Acme/MyPackage/Domain/Model', 0770, true); file_put_contents($packagePath . 'Classes/Acme/MyPackage/Controller/FooController.php', ''); file_put_contents($packagePath . 'Classes/Acme/MyPackage/Domain/Model/Foo.php', ''); file_put_contents($packagePath . 'Classes/Acme/MyPackage/Domain/Model/Bar.php', ''); $expectedClassFilesArray = array('Acme\\MyPackage\\Controller\\FooController' => $packagePath . 'Classes/Acme/MyPackage/Controller/FooController.php', 'Acme\\MyPackage\\Domain\\Model\\Foo' => $packagePath . 'Classes/Acme/MyPackage/Domain/Model/Foo.php', 'Acme\\MyPackage\\Domain\\Model\\Bar' => $packagePath . 'Classes/Acme/MyPackage/Domain/Model/Bar.php'); $package = new Package('Acme.MyPackage', 'acme/mypackage', $packagePath, $composerManifest['autoload']); foreach ($package->getClassFiles() as $className => $classPath) { $this->assertArrayHasKey($className, $expectedClassFilesArray); $this->assertEquals($expectedClassFilesArray[$className], $classPath); } }