public function testGetModules() { $filesystemTmp = CM_Service_Manager::getInstance()->getFilesystems()->getTmp(); $dirRoot = $filesystemTmp->getAdapter()->getPathPrefix() . '/foo-app/'; $composerFile = new \Composer\Json\JsonFile($dirRoot . 'composer.json'); $composerFile->write(array('name' => 'foo/bar', 'require' => array('cargomedia/cm' => '*'), 'extra' => ['cm-modules' => ['Package' => ['path' => 'package/']]])); $filesystemTmp->ensureDirectory('foo-app/vendor/composer/'); $installedFile = new \Composer\Json\JsonFile($dirRoot . 'vendor/composer/installed.json'); $installedFile->write([['name' => 'cargomedia/cm', 'version' => '1.3.10', 'type' => 'library', 'extra' => ['cm-modules' => ['CM' => ['path' => '']]], 'autoload' => ['psr-0' => ['CM_' => 'library/']]]]); $installation = new CM_App_Installation($dirRoot); $expectedModules = [new CM_App_Module('CM', 'vendor/cargomedia/cm/'), new CM_App_Module('Package', 'package/')]; $this->assertEquals($expectedModules, $installation->getModules()); }