Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / vendor / behat / behat / src / Behat / Testwork / ServiceContainer / ContainerLoader.php
diff --git a/vendor/behat/behat/src/Behat/Testwork/ServiceContainer/ContainerLoader.php b/vendor/behat/behat/src/Behat/Testwork/ServiceContainer/ContainerLoader.php
deleted file mode 100644 (file)
index a723777..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-<?php
-
-/*
- * This file is part of the Behat Testwork.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Testwork\ServiceContainer;
-
-use Behat\Testwork\ServiceContainer\Configuration\ConfigurationTree;
-use Behat\Testwork\ServiceContainer\Exception\ExtensionException;
-use Symfony\Component\Config\Definition\Processor;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
-
-/**
- * Loads Symfony DI container with testwork extension services.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-final class ContainerLoader
-{
-    /**
-     * @var ExtensionManager
-     */
-    private $extensionManager;
-    /**
-     * @var ConfigurationTree
-     */
-    private $configuration;
-    /**
-     * @var Processor
-     */
-    private $processor;
-
-    /**
-     * Initialize extension.
-     *
-     * @param ExtensionManager       $extensionManager
-     * @param null|ConfigurationTree $configuration
-     * @param null|Processor         $processor
-     */
-    public function __construct(
-        ExtensionManager $extensionManager,
-        ConfigurationTree $configuration = null,
-        Processor $processor = null
-    ) {
-        $this->extensionManager = $extensionManager;
-        $this->configuration = $configuration ? : new ConfigurationTree();
-        $this->processor = $processor ? : new Processor();
-    }
-
-    /**
-     * Loads container extension.
-     *
-     * @param ContainerBuilder $container
-     * @param array            $configs
-     */
-    public function load(ContainerBuilder $container, array $configs)
-    {
-        $configs = $this->initializeExtensions($container, $configs);
-        $config = $this->processConfig($configs);
-
-        $this->loadExtensions($container, $config);
-    }
-
-    /**
-     * Processes config against extensions.
-     *
-     * @param array $configs
-     *
-     * @return array
-     */
-    private function processConfig(array $configs)
-    {
-        $tree = $this->configuration->getConfigTree($this->extensionManager->getExtensions());
-
-        return $this->processor->process($tree, $configs);
-    }
-
-    /**
-     * Initializes extensions using provided config.
-     *
-     * @param ContainerBuilder $container
-     * @param array            $configs
-     *
-     * @return array
-     */
-    private function initializeExtensions(ContainerBuilder $container, array $configs)
-    {
-        foreach ($configs as $i => $config) {
-            if (isset($config['extensions'])) {
-                foreach ($config['extensions'] as $extensionLocator => $extensionConfig) {
-                    $extension = $this->extensionManager->activateExtension($extensionLocator);
-                    $configs[$i][$extension->getConfigKey()] = $extensionConfig;
-                }
-
-                unset($configs[$i]['extensions']);
-            }
-        }
-
-        $this->extensionManager->initializeExtensions();
-
-        $container->setParameter('extensions', $this->extensionManager->getExtensionClasses());
-
-        return $configs;
-    }
-
-    /**
-     * Loads all extensions into container using provided config.
-     *
-     * @param ContainerBuilder $container
-     * @param array            $config
-     *
-     * @throws ExtensionException
-     */
-    private function loadExtensions(ContainerBuilder $container, array $config)
-    {
-        // Load default extensions first
-        foreach ($this->extensionManager->getExtensions() as $extension) {
-            $extensionConfig = array();
-            if (isset($config[$extension->getConfigKey()])) {
-                $extensionConfig = $config[$extension->getConfigKey()];
-                unset($config[$extension->getConfigKey()]);
-            }
-
-            $this->loadExtension($container, $extension, $extensionConfig);
-        }
-
-        // Load activated extensions
-        foreach ($config as $extensionConfigKey => $extensionConfig) {
-            if (null === $extension = $this->extensionManager->getExtension($extensionConfigKey)) {
-                throw new ExtensionException(
-                    sprintf('None of the activated extensions use `%s` config section.', $extensionConfigKey), $extensionConfigKey
-                );
-            }
-
-            $this->loadExtension($container, $extension, $extensionConfig);
-        }
-    }
-
-    /**
-     * Loads extension configuration.
-     *
-     * @param ContainerBuilder $container
-     * @param Extension        $extension
-     * @param array            $config
-     */
-    private function loadExtension(ContainerBuilder $container, Extension $extension, array $config)
-    {
-        $tempContainer = new ContainerBuilder(new ParameterBag(array(
-            'paths.base' => $container->getParameter('paths.base'),
-            'extensions' => $container->getParameter('extensions'),
-        )));
-        $tempContainer->addObjectResource($extension);
-        $extension->load($container, $config);
-        $container->merge($tempContainer);
-        $container->addCompilerPass($extension);
-    }
-}