Update Composer, update everything

This commit is contained in:
Oliver Davies 2018-11-23 12:29:20 +00:00
parent ea3e94409f
commit dda5c284b6
19527 changed files with 1135420 additions and 351004 deletions

View file

@ -0,0 +1,123 @@
<?php
namespace Drupal\Console\Test;
use Symfony\Component\Console\Helper\HelperSet;
use Drupal\Console\Helper\TwigRendererHelper;
use Drupal\Console\Helper\HelperTrait;
use Symfony\Component\Config\FileLocator;
use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Drupal\Console\Helper\ContainerHelper;
abstract class BaseTestCase extends \PHPUnit_Framework_TestCase
{
use HelperTrait;
public $dir;
/**
* @var \Symfony\Component\Console\Helper\HelperSet
*/
protected $helperSet;
protected function setup()
{
$this->setUpTemporaryDirectory();
}
public function setUpTemporaryDirectory()
{
$this->dir = sys_get_temp_dir() . "/modules";
}
public function getHelperSet($input = null)
{
if (!$this->helperSet) {
$stringHelper = $this->getMockBuilder('Drupal\Console\Helper\StringHelper')
->disableOriginalConstructor()
->setMethods(['createMachineName'])
->getMock();
$stringHelper->expects($this->any())
->method('createMachineName')
->will($this->returnArgument(0));
$validator = $this->getMockBuilder('Drupal\Console\Helper\ValidatorHelper')
->disableOriginalConstructor()
->setMethods(['validateModuleName'])
->getMock();
$validator->expects($this->any())
->method('validateModuleName')
->will($this->returnArgument(0));
$translator = $this->getTranslatorHelper();
$chain = $this
->getMockBuilder('Drupal\Console\Helper\ChainCommandHelper')
->disableOriginalConstructor()
->setMethods(['addCommand', 'getCommands'])
->getMock();
$drupal = $this
->getMockBuilder('Drupal\Console\Helper\DrupalHelper')
->setMethods(['isBootable', 'getDrupalRoot'])
->getMock();
$siteHelper = $this
->getMockBuilder('Drupal\Console\Helper\SiteHelper')
->disableOriginalConstructor()
->setMethods(['setModulePath', 'getModulePath'])
->getMock();
$siteHelper->expects($this->any())
->method('getModulePath')
->will($this->returnValue($this->dir));
$consoleRoot = __DIR__.'/../';
$container = new ContainerBuilder();
$loader = new YamlFileLoader($container, new FileLocator($consoleRoot));
$loader->load('services.yml');
$this->helperSet = new HelperSet(
[
'renderer' => new TwigRendererHelper(),
'string' => $stringHelper,
'validator' => $validator,
'translator' => $translator,
'site' => $siteHelper,
'chain' => $chain,
'drupal' => $drupal,
'container' => new ContainerHelper($container),
]
);
}
return $this->helperSet;
}
protected function getInputStream($input)
{
$stream = fopen('php://memory', 'r+', false);
fputs($stream, $input . str_repeat("\n", 10));
rewind($stream);
return $stream;
}
public function getTranslatorHelper()
{
$translatorHelper = $this
->getMockBuilder('Drupal\Console\Helper\TranslatorHelper')
->disableOriginalConstructor()
->setMethods(['loadResource', 'trans', 'getMessagesByModule', 'writeTranslationsByModule'])
->getMock();
$translatorHelper->expects($this->any())
->method('getMessagesByModule')
->will($this->returnValue([]));
return $translatorHelper;
}
}

View file

@ -0,0 +1,71 @@
<?php
/**
* @file
* Contains \Drupal\Console\Test\Command\GeneratorServiceCommandTest.
*/
namespace Drupal\Console\Test\Command\Generate;
use Drupal\Console\Command\Generate\ServiceCommand;
use Symfony\Component\Console\Tester\CommandTester;
use Drupal\Console\Test\DataProvider\ServiceDataProviderTrait;
use Drupal\Console\Test\Command\GenerateCommandTest;
class ServiceCommandTest extends GenerateCommandTest
{
use ServiceDataProviderTrait;
/**
* Service generator test
*
* @param $module
* @param $name
* @param $class
* @param $interface
* @param $services
* @param $path_service
*
* @dataProvider commandData
*/
public function testGenerateService(
$module,
$name,
$class,
$interface,
$services,
$path_service
) {
$command = new ServiceCommand($this->getHelperSet());
$command->setHelperSet($this->getHelperSet());
$command->setGenerator($this->getGenerator());
$commandTester = new CommandTester($command);
$this->markTestIncomplete(
'This test has not been implemented yet.'
);
$code = $commandTester->execute(
[
'--module' => $module,
'--name' => $name,
'--class' => $class,
'--interface' => $interface,
'--services' => $services,
'--path_service' => $path_service,
],
['interactive' => false]
);
$this->assertEquals(0, $code);
}
private function getGenerator()
{
return $this
->getMockBuilder('Drupal\Console\Generator\ServiceGenerator')
->disableOriginalConstructor()
->setMethods(['generate'])
->getMock();
}
}

View file

@ -0,0 +1,19 @@
<?php
namespace Drupal\Console\Test\Command;
use Symfony\Component\DependencyInjection\Container;
use Drupal\Console\Test\BaseTestCase;
abstract class GenerateCommandTest extends BaseTestCase
{
/**
* @return \Symfony\Component\DependencyInjection\ContainerInterface Drupal container
*/
protected function getContainer()
{
$container = new Container();
$container->set('twig', new \Twig_Environment());
return $container;
}
}

View file

@ -0,0 +1,57 @@
<?php
/**
* @file
* Contains \Drupal\Console\Test\Command\GenerateEntityBundleCommandTest.
*/
namespace Drupal\Console\Test\Command;
use Drupal\Console\Command\Generate\EntityBundleCommand;
use Symfony\Component\Console\Tester\CommandTester;
use Drupal\Console\Test\DataProvider\EntityBundleDataProviderTrait;
class GenerateEntityBundleCommandTest extends GenerateCommandTest
{
use EntityBundleDataProviderTrait;
/**
* ContentType generator test
*
* @param $module
* @param $bundle_name
* @param $bundle_title
*
* @dataProvider commandData
*/
public function testGenerateContentType(
$module,
$bundle_name,
$bundle_title
) {
$command = new EntityBundleCommand($this->getHelperSet());
$command->setHelperSet($this->getHelperSet());
$command->setGenerator($this->getGenerator());
$commandTester = new CommandTester($command);
$code = $commandTester->execute(
[
'--module' => $module,
'--bundle-name' => $bundle_name,
'--bundle-title' => $bundle_title
],
['interactive' => false]
);
$this->assertEquals(0, $code);
}
private function getGenerator()
{
return $this
->getMockBuilder('Drupal\Console\Generator\EntityBundleGenerator')
->disableOriginalConstructor()
->setMethods(['generate'])
->getMock();
}
}

View file

@ -0,0 +1,54 @@
<?php
/**
* @file
* Contains \Drupal\Console\Test\Command\GeneratorAuthenticationProviderCommandTest.
*/
namespace Drupal\Console\Test\Command;
use Drupal\Console\Command\Generate\AuthenticationProviderCommand;
use Symfony\Component\Console\Tester\CommandTester;
use Drupal\Console\Test\DataProvider\AuthenticationProviderDataProviderTrait;
class GeneratorAuthenticationProviderCommandTest extends GenerateCommandTest
{
use AuthenticationProviderDataProviderTrait;
/**
* AuthenticationProvider generator test
*
* @param $module
* @param $class
*
* @dataProvider commandData
*/
public function testGenerateAuthenticationProvider(
$module,
$class
) {
$command = new AuthenticationProviderCommand($this->getHelperSet());
$command->setHelperSet($this->getHelperSet());
$command->setGenerator($this->getGenerator());
$commandTester = new CommandTester($command);
$code = $commandTester->execute(
[
'--module' => $module,
'--class' => $class
],
['interactive' => false]
);
$this->assertEquals(0, $code);
}
private function getGenerator()
{
return $this
->getMockBuilder('Drupal\Console\Generator\AuthenticationProviderGenerator')
->disableOriginalConstructor()
->setMethods(['generate'])
->getMock();
}
}

View file

@ -0,0 +1,60 @@
<?php
/**
* @file
* Contains \Drupal\Console\Test\Command\GeneratorCommandCommandTest.
*/
namespace Drupal\Console\Test\Command;
use Drupal\Console\Command\Generate\CommandCommand;
use Symfony\Component\Console\Tester\CommandTester;
use Drupal\Console\Test\DataProvider\CommandDataProviderTrait;
class GeneratorCommandCommandTest extends GenerateCommandTest
{
use CommandDataProviderTrait;
/**
* Command generator test
*
* @param $module
* @param $name
* @param $class
* @param $containerAware
*
* @dataProvider commandData
*/
public function testGenerateCommand(
$module,
$name,
$class,
$containerAware
) {
$command = new CommandCommand($this->getHelperSet());
$command->setHelperSet($this->getHelperSet());
$command->setGenerator($this->getGenerator());
$commandTester = new CommandTester($command);
$code = $commandTester->execute(
[
'--module' => $module,
'--name' => $name,
'--class' => $class,
'--container-aware' => $containerAware
],
['interactive' => false]
);
$this->assertEquals(0, $code);
}
private function getGenerator()
{
return $this
->getMockBuilder('Drupal\Console\Generator\CommandGenerator')
->disableOriginalConstructor()
->setMethods(['generate'])
->getMock();
}
}

View file

@ -0,0 +1,65 @@
<?php
/**
* @file
* Contains \Drupal\Console\Test\Command\GeneratorConfigFormBaseCommandTest.
*/
namespace Drupal\Console\Test\Command;
use Drupal\Console\Command\Generate\ConfigFormBaseCommand;
use Symfony\Component\Console\Tester\CommandTester;
use Drupal\Console\Test\DataProvider\ConfigFormBaseDataProviderTrait;
class GeneratorConfigFormBaseCommandTest extends GenerateCommandTest
{
use ConfigFormBaseDataProviderTrait;
/**
* ConfigFormBase generator test
*
* @param $module
* @param $class_name
* @param $form_id
* @param $services
* @param $inputs
* @param $routing
*
* @dataProvider commandData
*/
public function testGenerateConfigFormBase(
$module,
$class_name,
$form_id,
$services,
$inputs,
$routing
) {
$command = new ConfigFormBaseCommand($this->getHelperSet());
$command->setHelperSet($this->getHelperSet());
$command->setGenerator($this->getGenerator());
$commandTester = new CommandTester($command);
$code = $commandTester->execute(
[
'--module' => $module,
'--class' => $class_name,
'--form-id' => $form_id,
'--services' => $services,
'--inputs' => $inputs
],
['interactive' => false]
);
$this->assertEquals(0, $code);
}
private function getGenerator()
{
return $this
->getMockBuilder('Drupal\Console\Generator\FormGenerator')
->disableOriginalConstructor()
->setMethods(['generate'])
->getMock();
}
}

View file

@ -0,0 +1,63 @@
<?php
/**
* @file
* Contains \Drupal\Console\Test\Command\GeneratorControllerCommandTest.
*/
namespace Drupal\Console\Test\Command;
use Drupal\Console\Command\Generate\ControllerCommand;
use Symfony\Component\Console\Tester\CommandTester;
use Drupal\Console\Test\DataProvider\ControllerDataProviderTrait;
class GeneratorControllerCommandTest extends GenerateCommandTest
{
use ControllerDataProviderTrait;
/**
* Controller generator test
*
* @param $module
* @param $class_name
* @param $routes
* @param $test
* @param $services
*
* @dataProvider commandData
*/
public function testGenerateController(
$module,
$class_name,
$routes,
$test,
$services
) {
$command = new ControllerCommand($this->getHelperSet());
$command->setHelperSet($this->getHelperSet());
$command->setGenerator($this->getGenerator());
$commandTester = new CommandTester($command);
$code = $commandTester->execute(
[
'--module' => $module,
'--class' => $class_name,
'--routes' => $routes,
'--test' => $test,
'--services' => $services,
],
['interactive' => false]
);
$this->assertEquals(0, $code);
}
private function getGenerator()
{
return $this
->getMockBuilder('Drupal\Console\Generator\ControllerGenerator')
->disableOriginalConstructor()
->setMethods(['generate'])
->getMock();
}
}

View file

@ -0,0 +1,60 @@
<?php
/**
* @file
* Contains \Drupal\Console\Test\Command\GeneratorEntityCommandTest.
*/
namespace Drupal\Console\Test\Command;
use Drupal\Console\Command\Generate\EntityConfigCommand;
use Symfony\Component\Console\Tester\CommandTester;
use Drupal\Console\Test\DataProvider\EntityDataProviderTrait;
class GeneratorEntityCommandTest extends GenerateCommandTest
{
use EntityDataProviderTrait;
/**
* EntityConfig generator test
*
* @param $module
* @param $entity_class
* @param $entity_name
* @param $label
*
* @dataProvider commandData
*/
public function testGenerateEntityConfig(
$module,
$entity_class,
$entity_name,
$label
) {
$command = new EntityConfigCommand($this->getHelperSet());
$command->setHelperSet($this->getHelperSet());
$command->setGenerator($this->getGenerator());
$commandTester = new CommandTester($command);
$code = $commandTester->execute(
[
'--module' => $module,
'--entity-class' => $entity_class,
'--entity-name' => $entity_name,
'--label' => $label
],
['interactive' => false]
);
$this->assertEquals(0, $code);
}
private function getGenerator()
{
return $this
->getMockBuilder('Drupal\Console\Generator\EntityConfigGenerator')
->disableOriginalConstructor()
->setMethods(['generate'])
->getMock();
}
}

