Yaffs site version 1.1
[yaffs-website] / vendor / drupal / console / Test / BaseTestCase.php
1 <?php
2
3 namespace Drupal\Console\Test;
4
5 use Symfony\Component\Console\Helper\HelperSet;
6 use Drupal\Console\Helper\TwigRendererHelper;
7 use Drupal\Console\Helper\HelperTrait;
8 use Symfony\Component\Config\FileLocator;
9 use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
10 use Symfony\Component\DependencyInjection\ContainerBuilder;
11 use Drupal\Console\Helper\ContainerHelper;
12
13 abstract class BaseTestCase extends \PHPUnit_Framework_TestCase
14 {
15     use HelperTrait;
16
17     public $dir;
18
19     /**
20      * @var \Symfony\Component\Console\Helper\HelperSet
21      */
22     protected $helperSet;
23
24     protected function setup()
25     {
26         $this->setUpTemporaryDirectory();
27     }
28
29     public function setUpTemporaryDirectory()
30     {
31         $this->dir = sys_get_temp_dir() . "/modules";
32     }
33
34     public function getHelperSet($input = null)
35     {
36         if (!$this->helperSet) {
37             $stringHelper = $this->getMockBuilder('Drupal\Console\Helper\StringHelper')
38                 ->disableOriginalConstructor()
39                 ->setMethods(['createMachineName'])
40                 ->getMock();
41
42             $stringHelper->expects($this->any())
43                 ->method('createMachineName')
44                 ->will($this->returnArgument(0));
45
46             $validator = $this->getMockBuilder('Drupal\Console\Helper\ValidatorHelper')
47                 ->disableOriginalConstructor()
48                 ->setMethods(['validateModuleName'])
49                 ->getMock();
50
51             $validator->expects($this->any())
52                 ->method('validateModuleName')
53                 ->will($this->returnArgument(0));
54
55             $translator = $this->getTranslatorHelper();
56
57             $chain = $this
58                 ->getMockBuilder('Drupal\Console\Helper\ChainCommandHelper')
59                 ->disableOriginalConstructor()
60                 ->setMethods(['addCommand', 'getCommands'])
61                 ->getMock();
62
63             $drupal = $this
64                 ->getMockBuilder('Drupal\Console\Helper\DrupalHelper')
65                 ->setMethods(['isBootable', 'getDrupalRoot'])
66                 ->getMock();
67
68             $siteHelper = $this
69                 ->getMockBuilder('Drupal\Console\Helper\SiteHelper')
70                 ->disableOriginalConstructor()
71                 ->setMethods(['setModulePath', 'getModulePath'])
72                 ->getMock();
73
74             $siteHelper->expects($this->any())
75                 ->method('getModulePath')
76                 ->will($this->returnValue($this->dir));
77
78             $consoleRoot = __DIR__.'/../';
79             $container = new ContainerBuilder();
80             $loader = new YamlFileLoader($container, new FileLocator($consoleRoot));
81             $loader->load('services.yml');
82
83             $this->helperSet = new HelperSet(
84                 [
85                     'renderer' => new TwigRendererHelper(),
86                     'string' => $stringHelper,
87                     'validator' => $validator,
88                     'translator' => $translator,
89                     'site' => $siteHelper,
90                     'chain' => $chain,
91                     'drupal' => $drupal,
92                     'container' => new ContainerHelper($container),
93                 ]
94             );
95         }
96
97         return $this->helperSet;
98     }
99
100     protected function getInputStream($input)
101     {
102         $stream = fopen('php://memory', 'r+', false);
103         fputs($stream, $input . str_repeat("\n", 10));
104         rewind($stream);
105
106         return $stream;
107     }
108
109     public function getTranslatorHelper()
110     {
111         $translatorHelper = $this
112             ->getMockBuilder('Drupal\Console\Helper\TranslatorHelper')
113             ->disableOriginalConstructor()
114             ->setMethods(['loadResource', 'trans', 'getMessagesByModule', 'writeTranslationsByModule'])
115             ->getMock();
116
117         $translatorHelper->expects($this->any())
118             ->method('getMessagesByModule')
119             ->will($this->returnValue([]));
120
121         return $translatorHelper;
122     }
123 }