예제 #1
0
 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());
 }