View file

@ -0,0 +1,63 @@
<?php
/**
* @file
* Contains \Drupal\Console\Test\Command\GeneratorEntityConfigCommandTest.
*/
namespace Drupal\Console\Test\Command;
use Drupal\Console\Command\Generate\EntityConfigCommand;
use Symfony\Component\Console\Tester\CommandTester;
use Drupal\Console\Test\DataProvider\EntityConfigDataProviderTrait;
class GeneratorEntityConfigCommandTest extends GenerateCommandTest
{
use EntityConfigDataProviderTrait;
/**
* EntityConfig generator test
*
* @param $module
* @param $entity_name
* @param $entity_class
* @param $label
* @param $base_path
*
* @dataProvider commandData
*/
public function testGenerateEntityConfig(
$module,
$entity_name,
$entity_class,
$label,
$base_path
) {
$command = new EntityConfigCommand($this->getHelperSet());
$command->setHelperSet($this->getHelperSet());
$command->setGenerator($this->getGenerator());
$commandTester = new CommandTester($command);
$code = $commandTester->execute(
[
'--module' => $module,
'--entity-name' => $entity_name,
'--entity-class' => $entity_class,
'--label' => $label,
'--base-path' => $base_path,
],
['interactive' => false]
);
$this->assertEquals(0, $code);
}
private function getGenerator()
{
return $this
->getMockBuilder('Drupal\Console\Generator\EntityConfigGenerator')
->disableOriginalConstructor()
->setMethods(['generate'])
->getMock();
}
}

View file

@ -0,0 +1,63 @@
<?php
/**
* @file
* Contains \Drupal\Console\Test\Command\GeneratorEntityContentCommandTest.
*/
namespace Drupal\Console\Test\Command;
use Drupal\Console\Command\Generate\EntityContentCommand;
use Symfony\Component\Console\Tester\CommandTester;
use Drupal\Console\Test\DataProvider\EntityContentDataProviderTrait;
class GeneratorEntityContentCommandTest extends GenerateCommandTest
{
use EntityContentDataProviderTrait;
/**
* EntityContent generator test
*
* @param $module
* @param $entity_name
* @param $entity_class
* @param $label
* @param $base_path
*
* @dataProvider commandData
*/
public function testGenerateEntityContent(
$module,
$entity_name,
$entity_class,
$label,
$base_path
) {
$command = new EntityContentCommand($this->getHelperSet());
$command->setHelperSet($this->getHelperSet());
$command->setGenerator($this->getGenerator());
$commandTester = new CommandTester($command);
$code = $commandTester->execute(
[
'--module' => $module,
'--entity-name' => $entity_name,
'--entity-class' => $entity_class,
'--label' => $label,
'--base-path' => $base_path,
],
['interactive' => false]
);
$this->assertEquals(0, $code);
}
private function getGenerator()
{
return $this
->getMockBuilder('Drupal\Console\Generator\EntityContentGenerator')
->disableOriginalConstructor()
->setMethods(['generate'])
->getMock();
}
}

View file

@ -0,0 +1,74 @@
<?php
/**
* @file
* Contains \Drupal\Console\Test\Command\GeneratorFormCommandTest.
*/
namespace Drupal\Console\Test\Command;
use Drupal\Console\Command\Generate\FormCommand;
use Symfony\Component\Console\Tester\CommandTester;
use Drupal\Console\Test\DataProvider\FormDataProviderTrait;
class GeneratorFormCommandTest extends GenerateCommandTest
{
use FormDataProviderTrait;
/**
* Form generator test
*
* @param $module
* @param $class_name
* @param $services
* @param $inputs
* @param $form_id
* @param $routing_update
*
* @dataProvider commandData
*/
public function testGenerateForm(
$module,
$class_name,
$form_id,
$services,
$inputs,
$routing_update
) {
$command = $this->getGeneratorConfig();
$command->setHelperSet($this->getHelperSet(null));
$command->setGenerator($this->getGenerator());
$commandTester = new CommandTester($command);
$code = $commandTester->execute(
[
'--module' => $module,
'--class' => $class_name,
'--services' => $services,
'--inputs' => $inputs,
'--form-id' => $form_id
],
['interactive' => false]
);
$this->assertEquals(0, $code);
}
private function getGeneratorConfig()
{
return $this
->getMockBuilder('Drupal\Console\Command\Generate\ConfigFormBaseCommand')
->setMethods(['getModules', 'getServices', '__construct'])
->setConstructorArgs([$this->getHelperSet()])
->getMock();
}
private function getGenerator()
{
return $this
->getMockBuilder('Drupal\Console\Generator\FormGenerator')
->disableOriginalConstructor()
->setMethods(['generate'])
->getMock();
}
}

View file

@ -0,0 +1,55 @@
<?php
/**
* @file
* Contains \Drupal\Console\Test\Command\GeneratorJsTestCommandTest.
*/
namespace Drupal\Console\Test\Command;
use Drupal\Console\Command\Generate\JsTestCommand;
use Symfony\Component\Console\Tester\CommandTester;
use Drupal\Console\Test\DataProvider\JsTestDataProviderTrait;
class GeneratorJsTestCommandTest extends GenerateCommandTest
{
use JsTestDataProviderTrait;
/**
* JavaScript test command test
*
* @param $module
* @param $class_name
*
* @dataProvider commandData
*/
public function testCommandJsTest(
$module,
$class_name
) {
$command = new JsTestCommand($this->getHelperSet());
$command->setHelperSet($this->getHelperSet());
$command->setGenerator($this->getGenerator());
$commandTester = new CommandTester($command);
$code = $commandTester->execute(
[
'--module' => $module,
'--class' => $class_name,
],
['interactive' => false]
);
$this->assertEquals(0, $code);
}
private function getGenerator()
{
return $this
->getMockBuilder('Drupal\Console\Generator\JsTestGenerator')
->disableOriginalConstructor()
->setMethods(['generate'])
->getMock();
}
}

View file

@ -0,0 +1,75 @@
<?php
/**
* @file
* Contains \Drupal\Console\Test\Command\GeneratorModuleCommandTest.
*/
namespace Drupal\Console\Test\Command;
use Drupal\Console\Command\Generate\ModuleCommand;
use Symfony\Component\Console\Tester\CommandTester;
use Drupal\Console\Test\DataProvider\ModuleDataProviderTrait;
class GeneratorModuleCommandTest extends GenerateCommandTest
{
use ModuleDataProviderTrait;
/**
* Module generator test
*
* @param $module
* @param $machine_name
* @param $module_path
* @param $description
* @param $core
* @param $package
* @param $featuresBundle
* @param $composer
* @param $dependencies
*
* @dataProvider commandData
*/
public function testGenerateModule(
$module,
$machine_name,
$module_path,
$description,
$core,
$package,
$featuresBundle,
$composer,
$dependencies
) {
$command = new ModuleCommand($this->getHelperSet());
$command->setHelperSet($this->getHelperSet());
$command->setGenerator($this->getGenerator());
$commandTester = new CommandTester($command);
$code = $commandTester->execute(
[
'--module' => $module,
'--machine-name' => $machine_name,
'--module-path' => $module_path,
'--description' => $description,
'--core' => $core,
'--package' => $package,
'--features-bundle'=> $featuresBundle,
'--composer' => $composer,
'--dependencies' => $dependencies
],
['interactive' => false]
);
$this->assertEquals(0, $code);
}
private function getGenerator()
{
return $this
->getMockBuilder('Drupal\Console\Generator\ModuleGenerator')
->disableOriginalConstructor()
->setMethods(['generate'])
->getMock();
}
}

View file

@ -0,0 +1,54 @@
<?php
/**
* @file
* Contains \Drupal\Console\Test\Command\GeneratorPermissionCommandTest.
*/
namespace Drupal\Console\Test\Command;
use Drupal\Console\Command\Generate\PermissionCommand;
use Symfony\Component\Console\Tester\CommandTester;
use Drupal\Console\Test\DataProvider\PermissionDataProviderTrait;
class GeneratorPermissionCommandTest extends GenerateCommandTest
{
use PermissionDataProviderTrait;
/**
* Permission generator test
*
* @param $module
* @param $permissions
*
* @dataProvider commandData
*/
public function testGeneratePermission(
$module,
$permissions
) {
$command = new PermissionCommand($this->getHelperSet());
$command->setHelperSet($this->getHelperSet());
$command->setGenerator($this->getGenerator());
$commandTester = new CommandTester($command);
$code = $commandTester->execute(
[
'--module' => $module,
'--permissions' => $permissions,
],
['interactive' => false]
);
$this->assertEquals(0, $code);
}
private function getGenerator()
{
return $this
->getMockBuilder('Drupal\Console\Generator\PermissionGenerator')
->disableOriginalConstructor()
->setMethods(['generate'])
->getMock();
}
}

View file

@ -0,0 +1,68 @@
<?php
/**
* @file
* Contains \Drupal\Console\Test\Command\GeneratorPluginBlockCommandTest.
*/
namespace Drupal\Console\Test\Command;
use Drupal\Console\Command\Generate\PluginBlockCommand;
use Symfony\Component\Console\Tester\CommandTester;
use Drupal\Console\Test\DataProvider\PluginBlockDataProviderTrait;
class GeneratorPluginBlockCommandTest extends GenerateCommandTest
{
use PluginBlockDataProviderTrait;
/**
* Plugin block generator test
*
* @param $module
* @param $class_name
* @param $label
* @param $plugin_id
*
* @dataProvider commandData
*/
public function testGeneratePluginBlock(
$module,
$class_name,
$label,
$plugin_id,
$services,
$inputs
) {
$command = new PluginBlockCommand($this->getHelperSet());
$command->setHelperSet($this->getHelperSet());
$command->setGenerator($this->getGenerator());
$commandTester = new CommandTester($command);
$this->markTestIncomplete(
'This test has not been implemented yet.'
);
$code = $commandTester->execute(
[
'--module' => $module,
'--class' => $class_name,
'--label' => $label,
'--plugin-id' => $plugin_id,
'--services' => $services,
'--inputs' => $inputs
],
['interactive' => false]
);
$this->assertEquals(0, $code);
}
private function getGenerator()
{
return $this
->getMockBuilder('Drupal\Console\Generator\PluginBlockGenerator')
->disableOriginalConstructor()
->setMethods(['generate'])
->getMock();
}
}

View file

@ -0,0 +1,69 @@
<?php
/**
* @file
* Contains \Drupal\Console\Test\Command\GeneratorPluginConditionCommandTest.
*/
namespace Drupal\Console\Test\Command;
use Drupal\Console\Command\Generate\PluginConditionCommand;
use Symfony\Component\Console\Tester\CommandTester;
use Drupal\Console\Test\DataProvider\PluginConditionDataProviderTrait;
class GeneratorPluginConditionCommandTest extends GenerateCommandTest
{
use PluginConditionDataProviderTrait;
/**
* Plugin block generator test
*
* @param $module
* @param $class_name
* @param $label
* @param $plugin_id
* @param $context_definition_id
* @param $context_definition_label
* @param $context_definition_required
*
* @dataProvider commandData
*/
public function testGeneratePluginCondition(
$module,
$class_name,
$label,
$plugin_id,
$context_definition_id,
$context_definition_label,
$context_definition_required
) {
$command = new PluginConditionCommand($this->getHelperSet());
$command->setHelperSet($this->getHelperSet());
$command->setGenerator($this->getGenerator());
$commandTester = new CommandTester($command);
$code = $commandTester->execute(
[
'--module' => $module,
'--class' => $class_name,
'--label' => $label,
'--plugin-id' => $plugin_id,
'--context-definition-id' => $context_definition_id,
'--context-definition-label' => $context_definition_label,
'--context-definition-required' => $context_definition_required
],
['interactive' => false]
);
$this->assertEquals(0, $code);
}
private function getGenerator()
{
return $this
->getMockBuilder('Drupal\Console\Generator\PluginConditionGenerator')
->disableOriginalConstructor()
->setMethods(['generate'])
->getMock();
}
}

View file

