3 namespace Drupal\Console\Test;
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;
13 abstract class BaseTestCase extends \PHPUnit_Framework_TestCase
20 * @var \Symfony\Component\Console\Helper\HelperSet
24 protected function setup()
26 $this->setUpTemporaryDirectory();
29 public function setUpTemporaryDirectory()
31 $this->dir = sys_get_temp_dir() . "/modules";
34 public function getHelperSet($input = null)
36 if (!$this->helperSet) {
37 $stringHelper = $this->getMockBuilder('Drupal\Console\Helper\StringHelper')
38 ->disableOriginalConstructor()
39 ->setMethods(['createMachineName'])
42 $stringHelper->expects($this->any())
43 ->method('createMachineName')
44 ->will($this->returnArgument(0));
46 $validator = $this->getMockBuilder('Drupal\Console\Helper\ValidatorHelper')
47 ->disableOriginalConstructor()
48 ->setMethods(['validateModuleName'])
51 $validator->expects($this->any())
52 ->method('validateModuleName')
53 ->will($this->returnArgument(0));
55 $translator = $this->getTranslatorHelper();
58 ->getMockBuilder('Drupal\Console\Helper\ChainCommandHelper')
59 ->disableOriginalConstructor()
60 ->setMethods(['addCommand', 'getCommands'])
64 ->getMockBuilder('Drupal\Console\Helper\DrupalHelper')
65 ->setMethods(['isBootable', 'getDrupalRoot'])
69 ->getMockBuilder('Drupal\Console\Helper\SiteHelper')
70 ->disableOriginalConstructor()
71 ->setMethods(['setModulePath', 'getModulePath'])
74 $siteHelper->expects($this->any())
75 ->method('getModulePath')
76 ->will($this->returnValue($this->dir));
78 $consoleRoot = __DIR__.'/../';
79 $container = new ContainerBuilder();
80 $loader = new YamlFileLoader($container, new FileLocator($consoleRoot));
81 $loader->load('services.yml');
83 $this->helperSet = new HelperSet(
85 'renderer' => new TwigRendererHelper(),
86 'string' => $stringHelper,
87 'validator' => $validator,
88 'translator' => $translator,
89 'site' => $siteHelper,
92 'container' => new ContainerHelper($container),
97 return $this->helperSet;
100 protected function getInputStream($input)
102 $stream = fopen('php://memory', 'r+', false);
103 fputs($stream, $input . str_repeat("\n", 10));
109 public function getTranslatorHelper()
111 $translatorHelper = $this
112 ->getMockBuilder('Drupal\Console\Helper\TranslatorHelper')
113 ->disableOriginalConstructor()
114 ->setMethods(['loadResource', 'trans', 'getMessagesByModule', 'writeTranslationsByModule'])
117 $translatorHelper->expects($this->any())
118 ->method('getMessagesByModule')
119 ->will($this->returnValue([]));
121 return $translatorHelper;