Security update for permissions_by_term
[yaffs-website] / vendor / behat / behat / src / Behat / Behat / Definition / DefinitionWriter.php
1 <?php
2
3 /*
4  * This file is part of the Behat.
5  * (c) Konstantin Kudryashov <ever.zet@gmail.com>
6  *
7  * For the full copyright and license information, please view the LICENSE
8  * file that was distributed with this source code.
9  */
10
11 namespace Behat\Behat\Definition;
12
13 use Behat\Behat\Definition\Printer\DefinitionPrinter;
14 use Behat\Testwork\Environment\EnvironmentManager;
15 use Behat\Testwork\Suite\Suite;
16
17 /**
18  * Prints definitions using provided printer.
19  *
20  * @author Konstantin Kudryashov <ever.zet@gmail.com>
21  */
22 final class DefinitionWriter
23 {
24     /**
25      * @var EnvironmentManager
26      */
27     private $environmentManager;
28     /**
29      * @var DefinitionRepository
30      */
31     private $repository;
32
33     /**
34      * Initializes writer.
35      *
36      * @param EnvironmentManager   $environmentManager
37      * @param DefinitionRepository $repository
38      */
39     public function __construct(EnvironmentManager $environmentManager, DefinitionRepository $repository)
40     {
41         $this->environmentManager = $environmentManager;
42         $this->repository = $repository;
43     }
44
45     /**
46      * Prints definitions for provided suite using printer.
47      *
48      * @param DefinitionPrinter $printer
49      * @param Suite             $suite
50      */
51     public function printSuiteDefinitions(DefinitionPrinter $printer, $suite)
52     {
53         $environment = $this->environmentManager->buildEnvironment($suite);
54         $definitions = $this->repository->getEnvironmentDefinitions($environment);
55
56         $printer->printDefinitions($suite, $definitions);
57     }
58 }