@ -0,0 +1,90 @@
<?php
/**
* @file
* Contains \Drupal\Console\Test\Command\GeneratorPluginFieldCommandTest.
*/
namespace Drupal\Console\Test\Command;
use Drupal\Console\Command\Generate\PluginFieldCommand;
use Symfony\Component\Console\Tester\CommandTester;
use Drupal\Console\Test\DataProvider\PluginFieldDataProviderTrait;
class GeneratorPluginFieldCommandTest extends GenerateCommandTest
{
use PluginFieldDataProviderTrait;
/**
* Plugin block generator test
*
* @param $module
* @param $type_class_name
* @param $type_label
* @param $type_plugin_id
* @param $type_description
* @param $formatter_class_name
* @param $formatter_label
* @param $formatter_plugin_id
* @param $widget_class_name
* @param $widget_label
* @param $widget_plugin_id
* @param $field_type
* @param $default_widget
* @param $default_formatter
*
* @dataProvider commandData
*/
public function testGeneratePluginField(
$module,
$type_class_name,
$type_label,
$type_plugin_id,
$type_description,
$formatter_class_name,
$formatter_label,
$formatter_plugin_id,
$widget_class_name,
$widget_label,
$widget_plugin_id,
$field_type,
$default_widget,
$default_formatter
) {
$command = new PluginFieldCommand($this->getHelperSet());
$command->setHelperSet($this->getHelperSet());
$command->setGenerator($this->getGenerator());
$commandTester = new CommandTester($command);
$code = $commandTester->execute(
[
'--module' => $module,
'--type-class' => $type_class_name,
'--type-label' => $type_label,
'--type-plugin-id' => $type_plugin_id,
'--type-description' => $type_description,
'--formatter-class' => $formatter_class_name,
'--formatter-label' => $formatter_label,
'--formatter-plugin-id' => $formatter_plugin_id,
'--widget-class' => $widget_class_name,
'--widget-label' => $widget_label,
'--widget-plugin-id' => $widget_plugin_id,
'--field-type' => $field_type,
'--default-widget' => $default_widget,
'--default-formatter' => $default_formatter
],
['interactive' => false]
);
$this->assertEquals(0, $code);
}
private function getGenerator()
{
return $this
->getMockBuilder('Drupal\Console\Generator\PluginFieldTypeGenerator')
->disableOriginalConstructor()
->setMethods(['generate'])
->getMock();
}
}

View file

@ -0,0 +1,63 @@
<?php
/**
* @file
* Contains \Drupal\Console\Test\Command\GeneratorPluginFieldFormatterCommandTest.
*/
namespace Drupal\Console\Test\Command;
use Drupal\Console\Command\Generate\PluginFieldFormatterCommand;
use Symfony\Component\Console\Tester\CommandTester;
use Drupal\Console\Test\DataProvider\PluginFieldFormatterDataProviderTrait;
class GeneratorPluginFieldFormatterCommandTest extends GenerateCommandTest
{
use PluginFieldFormatterDataProviderTrait;
/**
* Plugin block generator test
*
* @param $module
* @param $class_name
* @param $label
* @param $plugin_id
* @param $field_type
*
* @dataProvider commandData
*/
public function testGeneratePluginFieldFormatter(
$module,
$class_name,
$label,
$plugin_id,
$field_type
) {
$command = new PluginFieldFormatterCommand($this->getHelperSet());
$command->setHelperSet($this->getHelperSet());
$command->setGenerator($this->getGenerator());
$commandTester = new CommandTester($command);
$code = $commandTester->execute(
[
'--module' => $module,
'--class' => $class_name,
'--label' => $label,
'--plugin-id' => $plugin_id,
'--field-type' => $field_type
],
['interactive' => false]
);
$this->assertEquals(0, $code);
}
private function getGenerator()
{
return $this
->getMockBuilder('Drupal\Console\Generator\PluginFieldFormatterGenerator')
->disableOriginalConstructor()
->setMethods(['generate'])
->getMock();
}
}

View file

@ -0,0 +1,69 @@
<?php
/**
* @file
* Contains \Drupal\Console\Test\Command\GeneratorPluginFieldTypeCommandTest.
*/
namespace Drupal\Console\Test\Command;
use Drupal\Console\Command\Generate\PluginFieldTypeCommand;
use Symfony\Component\Console\Tester\CommandTester;
use Drupal\Console\Test\DataProvider\PluginFieldTypeDataProviderTrait;
class GeneratorPluginFieldTypeCommandTest extends GenerateCommandTest
{
use PluginFieldTypeDataProviderTrait;
/**
* Plugin block generator test
*
* @param $module
* @param $class_name
* @param $label
* @param $plugin_id
* @param $description
* @param $default_widget
* @param $default_formatter
*
* @dataProvider commandData
*/
public function testGeneratePluginFieldType(
$module,
$class_name,
$label,
$plugin_id,
$description,
$default_widget,
$default_formatter
) {
$command = new PluginFieldTypeCommand($this->getHelperSet());
$command->setHelperSet($this->getHelperSet());
$command->setGenerator($this->getGenerator());
$commandTester = new CommandTester($command);
$code = $commandTester->execute(
[
'--module' => $module,
'--class' => $class_name,
'--label' => $label,
'--plugin-id' => $plugin_id,
'--description' => $description,
'--default-widget' => $default_widget,
'--default-formatter' => $default_formatter
],
['interactive' => false]
);
$this->assertEquals(0, $code);
}
private function getGenerator()
{
return $this
->getMockBuilder('Drupal\Console\Generator\PluginFieldTypeGenerator')
->disableOriginalConstructor()
->setMethods(['generate'])
->getMock();
}
}

View file

@ -0,0 +1,63 @@
<?php
/**
* @file
* Contains \Drupal\Console\Test\Command\GeneratorPluginFieldWidgetCommandTest.
*/
namespace Drupal\Console\Test\Command;
use Drupal\Console\Command\Generate\PluginFieldWidgetCommand;
use Symfony\Component\Console\Tester\CommandTester;
use Drupal\Console\Test\DataProvider\PluginFieldWidgetDataProviderTrait;
class GeneratorPluginFieldWidgetCommandTest extends GenerateCommandTest
{
use PluginFieldWidgetDataProviderTrait;
/**
* Plugin block generator test
*
* @param $module
* @param $class_name
* @param $label
* @param $plugin_id
* @param $field_type
*
* @dataProvider commandData
*/
public function testGeneratePluginFieldWidget(
$module,
$class_name,
$label,
$plugin_id,
$field_type
) {
$command = new PluginFieldWidgetCommand($this->getHelperSet());
$command->setHelperSet($this->getHelperSet());
$command->setGenerator($this->getGenerator());
$commandTester = new CommandTester($command);
$code = $commandTester->execute(
[
'--module' => $module,
'--class' => $class_name,
'--label' => $label,
'--plugin-id' => $plugin_id,
'--field-type' => $field_type
],
['interactive' => false]
);
$this->assertEquals(0, $code);
}
private function getGenerator()
{
return $this
->getMockBuilder('Drupal\Console\Generator\PluginFieldWidgetGenerator')
->disableOriginalConstructor()
->setMethods(['generate'])
->getMock();
}
}

View file

@ -0,0 +1,63 @@
<?php
/**
* @file
* Contains \Drupal\Console\Test\Command\GeneratorPluginImageEffectCommandTest.
*/
namespace Drupal\Console\Test\Command;
use Drupal\Console\Command\Generate\PluginImageEffectCommand;
use Symfony\Component\Console\Tester\CommandTester;
use Drupal\Console\Test\DataProvider\PluginImageEffectDataProviderTrait;
class GeneratorPluginImageEffectCommandTest extends GenerateCommandTest
{
use PluginImageEffectDataProviderTrait;
/**
* Plugin image effect generator test
*
* @param $module
* @param $class_name
* @param $plugin_label
* @param $plugin_id
* @param $description
*
* @dataProvider commandData
*/
public function testGeneratePluginImageEffect(
$module,
$class_name,
$plugin_label,
$plugin_id,
$description
) {
$command = new PluginImageEffectCommand($this->getHelperSet());
$command->setHelperSet($this->getHelperSet());
$command->setGenerator($this->getGenerator());
$commandTester = new CommandTester($command);
$code = $commandTester->execute(
[
'--module' => $module,
'--class' => $class_name,
'--label' => $plugin_label,
'--plugin-id' => $plugin_id,
'--description' => $description
],
['interactive' => false]
);
$this->assertEquals(0, $code);
}
private function getGenerator()
{
return $this
->getMockBuilder('Drupal\Console\Generator\PluginImageEffectGenerator')
->disableOriginalConstructor()
->setMethods(['generate'])
->getMock();
}
}

View file

@ -0,0 +1,61 @@
<?php
/**
* @file
* Contains \Drupal\Console\Test\Command\GeneratorPluginImageFormatterCommandTest.
*/
namespace Drupal\Console\Test\Command;
use Drupal\Console\Command\Generate\PluginImageFormatterCommand;
use Symfony\Component\Console\Tester\CommandTester;
use Drupal\Console\Test\DataProvider\PluginImageFormatterDataProviderTrait;
class GeneratorPluginImageFormatterCommandTest extends GenerateCommandTest
{
use PluginImageFormatterDataProviderTrait;
/**
* Plugin image effect generator test
*
* @param $module
* @param $class_name
* @param $plugin_label
* @param $plugin_id
* @param $description
*
* @dataProvider commandData
*/
public function testGeneratePluginImageFormatter(
$module,
$class_name,
$plugin_label,
$plugin_id
) {
$command = new PluginImageFormatterCommand($this->getHelperSet());
$command->setHelperSet($this->getHelperSet());
$command->setGenerator($this->getGenerator());
$commandTester = new CommandTester($command);
$code = $commandTester->execute(
[
'--module' => $module,
'--class' => $class_name,
'--label' => $plugin_label,
'--plugin-id' => $plugin_id
],
['interactive' => false]
);
$this->assertEquals(0, $code);
}
private function getGenerator()
{
return $this
->getMockBuilder('Drupal\Console\Generator\PluginImageFormatterGenerator')
->disableOriginalConstructor()
->setMethods(['generate'])
->getMock();
}
}

View file

@ -0,0 +1,66 @@
<?php
/**
* @file
* Contains \Drupal\Console\Test\Command\GeneratorPluginRestResourceCommandTest.
*/
namespace Drupal\Console\Test\Command;
use Drupal\Console\Command\Generate\PluginRestResourceCommand;
use Symfony\Component\Console\Tester\CommandTester;
use Drupal\Console\Test\DataProvider\PluginRestResourceDataProviderTrait;
class GeneratorPluginRestResourceCommandTest extends GenerateCommandTest
{
use PluginRestResourceDataProviderTrait;
/**
* Plugin rest resource generator test
*
* @param $module
* @param $class_name
* @param $plugin_id
* @param $plugin_label
* @param $plugin_url
* @param $plugin_states
*
* @dataProvider commandData
*/
public function testGeneratePluginRestResource(
$module,
$class_name,
$plugin_id,
$plugin_label,
$plugin_url,
$plugin_states
) {
$command = new PluginRestResourceCommand($this->getHelperSet());
$command->setHelperSet($this->getHelperSet());
$command->setGenerator($this->getGenerator());
$commandTester = new CommandTester($command);
$code = $commandTester->execute(
[
'--module' => $module,
'--class' => $class_name,
'--plugin-id' => $plugin_id,
'--plugin-label' => $plugin_label,
'--plugin-url' => $plugin_url,
'--plugin-states' => $plugin_states,
],
['interactive' => false]
);
$this->assertEquals(0, $code);
}
private function getGenerator()
{
return $this
->getMockBuilder('Drupal\Console\Generator\PluginRestResourceGenerator')
->disableOriginalConstructor()
->setMethods(['generate'])
->getMock();
}
}

View file

@ -0,0 +1,69 @@
<?php
/**
* @file
* Contains \Drupal\Console\Test\Command\GeneratorPluginRulesActionCommandTest.
*/
namespace Drupal\Console\Test\Command;
use Drupal\Console\Command\Generate\PluginRulesActionCommand;
use Symfony\Component\Console\Tester\CommandTester;
use Drupal\Console\Test\DataProvider\PluginRulesActionDataProviderTrait;
class GeneratorPluginRulesActionCommandTest extends GenerateCommandTest
{
use PluginRulesActionDataProviderTrait;
/**
* Plugin rules action generator test
*
* @param $module
* @param $class_name
* @param $label
* @param $plugin_id
* @param $category
* @param $context
* @param $type
*
* @dataProvider commandData
*/
public function testGeneratePluginRulesAction(
$module,
$class_name,
$label,
$plugin_id,
$category,
$context,
$type
) {
$command = new PluginRulesActionCommand($this->getHelperSet());
$command->setHelperSet($this->getHelperSet());
$command->setGenerator($this->getGenerator());
$commandTester = new CommandTester($command);
$code = $commandTester->execute(
[
'--module' => $module,
'--class' => $class_name,
'--label' => $label,
'--plugin-id' => $plugin_id,
'--category' => $category,
'--context' => $context,
'--type' => $type
],
['interactive' => false]
);
$this->assertEquals(0, $code);
}
private function getGenerator()
{
return $this
->getMockBuilder('Drupal\Console\Generator\PluginRulesActionGenerator')
->disableOriginalConstructor()
->setMethods(['generate'])
->getMock();
}
}

View file

