/** * Restore locator instance * * @param ObjectManager $objectManager * @param DirectoryList $directoryList * @param array $arguments * @return ObjectManager */ public function restore(ObjectManager $objectManager, $directoryList, array $arguments) { \Magento\TestFramework\ObjectManager::setInstance($objectManager); $this->directoryList = $directoryList; $objectManager->configure($this->_primaryConfigData); $objectManager->addSharedInstance($this->directoryList, 'Magento\\Framework\\App\\Filesystem\\DirectoryList'); $objectManager->addSharedInstance($this->directoryList, 'Magento\\Framework\\Filesystem\\DirectoryList'); $deploymentConfig = $this->createDeploymentConfig($directoryList, $this->configFilePool, $arguments); $this->factory->setArguments($arguments); $objectManager->addSharedInstance($deploymentConfig, 'Magento\\Framework\\App\\DeploymentConfig'); $objectManager->addSharedInstance($objectManager->get('Magento\\Framework\\App\\ObjectManager\\ConfigLoader'), 'Magento\\Framework\\ObjectManager\\ConfigLoaderInterface'); $objectManager->get('Magento\\Framework\\Interception\\PluginListInterface')->reset(); $objectManager->configure($objectManager->get('Magento\\Framework\\App\\ObjectManager\\ConfigLoader')->load('global')); return $objectManager; }
/** * Restore locator instance * * @param ObjectManager $objectManager * @param string $rootDir * @param array $arguments * @return ObjectManager */ public function restore(ObjectManager $objectManager, $rootDir, array $arguments) { $directories = isset($arguments[\Magento\Framework\App\Filesystem::PARAM_APP_DIRS]) ? $arguments[\Magento\Framework\App\Filesystem::PARAM_APP_DIRS] : array(); $directoryList = new \Magento\TestFramework\App\Filesystem\DirectoryList($rootDir, $directories); \Magento\TestFramework\ObjectManager::setInstance($objectManager); $objectManager->configure($this->_primaryConfigData); $objectManager->addSharedInstance($directoryList, 'Magento\\Framework\\App\\Filesystem\\DirectoryList'); $objectManager->addSharedInstance($directoryList, 'Magento\\Framework\\Filesystem\\DirectoryList'); $appArguments = parent::createAppArguments($directoryList, $arguments); $this->appArgumentsProxy->setSubject($appArguments); $this->factory->setArguments($appArguments->get()); $objectManager->addSharedInstance($appArguments, 'Magento\\Framework\\App\\Arguments'); $objectManager->get('Magento\\Framework\\Interception\\PluginList')->reset(); $objectManager->configure($objectManager->get('Magento\\Framework\\App\\ObjectManager\\ConfigLoader')->load('global')); return $objectManager; }