Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / vendor / behat / behat / src / Behat / Behat / Context / Environment / Handler / ContextEnvironmentHandler.php
diff --git a/vendor/behat/behat/src/Behat/Behat/Context/Environment/Handler/ContextEnvironmentHandler.php b/vendor/behat/behat/src/Behat/Behat/Context/Environment/Handler/ContextEnvironmentHandler.php
deleted file mode 100644 (file)
index d686400..0000000
+++ /dev/null
@@ -1,194 +0,0 @@
-<?php
-
-/*
- * This file is part of the Behat.
- * (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\Behat\Context\Environment\Handler;
-
-use Behat\Behat\Context\Argument\SuiteScopedResolverFactory;
-use Behat\Behat\Context\Argument\SuiteScopedResolverFactoryAdapter;
-use Behat\Behat\Context\Argument\ArgumentResolverFactory;
-use Behat\Behat\Context\Argument\NullFactory;
-use Behat\Behat\Context\ContextClass\ClassResolver;
-use Behat\Behat\Context\ContextFactory;
-use Behat\Behat\Context\Environment\InitializedContextEnvironment;
-use Behat\Behat\Context\Environment\UninitializedContextEnvironment;
-use Behat\Testwork\Environment\Environment;
-use Behat\Testwork\Environment\Exception\EnvironmentIsolationException;
-use Behat\Testwork\Environment\Handler\EnvironmentHandler;
-use Behat\Testwork\Suite\Exception\SuiteConfigurationException;
-use Behat\Testwork\Suite\Suite;
-
-/**
- * Handles build and initialisation of the context-based environments.
- *
- * @see ContextFactory
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-final class ContextEnvironmentHandler implements EnvironmentHandler
-{
-    /**
-     * @var ContextFactory
-     */
-    private $contextFactory;
-    /**
-     * @var ArgumentResolverFactory
-     */
-    private $resolverFactory;
-    /**
-     * @var ClassResolver[]
-     */
-    private $classResolvers = array();
-
-    /**
-     * Initializes handler.
-     *
-     * @param ContextFactory                                     $factory
-     * @param ArgumentResolverFactory|SuiteScopedResolverFactory $resolverFactory
-     */
-    public function __construct(ContextFactory $factory, $resolverFactory = null)
-    {
-        $this->contextFactory = $factory;
-
-        if ($resolverFactory && !$resolverFactory instanceof ArgumentResolverFactory) {
-            $resolverFactory = new SuiteScopedResolverFactoryAdapter($resolverFactory);
-        }
-
-        $this->resolverFactory = $resolverFactory ?: new NullFactory();
-    }
-
-    /**
-     * Registers context class resolver.
-     *
-     * @param ClassResolver $resolver
-     */
-    public function registerClassResolver(ClassResolver $resolver)
-    {
-        $this->classResolvers[] = $resolver;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function supportsSuite(Suite $suite)
-    {
-        return $suite->hasSetting('contexts');
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function buildEnvironment(Suite $suite)
-    {
-        $environment = new UninitializedContextEnvironment($suite);
-        foreach ($this->getNormalizedContextSettings($suite) as $context) {
-            $environment->registerContextClass($this->resolveClass($context[0]), $context[1]);
-        }
-
-        return $environment;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function supportsEnvironmentAndSubject(Environment $environment, $testSubject = null)
-    {
-        return $environment instanceof UninitializedContextEnvironment;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isolateEnvironment(Environment $uninitializedEnvironment, $testSubject = null)
-    {
-        if (!$uninitializedEnvironment instanceof UninitializedContextEnvironment) {
-            throw new EnvironmentIsolationException(sprintf(
-                'ContextEnvironmentHandler does not support isolation of `%s` environment.',
-                get_class($uninitializedEnvironment)
-            ), $uninitializedEnvironment);
-        }
-
-        $environment = new InitializedContextEnvironment($uninitializedEnvironment->getSuite());
-        $resolvers = $this->resolverFactory->createArgumentResolvers($environment);
-
-        foreach ($uninitializedEnvironment->getContextClassesWithArguments() as $class => $arguments) {
-            $context = $this->contextFactory->createContext($class, $arguments, $resolvers);
-            $environment->registerContext($context);
-        }
-
-        return $environment;
-    }
-
-    /**
-     * Returns normalized suite context settings.
-     *
-     * @param Suite $suite
-     *
-     * @return array
-     */
-    private function getNormalizedContextSettings(Suite $suite)
-    {
-        return array_map(
-            function ($context) {
-                $class = $context;
-                $arguments = array();
-
-                if (is_array($context)) {
-                    $class = current(array_keys($context));
-                    $arguments = $context[$class];
-                }
-
-                return array($class, $arguments);
-            },
-            $this->getSuiteContexts($suite)
-        );
-    }
-
-    /**
-     * Returns array of context classes configured for the provided suite.
-     *
-     * @param Suite $suite
-     *
-     * @return string[]
-     *
-     * @throws SuiteConfigurationException If `contexts` setting is not an array
-     */
-    private function getSuiteContexts(Suite $suite)
-    {
-        if (!is_array($suite->getSetting('contexts'))) {
-            throw new SuiteConfigurationException(
-                sprintf('`contexts` setting of the "%s" suite is expected to be an array, %s given.',
-                    $suite->getName(),
-                    gettype($suite->getSetting('contexts'))
-                ),
-                $suite->getName()
-            );
-        }
-
-        return $suite->getSetting('contexts');
-    }
-
-    /**
-     * Resolves class using registered class resolvers.
-     *
-     * @param string $class
-     *
-     * @return string
-     */
-    private function resolveClass($class)
-    {
-        foreach ($this->classResolvers as $resolver) {
-            if ($resolver->supportsClass($class)) {
-                return $resolver->resolveClass($class);
-            }
-        }
-
-        return $class;
-    }
-}