@ -0,0 +1,60 @@
<?php
/**
* @file
* Contains \Drupal\Console\Test\Command\GeneratorPluginTypeAnnotationCommandTest.
*/
namespace Drupal\Console\Test\Command;
use Drupal\Console\Command\Generate\PluginTypeAnnotationCommand;
use Symfony\Component\Console\Tester\CommandTester;
use Drupal\Console\Test\DataProvider\PluginTypeYamlDataProviderTrait;
class GeneratorPluginTypeAnnotationCommandTest extends GenerateCommandTest
{
use PluginTypeYamlDataProviderTrait;
/**
* Plugin type yaml generator test
*
* @param $module
* @param $class_name
* @param $machine_name
* @param $label
*
* @dataProvider commandData
*/
public function testGeneratePluginTypeYaml(
$module,
$class_name,
$machine_name,
$label
) {
$command = new PluginTypeAnnotationCommand($this->getHelperSet());
$command->setHelperSet($this->getHelperSet());
$command->setGenerator($this->getGenerator());
$commandTester = new CommandTester($command);
$code = $commandTester->execute(
[
'--module' => $module,
'--class' => $class_name,
'--machine-name' => $machine_name,
'--label' => $label
],
['interactive' => false]
);
$this->assertEquals(0, $code);
}
private function getGenerator()
{
return $this
->getMockBuilder('Drupal\Console\Generator\PluginTypeYamlGenerator')
->disableOriginalConstructor()
->setMethods(['generate'])
->getMock();
}
}

View file

@ -0,0 +1,60 @@
<?php
/**
* @file
* Contains \Drupal\Console\Test\Command\GeneratorPluginTypeYamlCommandTest.
*/
namespace Drupal\Console\Test\Command;
use Drupal\Console\Command\Generate\PluginTypeYamlCommand;
use Symfony\Component\Console\Tester\CommandTester;
use Drupal\Console\Test\DataProvider\PluginTypeYamlDataProviderTrait;
class GeneratorPluginTypeYamlCommandTest extends GenerateCommandTest
{
use PluginTypeYamlDataProviderTrait;
/**
* Plugin type yaml generator test
*
* @param $module
* @param $plugin_class
* @param $plugin_name
* @param $plugin_file_name
*
* @dataProvider commandData
*/
public function testGeneratePluginTypeYaml(
$module,
$plugin_class,
$plugin_name,
$plugin_file_name
) {
$command = new PluginTypeYamlCommand($this->getHelperSet());
$command->setHelperSet($this->getHelperSet());
$command->setGenerator($this->getGenerator());
$commandTester = new CommandTester($command);
$code = $commandTester->execute(
[
'--module' => $module,
'--class' => $plugin_class,
'--plugin-name' => $plugin_name,
'--plugin-file-name' => $plugin_file_name
],
['interactive' => false]
);
$this->assertEquals(0, $code);
}
private function getGenerator()
{
return $this
->getMockBuilder('Drupal\Console\Generator\PluginTypeYamlGenerator')
->disableOriginalConstructor()
->setMethods(['generate'])
->getMock();
}
}

View file

@ -0,0 +1,78 @@
<?php
/**
* @file
* Contains Drupal\Console\Test\Command\GeneratorThemeCommandTest.
*/
namespace Drupal\Console\Test\Command;
use Drupal\Console\Command\Generate\ThemeCommand;
use Symfony\Component\Console\Tester\CommandTester;
use Drupal\Console\Test\DataProvider\ThemeDataProviderTrait;
class GeneratorThemeCommandTest extends GenerateCommandTest
{
use ThemeDataProviderTrait;
/**
* Theme generator test
*
* @param $theme
* @param $machine_name
* @param $theme_path
* @param $description
* @param $core
* @param $package
* @param $global_library
* @param $base_theme
* @param $regions
* @param $breakpoints
*
* @dataProvider commandData
*/
public function testGenerateTheme(
$theme,
$machine_name,
$theme_path,
$description,
$core,
$package,
$global_library,
$base_theme,
$regions,
$breakpoints
) {
$command = new ThemeCommand($this->getHelperSet());
$command->setHelperSet($this->getHelperSet());
$command->setGenerator($this->getGenerator());
$commandTester = new CommandTester($command);
$code = $commandTester->execute(
[
'--theme' => $theme,
'--machine-name' => $machine_name,
'--theme-path' => $theme_path,
'--description' => $description,
'--core' => $core,
'--package' => $package,
'--global-library' => $global_library,
'--base-theme' => $base_theme,
'--regions' => $regions,
'--breakpoints' => $breakpoints
],
['interactive' => false]
);
$this->assertEquals(0, $code);
}
private function getGenerator()
{
return $this
->getMockBuilder('Drupal\Console\Generator\ThemeGenerator')
->disableOriginalConstructor()
->setMethods(['generate'])
->getMock();
}
}

View file

@ -0,0 +1,22 @@
<?php
namespace Drupal\Console\Test\DataProvider;
/**
* Class AuthenticationProviderDataProviderTrait
* @package Drupal\Console\Test\DataProvider
*/
trait AuthenticationProviderDataProviderTrait
{
/**
* @return array
*/
public function commandData()
{
$this->setUpTemporaryDirectory();
return [
['Foo', 'foo' . rand(), 0],
];
}
}

View file

@ -0,0 +1,23 @@
<?php
namespace Drupal\Console\Test\DataProvider;
/**
* Class CommandDataProviderTrait
* @package Drupal\Console\Test\DataProvider
*/
trait CommandDataProviderTrait
{
/**
* @return array
*/
public function commandData()
{
$this->setUpTemporaryDirectory();
return [
['command_' . rand(), 'command:default', 'CommandDefault', false],
['command_' . rand(), 'command:default', 'CommandDefault', true]
];
}
}

View file

@ -0,0 +1,22 @@
<?php
namespace Drupal\Console\Test\DataProvider;
/**
* Class ConfigFormBaseDataProviderTrait
* @package Drupal\Console\Test\DataProvider
*/
trait ConfigFormBaseDataProviderTrait
{
/**
* @return array
*/
public function commandData()
{
$this->setUpTemporaryDirectory();
return [
['Foo', 'foo' . rand(), 'Bar', null, null, 'ConfigFormBase', null, true, 'Foo', 'system.admin_config_development', 'foo'],
];
}
}

View file

@ -0,0 +1,27 @@
<?php
namespace Drupal\Console\Test\DataProvider;
/**
* Class ControllerDataProviderTrait
* @package Drupal\Console\Test\DataProvider
*/
trait ControllerDataProviderTrait
{
/**
* @return array
*/
public function commandData()
{
$this->setUpTemporaryDirectory();
$routes = [
['title' => 'Foo Controller', 'name' => 'custom.default_controller_hello', 'method' => 'index', 'path' => '/hello/{name}']
];
return [
['foo', 'FooController', $routes, true, null, 'foo_controller'],
['foo', 'FooController', $routes, false, null, 'foo_controller'],
];
}
}

View file

@ -0,0 +1,22 @@
<?php
namespace Drupal\Console\Test\DataProvider;
/**
* Class EntityBundleDataProviderTrait
* @package Drupal\Console\Test\DataProvider
*/
trait EntityBundleDataProviderTrait
{
/**
* @return array
*/
public function commandData()
{
$this->setUpTemporaryDirectory();
return [
['foo', 'default_type', 'default']
];
}
}

View file

@ -0,0 +1,22 @@
<?php
namespace Drupal\Console\Test\DataProvider;
/**
* Class EntityConfigDataProviderTrait
* @package Drupal\Console\Test\DataProvider
*/
trait EntityConfigDataProviderTrait
{
/**
* @return array
*/
public function commandData()
{
$this->setUpTemporaryDirectory();
return [
['Foo', 'foo' . rand(), 'Bar', '', 'bar', 'admin/structure'],
];
}
}

View file

@ -0,0 +1,22 @@
<?php
namespace Drupal\Console\Test\DataProvider;
/**
* Class EntityContentDataProviderTrait
* @package Drupal\Console\Test\DataProvider
*/
trait EntityContentDataProviderTrait
{
/**
* @return array
*/
public function commandData()
{
$this->setUpTemporaryDirectory();
return [
['Foo', 'foo' . rand(), 'Bar', 'bar', 'admin/structure', 'true', true],
];
}
}

View file

@ -0,0 +1,22 @@
<?php
namespace Drupal\Console\Test\DataProvider;
/**
* Class EntityDataProviderTrait
* @package Drupal\Console\Test\DataProvider
*/
trait EntityDataProviderTrait
{
/**
* @return array
*/
public function commandData()
{
$this->setUpTemporaryDirectory();
return [
['Foo', 'Bar', 'foo' . rand(), 'bar', 'admin/structure'],
];
}
}

View file

@ -0,0 +1,22 @@
<?php
namespace Drupal\Console\Test\DataProvider;
/**
* Class FormDataProviderTrait
* @package Drupal\Console\Test\DataProvider
*/
trait FormDataProviderTrait
{
/**
* @return array
*/
public function commandData()
{
$this->setUpTemporaryDirectory();
return [
['Foo', 'foo' . rand(), 'id' . rand(), null, null, 'FormBase', '/form/path', true, 'foo', 'system.admin_config_development', 'foo']
];
}
}

View file

@ -0,0 +1,22 @@
<?php
namespace Drupal\Console\Test\DataProvider;
/**
* Class JsTestDataProviderTrait
* @package Drupal\Console\Test\DataProvider
*/
trait JsTestDataProviderTrait
{
/**
* @return array
*/
public function commandData()
{
$this->setUpTemporaryDirectory();
return [
['foo', 'JsFooTest'],
];
}
}

View file

@ -0,0 +1,25 @@
<?php
namespace Drupal\Console\Test\DataProvider;
/**
* Class ModuleDataProviderTrait
* @package Drupal\Console\Test\DataProvider
*/
trait ModuleDataProviderTrait
{
/**
* @return array
*/
public function commandData()
{
$this->setUpTemporaryDirectory();
return [
['Foo', sprintf('%s_%s', 'foo', rand()), $this->dir, 'Description', '8.x', 'Custom', true, '', false, null],
['Foo', sprintf('%s_%s', 'foo', rand()), $this->dir, 'Description', '8.x', 'Custom', false, 'default', false, null],
['Foo', sprintf('%s_%s', 'foo', rand()), $this->dir, 'Description', '8.x', 'Custom', true, '', false, null],
['Foo', sprintf('%s_%s', 'foo', rand()), $this->dir, 'Description', '8.x', 'Custom', false, '', false, null],
];
}
}

View file

@ -0,0 +1,22 @@
<?php
namespace Drupal\Console\Test\DataProvider;
/**
* Class PermissionDataProviderTrait
* @package Drupal\Console\Test\DataProvider
*/
trait PermissionDataProviderTrait
{
/**
* @return array
*/
public function commandData()
{
$this->setUpTemporaryDirectory();
return [
['Foo', 'my permissions'],
];
}
}

View file

@ -0,0 +1,22 @@
<?php
namespace Drupal\Console\Test\DataProvider;
/**
* Class PluginBlockDataProviderTrait
* @package Drupal\Console\Test\DataProvider
*/
trait PluginBlockDataProviderTrait
{
/**
* @return array
*/
public function commandData()
{
$this->setUpTemporaryDirectory();
return [
['Foo', 'foo' . rand(), 'foo', 'bar', null, '', 'inputs'],
];
}
}

View file

@ -0,0 +1,22 @@
<?php
namespace Drupal\Console\Test\DataProvider;
/**
* Class PluginCKEditorButtonDataProviderTrait
* @package Drupal\Console\Test\DataProvider
*/
trait PluginCKEditorButtonDataProviderTrait
{
/**
* @return array
*/
public function commandData()
{
$this->setUpTemporaryDirectory();
return [
['Foo', 'foo' . rand(), 'foo', 'bar', 'Baz', 'foo/js/pluggin/bar/images/icon.png'],
];
}
}

View file

@ -0,0 +1,22 @@
<?php
namespace Drupal\Console\Test\DataProvider;
/**
* Class PluginConditionDataProviderTrait
* @package Drupal\Console\Test\DataProvider
*/
trait PluginConditionDataProviderTrait
{
/**
* @return array
*/
public function commandData()
{
$this->setUpTemporaryDirectory();
return [
['Foo', 'foo' . rand(), 'foo', 'bar-id', 'foo-context-id', 'foo-context-label', false]
];
}
}

View file

@ -0,0 +1,22 @@
<?php
namespace Drupal\Console\Test\DataProvider;
/**
* Class PluginFieldDataProviderTrait
* @package Drupal\Console\Test\DataProvider
*/
trait PluginFieldDataProviderTrait
{
/**
* @return array
*/
public function commandData()
{
$this->setUpTemporaryDirectory();
return [
['Foo', 'foo' . rand(), 'foo', 'foo-bar', 'foo-bar', 'bar', 'Foo-Bar', 'foo-bar', 'foo-bar', 'bar', 'Foo-Bar', 'foo-bar', 'foo-bar', 'bar']
];
}
}

View file

@ -0,0 +1,22 @@
<?php
namespace Drupal\Console\Test\DataProvider;
/**
* Class PluginFieldFormatterDataProviderTrait
* @package Drupal\Console\Test\DataProvider
*/
trait PluginFieldFormatterDataProviderTrait
{
/**
* @return array
*/
public function commandData()
{
$this->setUpTemporaryDirectory();
return [
['Foo', 'foo' . rand(), 'bar', 'bar' . rand(), 'foo-bar']
];
}
}

