Example #1
3
<?php

/**
 * Register basic autoloader that uses include path
 *
 * Copyright © 2016 Magento. All rights reserved.
 * See COPYING.txt for license details.
 */
use Magento\Framework\Autoload\AutoloaderRegistry;
use Magento\Framework\Autoload\ClassLoaderWrapper;
/**
 * Shortcut constant for the root directory
 */
define('BP', dirname(__DIR__));
$vendorDir = (require BP . '/app/etc/vendor_path.php');
$vendorAutoload = BP . "/{$vendorDir}/autoload.php";
/* 'composer install' validation */
if (file_exists($vendorAutoload)) {
    $composerAutoloader = (include $vendorAutoload);
} else {
    throw new \Exception('Vendor autoload is not found. Please run \'composer install\' under application root directory.');
}
AutoloaderRegistry::registerAutoloader(new ClassLoaderWrapper($composerAutoloader));
// Sets default autoload mappings, may be overridden in Bootstrap::create
\Magento\Framework\App\Bootstrap::populateAutoloader(BP, []);
 public function testClassLoadableFromDisc()
 {
     $classOnDisc = 'Class\\That\\Exists\\On\\Disc';
     /**
      * @var AutoloaderInterface | \PHPUnit_Framework_MockObject_MockObject $autoloaderMock
      */
     $autoloaderMock = $this->getMock('\\Magento\\Framework\\Autoload\\AutoloaderInterface');
     $autoloaderMock->expects($this->once())->method('findFile')->with($classOnDisc)->willReturn(true);
     AutoloaderRegistry::registerAutoloader($autoloaderMock);
     $this->assertTrue($this->model->isClassLoadable($classOnDisc));
 }
Example #3
0
 protected function constructObjectManager()
 {
     global $autoloader;
     $magentoAutoloader = new Autoload\ClassLoaderWrapper($autoloader);
     Autoload\AutoloaderRegistry::registerAutoloader($magentoAutoloader);
     /* Overwrite all directories that are used by our module. A correct
        config path is required for a working object manager. */
     $dirList = new DirectoryList($this->useRoot ? BP : $this->getVfs(), [DirectoryList::CONFIG => ["path" => BP . "/app/etc"], DirectoryList::MEDIA => ["path" => $this->getVfs() . "/media"], DirectoryList::VAR_DIR => ["path" => $this->getVfs() . "/var"], DirectoryList::CACHE => ["path" => BP . "/cache"]]);
     Autoload\Populator::populateMappings($magentoAutoloader, $dirList, new ComponentRegistrar());
     $factory = new ObjectManagerFactory($dirList, new DriverPool(), new ConfigFilePool());
     $config = [State::PARAM_MODE => State::MODE_DEVELOPER, "MAGE_CONFIG" => ["db" => ["connection" => ["default" => ["host" => "127.0.0.1", "dbname" => "magento2_test", "username" => "root", "password" => ""]]], "resource" => ["default_setup" => ["connection" => "default"]], "modules" => ["Magento_Authorization" => 1, "Magento_Backend" => 1, "Magento_Config" => 1, "Magento_Developer" => 1, "Magento_Email" => 1, "Magento_MediaStorage" => 1, "Magento_Store" => 1, "Magento_Theme" => 1, "Magento_Translation" => 1, "Magento_Ui" => 1, "Tinify_CompressImages" => 1]]];
     $objectManager = $factory->create($config);
     return $objectManager;
 }