X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=vendor%2Fbehat%2Fbehat%2Fsrc%2FBehat%2FBehat%2FContext%2FArgument%2FCompositeFactory.php;fp=vendor%2Fbehat%2Fbehat%2Fsrc%2FBehat%2FBehat%2FContext%2FArgument%2FCompositeFactory.php;h=5b3d93f84cd1317c0075c8145ca4428e9a1efc4e;hp=0000000000000000000000000000000000000000;hb=1270d9129ce8f27c9b28b10518e32132c58e0aca;hpb=c27c0f0cdaa3f354b1fe54a56ae7e854be6e3f68 diff --git a/vendor/behat/behat/src/Behat/Behat/Context/Argument/CompositeFactory.php b/vendor/behat/behat/src/Behat/Behat/Context/Argument/CompositeFactory.php new file mode 100644 index 000000000..5b3d93f84 --- /dev/null +++ b/vendor/behat/behat/src/Behat/Behat/Context/Argument/CompositeFactory.php @@ -0,0 +1,54 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Behat\Behat\Context\Argument; + +use Behat\Testwork\Suite\Suite; + +/** + * Composite factory. Delegates to other (registered) factories to do the job. + * + * @see ContextEnvironmentHandler + * + * @author Konstantin Kudryashov + * + * @deprecated and will be removed in 4.0. Use CompositeArgumentResolverFactory instead + */ +final class CompositeFactory implements SuiteScopedResolverFactory +{ + /** + * @var SuiteScopedResolverFactory[] + */ + private $factories = array(); + + /** + * Registers factory. + * + * @param SuiteScopedResolverFactory $factory + */ + public function registerFactory(SuiteScopedResolverFactory $factory) + { + $this->factories[] = $factory; + } + + /** + * {@inheritdoc} + */ + public function generateArgumentResolvers(Suite $suite) + { + return array_reduce( + $this->factories, + function (array $resolvers, SuiteScopedResolverFactory $factory) use ($suite) { + return array_merge($resolvers, $factory->generateArgumentResolvers($suite)); + }, + array() + ); + } +}