View file

@ -0,0 +1,22 @@
<?php
namespace Drupal\Console\Test\DataProvider;
/**
* Class PluginFieldTypeDataProviderTrait
* @package Drupal\Console\Test\DataProvider
*/
trait PluginFieldTypeDataProviderTrait
{
/**
* @return array
*/
public function commandData()
{
$this->setUpTemporaryDirectory();
return [
['Foo', 'foo' . rand(), 'foo', 'foo-bar', 'foo-bar', 'bar', 'Foo-Bar']
];
}
}

View file

@ -0,0 +1,22 @@
<?php
namespace Drupal\Console\Test\DataProvider;
/**
* Class PluginFieldWidgetDataProviderTrait
* @package Drupal\Console\Test\DataProvider
*/
trait PluginFieldWidgetDataProviderTrait
{
/**
* @return array
*/
public function commandData()
{
$this->setUpTemporaryDirectory();
return [
['Foo', 'foo' . rand(), 'foo', 'foo-bar', 'Foo-Bar']
];
}
}

View file

@ -0,0 +1,22 @@
<?php
namespace Drupal\Console\Test\DataProvider;
/**
* Class PluginImageEffectkDataProviderTrait
* @package Drupal\Console\Test\DataProvider
*/
trait PluginImageEffectDataProviderTrait
{
/**
* @return array
*/
public function commandData()
{
$this->setUpTemporaryDirectory();
return [
['Foo', 'foo' . rand(), 'foo', 'bar', 'description'],
];
}
}

View file

@ -0,0 +1,22 @@
<?php
namespace Drupal\Console\Test\DataProvider;
/**
* Class PluginImageFormatterkDataProviderTrait
* @package Drupal\Console\Test\DataProvider
*/
trait PluginImageFormatterDataProviderTrait
{
/**
* @return array
*/
public function commandData()
{
$this->setUpTemporaryDirectory();
return [
['Foo', 'foo' . rand(), 'foo', 'bar'],
];
}
}

View file

@ -0,0 +1,22 @@
<?php
namespace Drupal\Console\Test\DataProvider;
/**
* Class PluginRestResourceDataProviderTrait
* @package Drupal\Console\Test\DataProvider
*/
trait PluginRestResourceDataProviderTrait
{
/**
* @return array
*/
public function commandData()
{
$this->setUpTemporaryDirectory();
return [
['Foo', 'foo' . rand(), 'Foo', 'pluginID' . rand(), 'url', 'states'],
];
}
}

View file

@ -0,0 +1,22 @@
<?php
namespace Drupal\Console\Test\DataProvider;
/**
* Class PluginRulesActionDataProviderTrait
* @package Drupal\Console\Test\DataProvider
*/
trait PluginRulesActionDataProviderTrait
{
/**
* @return array
*/
public function commandData()
{
$this->setUpTemporaryDirectory();
return [
['Foo', 'foo' . rand(), 'Foo', 'pluginID' . rand(), 'category', 'context', 'bar'],
];
}
}

View file

@ -0,0 +1,22 @@
<?php
namespace Drupal\Console\Test\DataProvider;
/**
* Class PluginTypeAnnotationDataProviderTrait
* @package Drupal\Console\Test\DataProvider
*/
trait PluginTypeAnnotationDataProviderTrait
{
/**
* @return array
*/
public function commandData()
{
$this->setUpTemporaryDirectory();
return [
['Foo', 'MyPlugin', 'my_plugin', 'my.plugin'],
];
}
}

View file

@ -0,0 +1,22 @@
<?php
namespace Drupal\Console\Test\DataProvider;
/**
* Class PluginTypeYamlDataProviderTrait
* @package Drupal\Console\Test\DataProvider
*/
trait PluginTypeYamlDataProviderTrait
{
/**
* @return array
*/
public function commandData()
{
$this->setUpTemporaryDirectory();
return [
['Foo', 'MyPlugin', 'my_plugin', 'my.plugin'],
];
}
}

View file

@ -0,0 +1,25 @@
<?php
namespace Drupal\Console\Test\DataProvider;
/**
* Class ProfileDataProviderTrait
* @package Drupal\Console\Test\DataProvider
*/
trait ProfileDataProviderTrait
{
/**
* @return array
*/
public function commandData()
{
$this->setUpTemporaryDirectory();
return [
// Profile name, machine name, description, core version,
// dependencies, distribution name.
['Foo', 'foo' . rand(), $this->dir . '/profiles', 'Description', '8.x', null, false],
['Foo', 'foo' . rand(), $this->dir . '/profiles', 'Description', '8.x', null, 'Bar'],
];
}
}

View file

@ -0,0 +1,22 @@
<?php
namespace Drupal\Console\Test\DataProvider;
/**
* Class ServiceDataProviderTrait
* @package Drupal\Console\Test\DataProvider
*/
trait ServiceDataProviderTrait
{
/**
* @return array
*/
public function commandData()
{
$this->setUpTemporaryDirectory();
return [
['Foo', 'foo' . rand(), 'Foo', false, [],'default'],
];
}
}

View file

@ -0,0 +1,22 @@
<?php
namespace Drupal\Console\Test\DataProvider;
/**
* Class ThemeDataProviderTrait
* @package Drupal\Console\Test\DataProvider
*/
trait ThemeDataProviderTrait
{
/**
* @return array
*/
public function commandData()
{
$this->setUpTemporaryDirectory();
return [
['Foo', rand(), $this->dir.'/themes/custom', 'bar', 'Other', '8.x', 'sd', 'global-styling', false, false]
];
}
}

View file

@ -0,0 +1,53 @@
<?php
/**
* @file
* Contains Drupal\Console\Test\Generator\AuthenticationProviderGeneratorTest.
*/
namespace Drupal\Console\Test\Generator;
use Drupal\Console\Generator\AuthenticationProviderGenerator;
use Drupal\Console\Test\DataProvider\AuthenticationProviderDataProviderTrait;
class AuthenticationProviderGeneratorTest extends GeneratorTest
{
use AuthenticationProviderDataProviderTrait;
/**
* AuthenticationProvider generator test
*
* @param $module
* @param $class_name
*
* @dataProvider commandData
*/
public function testGenerateAuthenticationProvider(
$module,
$class_name,
$provider_id
) {
$generator = new AuthenticationProviderGenerator();
$this->getRenderHelper()->setSkeletonDirs($this->getSkeletonDirs());
$this->getRenderHelper()->setTranslator($this->getTranslatorHelper());
$generator->setHelperSet($this->getHelperSet());
$generator->generate(
$module,
$class_name,
$provider_id
);
$files = [
$generator->getSite()->getAuthenticationPath($module, 'Provider').'/'.$class_name.'.php',
$generator->getSite()->getModulePath($module).'/'.$module.'.services.yml'
];
foreach ($files as $file) {
$this->assertTrue(
file_exists($file),
sprintf('%s does not exist', $file)
);
}
}
}

View file

@ -0,0 +1,43 @@
<?php
/**
* @file
* Contains \Drupal\Console\Test\Generator\CommandGeneratorTest.
*/
namespace Drupal\Console\Test\Generator;
use Drupal\Console\Generator\CommandGenerator;
use Drupal\Console\Test\DataProvider\CommandDataProviderTrait;
class CommandGeneratorTest extends GeneratorTest
{
use CommandDataProviderTrait;
/**
* @param $module
* @param $name
* @param $class
* @param $containerAware
*
* @dataProvider commandData
*/
public function testGenerateCommand(
$module,
$name,
$class,
$containerAware
) {
$generator = new CommandGenerator();
$this->getRenderHelper()->setSkeletonDirs($this->getSkeletonDirs());
$this->getRenderHelper()->setTranslator($this->getTranslatorHelper());
$generator->setHelperSet($this->getHelperSet());
$generator->generate(
$module,
$name,
$class,
$containerAware
);
}
}

View file

@ -0,0 +1,78 @@
<?php
/**
* @file
* Contains Drupal\Console\Test\Generator\ConfigFormBaseGeneratorTest.
*/
namespace Drupal\Console\Test\Generator;
use Drupal\Console\Generator\FormGenerator;
use Drupal\Console\Test\DataProvider\ConfigFormBaseDataProviderTrait;
class ConfigFormBaseGeneratorTest extends GeneratorTest
{
use ConfigFormBaseDataProviderTrait;
/**
* Form generator test
*
* @param $module
* @param $class_name
* @param $services
* @param $inputs
* @param $form_id
* @param $form_type
* @param $path
* @param $menu_link_gen
* @param $menu_link_title
* @param $menu_parent
* @param $menu_link_desc
*
* @dataProvider commandData
*/
public function testGenerateConfigFormBase(
$module,
$class_name,
$services,
$inputs,
$form_id,
$form_type,
$path,
$menu_link_gen,
$menu_link_title,
$menu_parent,
$menu_link_desc
) {
$generator = new FormGenerator();
$this->getRenderHelper()->setSkeletonDirs($this->getSkeletonDirs());
$this->getRenderHelper()->setTranslator($this->getTranslatorHelper());
$generator->setHelperSet($this->getHelperSet());
$generator->generate(
$module,
$class_name,
$services,
$inputs,
$form_id,
$form_type,
$path,
$menu_link_gen,
$menu_link_title,
$menu_parent,
$menu_link_desc
);
$this->assertTrue(
file_exists($generator->getSite()->getFormPath($module).'/'.$class_name.'.php'),
sprintf('%s does not exist', $class_name.'.php')
);
if ($path) {
$this->assertTrue(
file_exists($generator->getSite()->getModulePath($module).'/'.$module.'.routing.yml'),
sprintf('%s does not exist', $class_name.'.php')
);
}
}
}

View file

@ -0,0 +1,57 @@
<?php
/**
* @file
* Contains Drupal\Console\Test\Generator\EntityBundleGeneratorTest.
*/
namespace Drupal\Console\Test\Generator;
use Drupal\Console\Generator\EntityBundleGenerator;
use Drupal\Console\Test\DataProvider\EntityBundleDataProviderTrait;
class ContentTypeGeneratorTest extends GeneratorTest
{
use EntityBundleDataProviderTrait;
/**
* ContentType generator test
*
* @param $module
* @param $bundle_name
* @param $bundle_title
*
* @dataProvider commandData
*/
public function testGenerateContentType(
$module,
$bundle_name,
$bundle_title
) {
$generator = new EntityBundleGenerator();
$this->getRenderHelper()->setSkeletonDirs($this->getSkeletonDirs());
$this->getRenderHelper()->setTranslator($this->getTranslatorHelper());
$generator->setHelperSet($this->getHelperSet());
$generator->generate(
$module,
$bundle_name,
$bundle_title
);
$files = [
$generator->getSite()->getModulePath($module) . '/config/install/core.entity_form_display.node.' . $bundle_name . '.default.yml',
$generator->getSite()->getModulePath($module) . '/config/install/core.entity_view_display.node.' . $bundle_name . '.default.yml',
$generator->getSite()->getModulePath($module) . '/config/install/core.entity_view_display.node.' . $bundle_name . '.teaser.yml',
$generator->getSite()->getModulePath($module) . '/config/install/field.field.node.' . $bundle_name . '.body.yml',
$generator->getSite()->getModulePath($module) . '/config/install/node.type.' . $bundle_name . '.yml',
];
foreach ($files as $file) {
$this->assertTrue(
file_exists($file),
sprintf('%s does not exist', $file)
);
}
}
}

View file

@ -0,0 +1,68 @@
<?php
/**
* @file
* Contains Drupal\Console\Test\Generator\ControllerGeneratorTest.
*/
namespace Drupal\Console\Test\Generator;
use Drupal\Console\Generator\ControllerGenerator;
use Drupal\Console\Test\DataProvider\ControllerDataProviderTrait;
class ControllerGeneratorTest extends GeneratorTest
{
use ControllerDataProviderTrait;
/**
* Controller generator test
*
* @param $module
* @param $class_name
* @param $routes
* @param $test
* @param $build_services
* @param $class_machine_name
*
* @dataProvider commandData
*/
public function testGenerateController(
$module,
$class_name,
$routes,
$test,
$build_services
) {
$generator = new ControllerGenerator();
$this->getRenderHelper()->setSkeletonDirs($this->getSkeletonDirs());
$this->getRenderHelper()->setTranslator($this->getTranslatorHelper());
$generator->setHelperSet($this->getHelperSet());
$generator->generate(
$module,
$class_name,
$routes,
$test,
$build_services
);
$files = [
$generator->getSite()->getControllerPath($module).'/'.$class_name.'.php',
$generator->getSite()->getModulePath($module).'/'.$module.'.routing.yml'
];
foreach ($files as $file) {
$this->assertTrue(
file_exists($file),
sprintf('%s does not exist', $file)
);
}
if ($test) {
$this->assertTrue(
file_exists($generator->getSite()->getTestPath($module, 'Controller') . '/' . $class_name.'Test.php'),
sprintf('%s does not exist', $class_name.'Test.php')
);
}
}
}

View file

