/** * Use Composer's autoloader to register the PRS-0 and PSR-4 paths. * * @param array $composer_config * The Composer configuration. */ protected function registerPsr(array $composer_config) { $psr0 = $psr4 = array(); if (!empty($composer_config['psr-0'])) { $psr0 = (array) $composer_config['psr-0']; } if (!empty($composer_config['psr-4'])) { $psr4 = (array) $composer_config['psr-4']; } if (empty($psr4) && empty($psr0)) { return; } $this->loader->setPsrClassMap(array('psr-0' => $psr0, 'psr-4' => $psr4)); $this->loader->registerPsr($this->classLoader); }
/** * Tests that Loader::registerPsr works properly. * * @covers ::registerPsr() */ public function test_registerPsr() { $loader = new Loader('data/docroot/sites/all/modules/testmodule/composer.json'); // Mock the \Composer\Autoload\ClassLoader loader. $classLoader = m::mock('\\Composer\\Autoload\\ClassLoader'); $classLoader->shouldReceive('add')->twice(); $classLoader->shouldReceive('addPsr4')->once(); $psrClassMap = ['psr-0' => ['Drupal\\plug\\' => ['DRUPAL_CONTRIB<testmodule>/testmodule.info', 'DRUPAL_ROOT/file.inc']], 'psr-4' => ['Drupal\\Kitten\\' => 'DRUPAL_ROOT/file.inc']]; $loader->setPsrClassMap($psrClassMap); $loader->registerPsr($classLoader); }