Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / vendor / behat / behat / src / Behat / Behat / Transformation / Transformer / RepositoryArgumentTransformer.php
diff --git a/vendor/behat/behat/src/Behat/Behat/Transformation/Transformer/RepositoryArgumentTransformer.php b/vendor/behat/behat/src/Behat/Behat/Transformation/Transformer/RepositoryArgumentTransformer.php
deleted file mode 100644 (file)
index 795f42f..0000000
+++ /dev/null
@@ -1,198 +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\Transformation\Transformer;
-
-use Behat\Behat\Definition\Call\DefinitionCall;
-use Behat\Behat\Definition\Pattern\PatternTransformer;
-use Behat\Behat\Transformation\SimpleArgumentTransformation;
-use Behat\Behat\Transformation\Transformation\PatternTransformation;
-use Behat\Behat\Transformation\RegexGenerator;
-use Behat\Behat\Transformation\Transformation;
-use Behat\Behat\Transformation\TransformationRepository;
-use Behat\Gherkin\Node\ArgumentInterface;
-use Behat\Testwork\Call\CallCenter;
-use Symfony\Component\Translation\TranslatorInterface;
-
-/**
- * Argument transformer based on transformations repository.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-final class RepositoryArgumentTransformer implements ArgumentTransformer, RegexGenerator
-{
-    /**
-     * @var TransformationRepository
-     */
-    private $repository;
-    /**
-     * @var CallCenter
-     */
-    private $callCenter;
-    /**
-     * @var PatternTransformer
-     */
-    private $patternTransformer;
-    /**
-     * @var TranslatorInterface
-     */
-    private $translator;
-
-    /**
-     * Initializes transformer.
-     *
-     * @param TransformationRepository $repository
-     * @param CallCenter               $callCenter
-     * @param PatternTransformer       $patternTransformer
-     * @param TranslatorInterface      $translator
-     */
-    public function __construct(
-        TransformationRepository $repository,
-        CallCenter $callCenter,
-        PatternTransformer $patternTransformer,
-        TranslatorInterface $translator
-    ) {
-        $this->repository = $repository;
-        $this->callCenter = $callCenter;
-        $this->patternTransformer = $patternTransformer;
-        $this->translator = $translator;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function supportsDefinitionAndArgument(DefinitionCall $definitionCall, $argumentIndex, $argumentValue)
-    {
-        return count($this->repository->getEnvironmentTransformations($definitionCall->getEnvironment())) > 0;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function transformArgument(DefinitionCall $definitionCall, $argumentIndex, $argumentValue)
-    {
-        $environment = $definitionCall->getEnvironment();
-        list($simpleTransformations, $normalTransformations) = $this->splitSimpleAndNormalTransformations(
-            $this->repository->getEnvironmentTransformations($environment)
-        );
-
-        $newValue = $this->applySimpleTransformations($simpleTransformations, $definitionCall, $argumentIndex, $argumentValue);
-        $newValue = $this->applyNormalTransformations($normalTransformations, $definitionCall, $argumentIndex, $newValue);
-
-        return $newValue;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function generateRegex($suiteName, $pattern, $language)
-    {
-        $translatedPattern = $this->translator->trans($pattern, array(), $suiteName, $language);
-        if ($pattern == $translatedPattern) {
-            return $this->patternTransformer->transformPatternToRegex($pattern);
-        }
-
-        return $this->patternTransformer->transformPatternToRegex($translatedPattern);
-    }
-
-    /**
-     * Apply simple argument transformations in priority order.
-     *
-     * @param SimpleArgumentTransformation[] $transformations
-     * @param DefinitionCall                 $definitionCall
-     * @param integer|string                 $index
-     * @param mixed                          $value
-     *
-     * @return mixed
-     */
-    private function applySimpleTransformations(array $transformations, DefinitionCall $definitionCall, $index, $value)
-    {
-        usort($transformations, function (SimpleArgumentTransformation $t1, SimpleArgumentTransformation $t2) {
-            if ($t1->getPriority() == $t2->getPriority()) {
-                return 0;
-            }
-
-            return ($t1->getPriority() > $t2->getPriority()) ? -1 : 1;
-        });
-
-        $newValue = $value;
-        foreach ($transformations as $transformation) {
-            $newValue = $this->transform($definitionCall, $transformation, $index, $newValue);
-        }
-
-        return $newValue;
-    }
-
-    /**
-     * Apply normal (non-simple) argument transformations.
-     *
-     * @param Transformation[] $transformations
-     * @param DefinitionCall   $definitionCall
-     * @param integer|string   $index
-     * @param mixed            $value
-     *
-     * @return mixed
-     */
-    private function applyNormalTransformations(array $transformations, DefinitionCall $definitionCall, $index, $value)
-    {
-        $newValue = $value;
-        foreach ($transformations as $transformation) {
-            $newValue = $this->transform($definitionCall, $transformation, $index, $newValue);
-        }
-
-        return $newValue;
-    }
-
-    /**
-     * Transforms argument value using registered transformers.
-     *
-     * @param Transformation $transformation
-     * @param DefinitionCall $definitionCall
-     * @param integer|string $index
-     * @param mixed          $value
-     *
-     * @return mixed
-     */
-    private function transform(DefinitionCall $definitionCall, Transformation $transformation, $index, $value)
-    {
-        if (is_object($value) && !$value instanceof ArgumentInterface) {
-            return $value;
-        }
-
-        if ($transformation instanceof SimpleArgumentTransformation &&
-            $transformation->supportsDefinitionAndArgument($definitionCall, $index, $value)) {
-            return $transformation->transformArgument($this->callCenter, $definitionCall, $index, $value);
-        }
-
-        if ($transformation instanceof PatternTransformation &&
-            $transformation->supportsDefinitionAndArgument($this, $definitionCall, $value)) {
-            return $transformation->transformArgument($this, $this->callCenter, $definitionCall, $value);
-        }
-
-        return $value;
-    }
-
-    /**
-     * Splits transformations into simple and normal ones.
-     *
-     * @param Transformation[] $transformations
-     *
-     * @return array
-     */
-    private function splitSimpleAndNormalTransformations(array $transformations)
-    {
-        return array_reduce($transformations, function ($acc, $t) {
-            return array(
-                $t instanceof SimpleArgumentTransformation ? array_merge($acc[0], array($t)) : $acc[0],
-                !$t instanceof SimpleArgumentTransformation ? array_merge($acc[1], array($t)) : $acc[1],
-            );
-        }, array(array(), array()));
-    }
-}