@ -0,0 +1,67 @@
<?php
/**
* @file
* Contains Drupal\Console\Test\Generator\EntityConfigGeneratorTest.
*/
namespace Drupal\Console\Test\Generator;
use Drupal\Console\Generator\EntityConfigGenerator;
use Drupal\Console\Test\DataProvider\EntityConfigDataProviderTrait;
class EntityConfigGeneratorTest extends GeneratorTest
{
use EntityConfigDataProviderTrait;
/**
* EntityConfig generator test
*
* @param $module
* @param $entity_name
* @param $entity_class
* @param $label
* @param $base_path
*
* @dataProvider commandData
*/
public function testGenerateEntityConfig(
$module,
$entity_name,
$entity_class,
$label,
$base_path
) {
$generator = new EntityConfigGenerator();
$this->getRenderHelper()->setSkeletonDirs($this->getSkeletonDirs());
$this->getRenderHelper()->setTranslator($this->getTranslatorHelper());
$generator->setHelperSet($this->getHelperSet());
$generator->generate(
$module,
$entity_name,
$entity_class,
$label,
$base_path
);
$files = [
$generator->getSite()->getModulePath($module).'/config/schema/'.$entity_name.'.schema.yml',
$generator->getSite()->getModulePath($module).'/'.$module.'.links.menu.yml',
$generator->getSite()->getModulePath($module).'/'.$module.'.links.action.yml',
$generator->getSite()->getEntityPath($module).'/'.$entity_class.'Interface.php',
$generator->getSite()->getEntityPath($module).'/'.$entity_class.'.php',
$generator->getSite()->getFormPath($module).'/'.$entity_class.'Form.php',
$generator->getSite()->getFormPath($module).'/'.$entity_class.'DeleteForm.php',
$generator->getSite()->getSourcePath($module).'/'.$entity_class.'HtmlRouteProvider.php',
$generator->getSite()->getSourcePath($module).'/'.$entity_class.'ListBuilder.php'
];
foreach ($files as $file) {
$this->assertTrue(
file_exists($file),
sprintf('%s does not exist', $file)
);
}
}
}

View file

@ -0,0 +1,86 @@
<?php
/**
* @file
* Contains Drupal\Console\Test\Generator\EntityContentGeneratorTest.
*/
namespace Drupal\Console\Test\Generator;
use Drupal\Console\Generator\EntityContentGenerator;
use Drupal\Console\Test\DataProvider\EntityContentDataProviderTrait;
class EntityContentGeneratorTest extends GeneratorTest
{
use EntityContentDataProviderTrait;
/**
* EntityContent generator test
*
* @param $module
* @param $entity_name
* @param $entity_class
* @param $label
* @param $base_path
* @param $is_translatable
* @param $revisionable
*
* @dataProvider commandData
*/
public function testGenerateEntityContent(
$module,
$entity_name,
$entity_class,
$label,
$base_path,
$is_translatable,
$revisionable
) {
$generator = new EntityContentGenerator();
$this->getRenderHelper()->setSkeletonDirs($this->getSkeletonDirs());
$this->getRenderHelper()->setTranslator($this->getTranslatorHelper());
$generator->setHelperSet($this->getHelperSet());
$generator->generate(
$module,
$entity_name,
$entity_class,
$label,
$base_path,
$is_translatable,
null,
$revisionable
);
$files = [
$generator->getSite()->getModulePath($module).'/'.$module.'.permissions.yml',
$generator->getSite()->getModulePath($module).'/'.$module.'.links.menu.yml',
$generator->getSite()->getModulePath($module).'/'.$module.'.links.task.yml',
$generator->getSite()->getModulePath($module).'/'.$module.'.links.action.yml',
$generator->getSite()->getEntityPath($module).'/'.$entity_class.'Interface.php',
$generator->getSite()->getEntityPath($module).'/'.$entity_class.'.php',
$generator->getSite()->getEntityPath($module).'/'.$entity_class.'ViewsData.php',
$generator->getSite()->getSourcePath($module).'/'.$entity_class.'AccessControlHandler.php',
$generator->getSite()->getSourcePath($module).'/'.$entity_class.'HtmlRouteProvider.php',
$generator->getSite()->getSourcePath($module).'/'.$entity_class.'ListBuilder.php',
$generator->getSite()->getSourcePath($module).'/'.$entity_class.'Storage.php',
$generator->getSite()->getSourcePath($module).'/'.$entity_class.'StorageInterface.php',
$generator->getSite()->getFormPath($module).'/'.$entity_class.'SettingsForm.php',
$generator->getSite()->getFormPath($module).'/'.$entity_class.'Form.php',
$generator->getSite()->getFormPath($module).'/'.$entity_class.'DeleteForm.php',
$generator->getSite()->getFormPath($module).'/'.$entity_class.'RevisionDeleteForm.php',
$generator->getSite()->getFormPath($module).'/'.$entity_class.'RevisionRevertTranslationForm.php',
$generator->getSite()->getFormPath($module).'/'.$entity_class.'RevisionRevertForm.php',
$generator->getSite()->getControllerPath($module).'/'.$entity_class.'Controller.php',
$generator->getSite()->getModulePath($module).'/'.$entity_name.'.page.inc',
$generator->getSite()->getTemplatePath($module).'/'.$entity_name.'.html.twig',
];
foreach ($files as $file) {
$this->assertTrue(
file_exists($file),
sprintf('%s does not exist', $file)
);
}
}
}

View file

@ -0,0 +1,67 @@
<?php
/**
* @file
* Contains Drupal\Console\Test\Generator\EntityGeneratorTest.
*/
namespace Drupal\Console\Test\Generator;
use Drupal\Console\Generator\EntityConfigGenerator;
use Drupal\Console\Test\DataProvider\EntityDataProviderTrait;
class EntityGeneratorTest extends GeneratorTest
{
use EntityDataProviderTrait;
/**
* EntityConfig generator test
*
* @param $module
* @param $entity_name
* @param $entity_class
* @param $label
* @param $base_path
*
* @dataProvider commandData
*/
public function testGenerateEntity(
$module,
$entity_name,
$entity_class,
$label,
$base_path
) {
$generator = new EntityConfigGenerator();
$this->getRenderHelper()->setSkeletonDirs($this->getSkeletonDirs());
$this->getRenderHelper()->setTranslator($this->getTranslatorHelper());
$generator->setHelperSet($this->getHelperSet());
$generator->generate(
$module,
$entity_name,
$entity_class,
$label,
$base_path
);
$files = [
$generator->getSite()->getModulePath($module).'/config/schema/'.$entity_name.'.schema.yml',
$generator->getSite()->getModulePath($module).'/'.$module.'.links.menu.yml',
$generator->getSite()->getModulePath($module).'/'.$module.'.links.action.yml',
$generator->getSite()->getEntityPath($module).'/'.$entity_class.'Interface.php',
$generator->getSite()->getEntityPath($module).'/'.$entity_class.'.php',
$generator->getSite()->getFormPath($module).'/'.$entity_class.'Form.php',
$generator->getSite()->getFormPath($module).'/'.$entity_class.'DeleteForm.php',
$generator->getSite()->getSourcePath($module).'/'.$entity_class.'HtmlRouteProvider.php',
$generator->getSite()->getSourcePath($module).'/'.$entity_class.'ListBuilder.php'
];
foreach ($files as $file) {
$this->assertTrue(
file_exists($file),
sprintf('%s does not exist', $file)
);
}
}
}

View file

@ -0,0 +1,78 @@
<?php
/**
* @file
* Contains Drupal\Console\Test\Generator\FormGeneratorTest.
*/
namespace Drupal\Console\Test\Generator;
use Drupal\Console\Generator\FormGenerator;
use Drupal\Console\Test\DataProvider\FormDataProviderTrait;
class FormGeneratorTest extends GeneratorTest
{
use FormDataProviderTrait;
/**
* Form generator test
*
* @param $module
* @param $class_name
* @param $services
* @param $inputs
* @param $form_id
* @param $form_type
* @param $path
* @param $menu_link_gen
* @param $menu_link_title
* @param $menu_parent
* @param $menu_link_desc
*
* @dataProvider commandData
*/
public function testGenerateForm(
$module,
$class_name,
$services,
$inputs,
$form_id,
$form_type,
$path,
$menu_link_gen,
$menu_link_title,
$menu_parent,
$menu_link_desc
) {
$generator = new FormGenerator();
$this->getRenderHelper()->setSkeletonDirs($this->getSkeletonDirs());
$this->getRenderHelper()->setTranslator($this->getTranslatorHelper());
$generator->setHelperSet($this->getHelperSet());
$generator->generate(
$module,
$class_name,
$services,
$inputs,
$form_id,
$form_type,
$path,
$menu_link_gen,
$menu_link_title,
$menu_parent,
$menu_link_desc
);
$this->assertTrue(
file_exists($generator->getSite()->getFormPath($module).'/'.$class_name.'.php'),
sprintf('%s does not exist', $class_name.'.php')
);
if ($path) {
$this->assertTrue(
file_exists($generator->getSite()->getModulePath($module).'/'.$module.'.routing.yml'),
sprintf('%s does not exist', $module.'.routing.yml')
);
}
}
}

View file

@ -0,0 +1,19 @@
<?php
/**
* @file
* Contains Drupal\Console\Test\Generator\GeneratorTest.
*/
namespace Drupal\Console\Test\Generator;
use Drupal\Console\Test\BaseTestCase;
abstract class GeneratorTest extends BaseTestCase
{
public function getSkeletonDirs()
{
$skeletonDirs[] = __DIR__ . '/../../templates';
return $skeletonDirs;
}
}

View file

@ -0,0 +1,50 @@
<?php
/**
* @file
* Contains Drupal\Console\Test\Generator\JsTestGeneratorTest.
*/
namespace Drupal\Console\Test\Generator;
use Drupal\Console\Generator\JsTestGenerator;
use Drupal\Console\Test\DataProvider\JsTestDataProviderTrait;
class JsTestGeneratorTest extends GeneratorTest
{
use JsTestDataProviderTrait;
/**
* JavaScript test generator test
*
* @param $module
* @param $class_name
*
* @dataProvider commandData
*/
public function testGenerateJsTest(
$module,
$class_name
) {
$generator = new JsTestGenerator();
$this->getRenderHelper()->setSkeletonDirs($this->getSkeletonDirs());
$this->getRenderHelper()->setTranslator($this->getTranslatorHelper());
$generator->setHelperSet($this->getHelperSet());
$generator->generate(
$module,
$class_name
);
$files = [
$generator->getSite()->getJsTestsPath($module) . "/$class_name.php",
];
foreach ($files as $file) {
$this->assertTrue(
file_exists($file),
sprintf('%s does not exist', $file)
);
}
}
}

View file

@ -0,0 +1,85 @@
<?php
/**
* @file
* Contains Drupal\Console\Test\Generator\ModuleGeneratorTest.
*/
namespace Drupal\Console\Test\Generator;
use Drupal\Console\Generator\ModuleGenerator;
use Drupal\Console\Test\DataProvider\ModuleDataProviderTrait;
/**
* Class ModuleGeneratorTest
* @package Drupal\Console\Test\Generator
*/
class ModuleGeneratorTest extends GeneratorTest
{
use ModuleDataProviderTrait;
/**
* Module generator test
*
* @param $module
* @param $machine_name
* @param $module_path,
* @param $description
* @param $core
* @param $package
* @param $moduleFile
* @param $featureBundle
* @param $composer
* @param $dependencies
*
* @dataProvider commandData
*/
public function testGenerateModule(
$module,
$machine_name,
$module_path,
$description,
$core,
$package,
$moduleFile,
$featureBundle,
$composer,
$dependencies
) {
$generator = new ModuleGenerator();
$this->getRenderHelper()->setSkeletonDirs($this->getSkeletonDirs());
$this->getRenderHelper()->setTranslator($this->getTranslatorHelper());
$generator->setHelperSet($this->getHelperSet());
$generator->generate(
$module,
$machine_name,
$module_path,
$description,
$core,
$package,
$moduleFile,
$featureBundle,
$composer,
$dependencies
);
$this->assertTrue(
file_exists($module_path . '/' . $machine_name . '/' . $machine_name . '.info.yml'),
sprintf('%s has been generated', $module_path . '/' . $machine_name . '.info.yml')
);
if ($moduleFile) {
$this->assertTrue(
file_exists($module_path . '/' . $machine_name . '/' . $machine_name . '.module'),
sprintf('%s has been generated', $module_path . '/' . $machine_name . '/' . $machine_name . '.module')
);
}
if ($composer) {
$this->assertTrue(
file_exists($module_path . '/' . $machine_name . '/composer.json'),
sprintf('%s has been generated', $module_path . '/' . $machine_name . '/composer.json')
);
}
}
}

View file

@ -0,0 +1,44 @@
<?php
/**
* @file
* Contains Drupal\Console\Test\Generator\PermissionGeneratorTest.
*/
namespace Drupal\Console\Test\Generator;
use Drupal\Console\Generator\PermissionGenerator;
use Drupal\Console\Test\DataProvider\PermissionDataProviderTrait;
class PermissionGeneratorTest extends GeneratorTest
{
use PermissionDataProviderTrait;
/**
* Permission generator test
*
* @param $module
* @param $permissions
*
* @dataProvider commandData
*/
public function testGeneratePermission(
$module,
$permissions
) {
$generator = new PermissionGenerator();
$this->getRenderHelper()->setSkeletonDirs($this->getSkeletonDirs());
$this->getRenderHelper()->setTranslator($this->getTranslatorHelper());
$generator->setHelperSet($this->getHelperSet());
$generator->generate(
$module,
$permissions
);
$this->assertTrue(
file_exists($generator->getSite()->getModulePath($module).'/'.$module.'.permissions.yml'),
sprintf('%s does not exist', $module.'.permissions.yml')
);
}
}

View file

@ -0,0 +1,56 @@
<?php
/**
* @file
* Contains Drupal\Console\Test\Generator\PluginBlockGeneratorTest.
*/
namespace Drupal\Console\Test\Generator;
use Drupal\Console\Generator\PluginBlockGenerator;
use Drupal\Console\Test\DataProvider\PluginBlockDataProviderTrait;
class PluginBlockGeneratorTest extends GeneratorTest
{
use PluginBlockDataProviderTrait;
/**
* PluginBlock generator test
*
* @param $module
* @param $class_name
* @param $label
* @param $plugin_id
* @param $services
* @param $inputs
*
* @dataProvider commandData
*/
public function testGeneratePluginBlock(
$module,
$class_name,
$label,
$plugin_id,
$services,
$inputs
) {
$generator = new PluginBlockGenerator();
$this->getRenderHelper()->setSkeletonDirs($this->getSkeletonDirs());
$this->getRenderHelper()->setTranslator($this->getTranslatorHelper());
$generator->setHelperSet($this->getHelperSet());
$generator->generate(
$module,
$class_name,
$label,
$plugin_id,
$services,
$inputs
);
$this->assertTrue(
file_exists($generator->getSite()->getPluginPath($module, 'Block').'/'.$class_name.'.php'),
sprintf('%s does not exist', $class_name.'.php')
);
}
}

View file

@ -0,0 +1,55 @@
<?php
/**
* @file
* Contains Drupal\Console\Test\Generator\PluginCKEditorButtonGeneratorTest.
*/
namespace Drupal\Console\Test\Generator;
use Drupal\Console\Generator\PluginCKEditorButtonGenerator;
use Drupal\Console\Test\DataProvider\PluginCKEditorButtonDataProviderTrait;
class PluginCKEditorButtonGeneratorTest extends GeneratorTest
{
use PluginCKEditorButtonDataProviderTrait;
/**
* PluginCKEditorButton generator test
*
* @param $module
* @param $class_name
* @param $label
* @param $plugin_id
* @param $button_name
* @param $button_icon_path
*
* @dataProvider commandData
*/
public function testGenerateCKEditorButtonEffect(
$module,
$class_name,
$label,
$plugin_id,
$button_name,
$button_icon_path
) {
$generator = new PluginCKEditorButtonGenerator();
$this->getRenderHelper()->setSkeletonDirs($this->getSkeletonDirs());
$this->getRenderHelper()->setTranslator($this->getTranslatorHelper());
$generator->setHelperSet($this->getHelperSet());
$generator->generate(
$module,
$class_name,
$label,
$plugin_id,
$button_name,
$button_icon_path
);
$this->assertTrue(
file_exists($generator->getSite()->getPluginPath($module, 'CKEditorPlugin').'/'.$class_name.'.php'),
sprintf('%s does not exist', $class_name.'.php')
);
}
}

View file

@ -0,0 +1,59 @@
<?php
/**
* @file
* Contains Drupal\Console\Test\Generator\PluginConditionGeneratorTest.
*/
namespace Drupal\Console\Test\Generator;
use Drupal\Console\Generator\PluginConditionGenerator;
use Drupal\Console\Test\DataProvider\PluginConditionDataProviderTrait;
class PluginConditionGeneratorTest extends GeneratorTest
{
use PluginConditionDataProviderTrait;
/**
* PluginCondition generator test
*
* @param $module
* @param $class_name
* @param $label
* @param $plugin_id
* @param $context_definition_id
* @param $context_definition_label
* @param $context_definition_required
*
* @dataProvider commandData
*/
public function testGeneratePluginCondition(
$module,
$class_name,
$label,
$plugin_id,
$context_definition_id,
$context_definition_label,
$context_definition_required
) {
$generator = new PluginConditionGenerator();
$this->getRenderHelper()->setSkeletonDirs($this->getSkeletonDirs());
$this->getRenderHelper()->setTranslator($this->getTranslatorHelper());
$generator->setHelperSet($this->getHelperSet());
$generator->generate(
$module,
$class_name,
$label,
$plugin_id,
$context_definition_id,
$context_definition_label,
$context_definition_required
);
$this->assertTrue(
file_exists($generator->getSite()->getPluginPath($module, 'Condition') . '/' . $class_name . '.php'),
sprintf('%s does not exist', $class_name.'.php')
);
}
}

View file

@ -0,0 +1,53 @@
<?php
/**
* @file
* Contains Drupal\Console\Test\Generator\PluginFieldFormatterGeneratorTest.
*/
namespace Drupal\Console\Test\Generator;
use Drupal\Console\Generator\PluginFieldFormatterGenerator;
use Drupal\Console\Test\DataProvider\PluginFieldFormatterDataProviderTrait;
class PluginFieldFormatterGeneratorTest extends GeneratorTest
{
use PluginFieldFormatterDataProviderTrait;
/**
* PluginFieldFormatter generator test
*
* @param $module
* @param $class_name
* @param $label
* @param $plugin_id
* @param $field_type
*
* @dataProvider commandData
*/
public function testGeneratePluginFieldFormatter(
$module,
$class_name,
$label,
$plugin_id,
$field_type
) {
$generator = new PluginFieldFormatterGenerator();
$this->getRenderHelper()->setSkeletonDirs($this->getSkeletonDirs());
$this->getRenderHelper()->setTranslator($this->getTranslatorHelper());
$generator->setHelperSet($this->getHelperSet());
$generator->generate(
$module,
$class_name,
$label,
$plugin_id,
$field_type
);
$this->assertTrue(
file_exists($generator->getSite()->getPluginPath($module, 'Field/FieldFormatter') . '/' . $class_name . '.php'),
sprintf('%s does not exist', $class_name.'.php')
);
}
}

View file

@ -0,0 +1,80 @@
<?php
/**
* @file
* Contains Drupal\Console\Test\Generator\PluginFieldGeneratorTest.
*/
namespace Drupal\Console\Test\Generator;
use Drupal\Console\Generator\PluginFieldTypeGenerator;
use Drupal\Console\Test\DataProvider\PluginFieldDataProviderTrait;
class PluginFieldGeneratorTest extends GeneratorTest
{
use PluginFieldDataProviderTrait;
/**
* PluginField generator test
*
* @param $module
* @param $type_class_name
* @param $type_label
* @param $type_plugin_id
* @param $type_description
* @param $formatter_class_name
* @param $formatter_label
* @param $formatter_plugin_id
* @param $widget_class_name
* @param $widget_label
* @param $widget_plugin_id
* @param $field_type
* @param $default_widget
* @param $default_formatter
*
* @dataProvider commandData
*/
public function testGeneratePluginFieldType(
$module,
$type_class_name,
$type_label,
$type_plugin_id,
$type_description,
$formatter_class_name,
$formatter_label,
$formatter_plugin_id,
$widget_class_name,
$widget_label,
$widget_plugin_id,
$field_type,
$default_widget,
$default_formatter
) {
$generator = new PluginFieldTypeGenerator();
$this->getRenderHelper()->setSkeletonDirs($this->getSkeletonDirs());
$this->getRenderHelper()->setTranslator($this->getTranslatorHelper());
$generator->setHelperSet($this->getHelperSet());
$generator->generate(
$module,
$type_class_name,
$type_label,
$type_plugin_id,
$type_description,
$formatter_class_name,
$formatter_label,
$formatter_plugin_id,
$widget_class_name,
$widget_label,
$widget_plugin_id,
$field_type,
$default_widget,
$default_formatter
);
$this->assertTrue(
file_exists($generator->getSite()->getPluginPath($module, 'Field/FieldType') . '/' . $type_class_name . '.php'),
sprintf('%s does not exist', $type_class_name.'.php')
);
}
}

View file

@ -0,0 +1,59 @@
<?php
/**
* @file
* Contains Drupal\Console\Test\Generator\PluginFieldTypeGeneratorTest.
*/
namespace Drupal\Console\Test\Generator;
use Drupal\Console\Generator\PluginFieldTypeGenerator;
use Drupal\Console\Test\DataProvider\PluginFieldTypeDataProviderTrait;
class PluginFieldTypeGeneratorTest extends GeneratorTest
{
use PluginFieldTypeDataProviderTrait;
/**
* PluginFieldType generator test
*
* @param $module
* @param $class_name
* @param $label
* @param $plugin_id
* @param $description
* @param $default_widget
* @param $default_formatter
*
* @dataProvider commandData
*/
public function testGeneratePluginFieldType(
$module,
$class_name,
$label,
$plugin_id,
$description,
$default_widget,
$default_formatter
) {
$generator = new PluginFieldTypeGenerator();
$this->getRenderHelper()->setSkeletonDirs($this->getSkeletonDirs());
$this->getRenderHelper()->setTranslator($this->getTranslatorHelper());
$generator->setHelperSet($this->getHelperSet());
$generator->generate(
$module,
$class_name,
$label,
$plugin_id,
$description,
$default_widget,
$default_formatter
);
$this->assertTrue(
file_exists($generator->getSite()->getPluginPath($module, 'Field/FieldType') . '/' . $class_name . '.php'),
sprintf('%s does not exist', $class_name.'.php')
);
}
}

View file

@ -0,0 +1,53 @@
<?php
/**
* @file
* Contains Drupal\Console\Test\Generator\PluginFieldWidgetGeneratorTest.
*/
namespace Drupal\Console\Test\Generator;
use Drupal\Console\Generator\PluginFieldWidgetGenerator;
use Drupal\Console\Test\DataProvider\PluginFieldWidgetDataProviderTrait;
class PluginFieldWidgetGeneratorTest extends GeneratorTest
{
use PluginFieldWidgetDataProviderTrait;
/**
* PluginFieldWidget generator test
*
* @param $module
* @param $class_name
* @param $label
* @param $plugin_id
* @param $field_type
*
* @dataProvider commandData
*/
public function testGeneratePluginFieldWidget(
$module,
$class_name,
$label,
$plugin_id,
$field_type
) {
$generator = new PluginFieldWidgetGenerator();
$this->getRenderHelper()->setSkeletonDirs($this->getSkeletonDirs());
$this->getRenderHelper()->setTranslator($this->getTranslatorHelper());
$generator->setHelperSet($this->getHelperSet());
$generator->generate(
$module,
$class_name,
$label,
$plugin_id,
$field_type
);
$this->assertTrue(
file_exists($generator->getSite()->getPluginPath($module, 'Field/FieldWidget') . '/' . $class_name . '.php'),
sprintf('%s does not exist', $class_name.'.php')
);
}
}

View file

@ -0,0 +1,52 @@
<?php
/**
* @file
* Contains Drupal\Console\Test\Generator\PluginImageEffectGeneratorTest.
*/
namespace Drupal\Console\Test\Generator;
use Drupal\Console\Generator\PluginImageEffectGenerator;
use Drupal\Console\Test\DataProvider\PluginImageEffectDataProviderTrait;
class PluginImageEffectGeneratorTest extends GeneratorTest
{
use PluginImageEffectDataProviderTrait;
/**
* PluginImageEffect generator test
*
* @param $module
* @param $class_name
* @param $plugin_label
* @param $plugin_id
* @param $description
*
* @dataProvider commandData
*/
public function testGeneratePluginImageEffect(
$module,
$class_name,
$label,
$plugin_id,
$description
) {
$generator = new PluginImageEffectGenerator();
$this->getRenderHelper()->setSkeletonDirs($this->getSkeletonDirs());
$this->getRenderHelper()->setTranslator($this->getTranslatorHelper());
$generator->setHelperSet($this->getHelperSet());
$generator->generate(
$module,
$class_name,
$label,
$plugin_id,
$description
);
$this->assertTrue(
file_exists($generator->getSite()->getPluginPath($module, 'ImageEffect').'/'.$class_name.'.php'),
sprintf('%s does not exist', $class_name.'.php')
);
}
}

View file

@ -0,0 +1,49 @@
<?php
/**
* @file
* Contains Drupal\Console\Test\Generator\PluginImageFormatterGeneratorTest.
*/
namespace Drupal\Console\Test\Generator;
use Drupal\Console\Generator\PluginImageFormatterGenerator;
use Drupal\Console\Test\DataProvider\PluginImageFormatterDataProviderTrait;
class PluginImageFormatterGeneratorTest extends GeneratorTest
{
use PluginImageFormatterDataProviderTrait;
/**
* PluginImageFormatter generator test
*
* @param $module
* @param $class_name
* @param $plugin_label
* @param $plugin_id
*
* @dataProvider commandData
*/
public function testGeneratePluginImageFormatter(
$module,
$class_name,
$label,
$plugin_id
) {
$generator = new PluginImageFormatterGenerator();
$this->getRenderHelper()->setSkeletonDirs($this->getSkeletonDirs());
$this->getRenderHelper()->setTranslator($this->getTranslatorHelper());
$generator->setHelperSet($this->getHelperSet());
$generator->generate(
$module,
$class_name,
$label,
$plugin_id
);
$this->assertTrue(
file_exists($generator->getSite()->getPluginPath($module, 'Field/FieldFormatter') . '/' . $class_name . '.php'),
sprintf('%s does not exist', $class_name.'.php')
);
}
}

View file

@ -0,0 +1,55 @@
<?php
/**
* @file
* Contains Drupal\Console\Test\Generator\PluginRestResourceGeneratorTest.
*/
namespace Drupal\Console\Test\Generator;
use Drupal\Console\Generator\PluginRestResourceGenerator;
use Drupal\Console\Test\DataProvider\PluginRestResourceDataProviderTrait;
class PluginRestResourceGeneratorTest extends GeneratorTest
{
use PluginRestResourceDataProviderTrait;
/**
* PluginRestResource generator test
*
* @param $module
* @param $class_name
* @param $plugin_label
* @param $plugin_id
* @param $plugin_url
* @param $plugin_states
*
* @dataProvider commandData
*/
public function testGeneratePluginRestResource(
$module,
$class_name,
$plugin_label,
$plugin_id,
$plugin_url,
$plugin_states
) {
$generator = new PluginRestResourceGenerator();
$this->getRenderHelper()->setSkeletonDirs($this->getSkeletonDirs());
$this->getRenderHelper()->setTranslator($this->getTranslatorHelper());
$generator->setHelperSet($this->getHelperSet());
$generator->generate(
$module,
$class_name,
$plugin_label,
$plugin_id,
$plugin_url,
$plugin_states
);
$this->assertTrue(
file_exists($generator->getSite()->getPluginPath($module, 'rest').'/resource/'.$class_name.'.php'),
sprintf('%s does not exist', $class_name.'.php')
);
}
}

View file

@ -0,0 +1,65 @@
<?php
/**
* @file
* Contains Drupal\Console\Test\Generator\PluginRulesActionGeneratorTest.
*/
namespace Drupal\Console\Test\Generator;
use Drupal\Console\Generator\PluginRulesActionGenerator;
use Drupal\Console\Test\DataProvider\PluginRulesActionDataProviderTrait;
class PluginRulesActionGeneratorTest extends GeneratorTest
{
use PluginRulesActionDataProviderTrait;
/**
* PluginRulesAction generator test
*
* @param $module
* @param $class_name
* @param $label
* @param $plugin_id
* @param $category
* @param $context,
* @param $type
*
* @dataProvider commandData
*/
public function testGeneratePluginRulesAction(
$module,
$class_name,
$label,
$plugin_id,
$category,
$context,
$type
) {
$generator = new PluginRulesActionGenerator();
$this->getRenderHelper()->setSkeletonDirs($this->getSkeletonDirs());
$this->getRenderHelper()->setTranslator($this->getTranslatorHelper());
$generator->setHelperSet($this->getHelperSet());
$generator->generate(
$module,
$class_name,
$label,
$plugin_id,
$category,
$context,
$type
);
$files = [
$generator->getSite()->getPluginPath($module, 'Action').'/'.$class_name.'.php',
$generator->getSite()->getModulePath($module).'/config/install/system.action.'.$plugin_id.'.yml'
];
foreach ($files as $file) {
$this->assertTrue(
file_exists($file),
sprintf('%s does not exist', $file)
);
}
}
}

View file

@ -0,0 +1,59 @@
<?php
/**
* @file
* Contains Drupal\Console\Test\Generator\PluginTypeAnnotationGeneratorTest.
*/
namespace Drupal\Console\Test\Generator;
use Drupal\Console\Generator\PluginTypeAnnotationGenerator;
use Drupal\Console\Test\DataProvider\PluginTypeAnnotationDataProviderTrait;
class PluginTypeAnnotationGeneratorTest extends GeneratorTest
{
use PluginTypeAnnotationDataProviderTrait;
/**
* PluginTypeAnnotation generator test
*
* @param $module
* @param $class_name
* @param $machine_name
* @param $label
*
* @dataProvider commandData
*/
public function testGeneratePluginTypeAnnotation(
$module,
$class_name,
$machine_name,
$label
) {
$generator = new PluginTypeAnnotationGenerator();
$this->getRenderHelper()->setSkeletonDirs($this->getSkeletonDirs());
$this->getRenderHelper()->setTranslator($this->getTranslatorHelper());
$generator->setHelperSet($this->getHelperSet());
$generator->generate(
$module,
$class_name,
$machine_name,
$label
);
$files = [
$generator->getSite()->getSourcePath($module) . '/Annotation/' . $class_name . '.php',
$generator->getSite()->getSourcePath($module).'/Plugin/' . $class_name . 'Base.php',
$generator->getSite()->getSourcePath($module).'/Plugin/' . $class_name . 'Interface.php',
$generator->getSite()->getSourcePath($module).'/Plugin/' . $class_name . 'Manager.php',
$generator->getSite()->getModulePath($module) . '/' . $module . '.services.yml'
];
foreach ($files as $file) {
$this->assertTrue(
file_exists($file),
sprintf('%s does not exist', $file)
);
}
}
}

View file

@ -0,0 +1,58 @@
<?php
/**
* @file
* Contains Drupal\Console\Test\Generator\PluginTypeYamlGeneratorTest.
*/
namespace Drupal\Console\Test\Generator;
use Drupal\Console\Generator\PluginTypeYamlGenerator;
use Drupal\Console\Test\DataProvider\PluginTypeYamlDataProviderTrait;
class PluginTypeYamlGeneratorTest extends GeneratorTest
{
use PluginTypeYamlDataProviderTrait;
/**
* PluginTypeYaml generator test
*
* @param $module
* @param $plugin_class
* @param $plugin_name
* @param $plugin_file_name
*
* @dataProvider commandData
*/
public function testGeneratePluginTypeYaml(
$module,
$plugin_class,
$plugin_name,
$plugin_file_name
) {
$generator = new PluginTypeYamlGenerator();
$this->getRenderHelper()->setSkeletonDirs($this->getSkeletonDirs());
$this->getRenderHelper()->setTranslator($this->getTranslatorHelper());
$generator->setHelperSet($this->getHelperSet());
$generator->generate(
$module,
$plugin_class,
$plugin_name,
$plugin_file_name
);
$files = [
$generator->getSite()->getSourcePath($module) . '/' . $plugin_class . 'Manager.php',
$generator->getSite()->getSourcePath($module) . '/' . $plugin_class . 'ManagerInterface.php',
$generator->getSite()->getModulePath($module) . '/' . $module . '.services.yml',
$generator->getSite()->getModulePath($module) . '/' . $module . '.' . $plugin_file_name . '.yml'
];
foreach ($files as $file) {
$this->assertTrue(
file_exists($file),
sprintf('%s does not exist', $file)
);
}
}
}

View file

@ -0,0 +1,74 @@
<?php
/**
* @file
* Contains Drupal\Console\Test\Generator\ProfileGeneratorTest.
*/
namespace Drupal\Console\Test\Generator;
use Drupal\Console\Generator\ProfileGenerator;
use Drupal\Console\Test\DataProvider\ProfileDataProviderTrait;
/**
* Class ProfileGeneratorTest
* @package Drupal\Console\Test\Generator
*/
class ProfileGeneratorTest extends GeneratorTest
{
use ProfileDataProviderTrait;
/**
* Profile generator test.
*
* @param $profile
* @param $machine_name
* @param $profile_path
* @param $description
* @param $core
* @param $dependencies
* @param $distribution
*
* @dataProvider commandData
*/
public function testGenerateProfile(
$profile,
$machine_name,
$profile_path,
$description,
$core,
$dependencies,
$themes,
$distribution
) {
$generator = new ProfileGenerator();
$this->getRenderHelper()->setSkeletonDirs($this->getSkeletonDirs());
$this->getRenderHelper()->setTranslator($this->getTranslatorHelper());
$generator->setHelperSet($this->getHelperSet());
$generator->generate(
$profile,
$machine_name,
$profile_path,
$description,
$core,
$dependencies,
$themes,
$distribution
);
$files = [
$machine_name . '.info.yml',
$machine_name . '.install',
$machine_name . '.profile',
];
foreach ($files as $file) {
$file_path = $profile_path . '/' . $machine_name . '/' . $file;
$this->assertTrue(
file_exists($file_path),
sprintf('%s has been generated', $file_path)
);
}
}
}

View file

@ -0,0 +1,63 @@
<?php
/**
* @file
* Contains Drupal\Console\Test\Generator\ServiceGeneratorTest.
*/
namespace Drupal\Console\Test\Generator;
use Drupal\Console\Generator\ServiceGenerator;
use Drupal\Console\Test\DataProvider\ServiceDataProviderTrait;
class ServiceGeneratorTest extends GeneratorTest
{
use ServiceDataProviderTrait;
/**
* Service generator test
*
* @param $module
* @param $name
* @param $class
* @param $interface
* @param $services
* @param $path_service
*
* @dataProvider commandData
*/
public function testGenerateService(
$module,
$name,
$class,
$interface,
$services,
$path_service
) {
$generator = new ServiceGenerator();
$this->getRenderHelper()->setSkeletonDirs($this->getSkeletonDirs());
$this->getRenderHelper()->setTranslator($this->getTranslatorHelper());
$generator->setHelperSet($this->getHelperSet());
$generator->generate(
$module,
$name,
$class,
$interface,
$services,
$path_service
);
$files = [
$generator->getSite()->getModulePath($module).'/'.$module.'.services.yml',
$generator->getSite()->getModulePath($module).'/'.$path_service .'/'.$class.'.php'
];
foreach ($files as $file) {
$this->assertTrue(
file_exists($file),
sprintf('%s does not exist', $file)
);
}
}
}

View file

@ -0,0 +1,82 @@
<?php
/**
* @file
* Contains Drupal\Console\Test\Generator\ThemeGeneratorTest.
*/
namespace Drupal\Console\Test\Generator;
use Drupal\Console\Generator\ThemeGenerator;
use Drupal\Console\Test\DataProvider\ThemeDataProviderTrait;
class ThemeGeneratorTest extends GeneratorTest
{
use ThemeDataProviderTrait;
/**
* Theme generator test
*
* @param $theme
* @param $machine_name
* @param $theme_path
* @param $description
* @param $core
* @param $package
* @param $global_library
* @param $base_theme
* @param $regions
* @param $breakpoints
*
* @dataProvider commandData
*/
public function testGenerateTheme(
$theme,
$machine_name,
$theme_path,
$description,
$core,
$package,
$global_library,
$base_theme,
$regions,
$breakpoints
) {
$generator = new ThemeGenerator();
$this->getRenderHelper()->setSkeletonDirs($this->getSkeletonDirs());
$this->getRenderHelper()->setTranslator($this->getTranslatorHelper());
$generator->setHelperSet($this->getHelperSet());
$generator->generate(
$theme,
$machine_name,
$theme_path,
$description,
$core,
$package,
$global_library,
$base_theme,
$regions,
$breakpoints
);
$files = [
$theme_path . '/' . $machine_name . '/' . $machine_name . '.info.yml',
$theme_path . '/' . $machine_name . '/' . $machine_name . '.theme'
];
foreach ($files as $file) {
$this->assertTrue(
file_exists($file),
sprintf('%s does not exist', $file)
);
}
if ($breakpoints) {
$this->assertTrue(
file_exists($theme_path . '/' . $machine_name . '.breakpoints.yml'),
sprintf('%s does not exist', $machine_name . '.breakpoints.yml')
);
}
}
}

View file

@ -0,0 +1,55 @@
<?php
namespace Drupal\Console\Test\Helper;
use Drupal\Console\Helper\StringHelper;
class StringHelperTest extends \PHPUnit_Framework_TestCase
{
/* @var $stringHelper */
protected $stringHelper;
protected function setUp()
{
$this->stringHelper = new StringHelper();
}
/**
* @dataProvider getDataNames
*/
public function testCreateMachineName($input, $machine_name)
{
$this->assertEquals($this->stringHelper->createMachineName($input), $machine_name);
}
/**
* @dataProvider getDataCamelCaseNames
*/
public function testCamelCaseToMachineName($camel_case, $machine_name)
{
$this->assertEquals($this->stringHelper->camelCaseToMachineName($camel_case), $machine_name);
}
/**
* Random strings and their equivalent machine-name
*/
public function getDataNames()
{
return [
['Test Space between words', 'test_space_between_words'],
['test$special*characters!', 'test_special_characters'],
['URL', 'url'],
];
}
/**
* Camel-case strings and their equivalent machine-name
*/
public function getDataCamelCaseNames()
{
return [
['camelCase', 'camel_case'],
['greatestFunctionEverWritten', 'greatest_function_ever_written'],
['WakeUp', 'wake_up'],
];
}
}