From df185a0cf30d31857d361c7187845de6ffe9cef5 Mon Sep 17 00:00:00 2001 From: Antonio De Marco <antonio@nuvole.org> Date: Sat, 22 Apr 2017 11:47:10 +0200 Subject: [PATCH] #91: Move source field manager and refactor test. --- .../src/Plugin/DsFieldTemplate/Pattern.php | 6 +- .../FieldGroupFormatter/PatternFormatter.php | 6 +- .../src/Plugin/Deriver/LibraryDeriver.php | 11 +- .../src/Form/PatternDisplayTestForm.php | 4 +- .../src/Plugin/views/row/Pattern.php | 6 +- src/Annotation/UiPatternsSource.php | 2 +- src/Form/PatternDisplayFormTrait.php | 2 +- src/UiPatterns.php | 2 +- src/{Plugin => }/UiPatternsSourceManager.php | 10 +- tests/src/Kernel/AbstractUiPatternsTest.php | 47 ------- tests/src/Kernel/UiPatternsManagerTest.php | 34 ----- .../Kernel/UiPatternsSourceManagerTest.php | 45 ++++++ tests/src/Unit/AbstractUiPatternsTest.php | 109 -------------- .../src/Unit/UiPatternsSourceManagerTest.php | 36 ----- .../fixtures/base_theme/base_theme.info.yml | 3 - .../base_theme/base_theme.ui_patterns.yml | 29 ---- tests/src/fixtures/module/module.info.yml | 3 - .../fixtures/module/module.ui_patterns.yml | 29 ---- .../module/src/FieldTemplateProcessor.php | 133 ------------------ .../src/FieldTemplateProcessorInterface.php | 22 --- .../UiPatterns/Source/TestOneFieldSource.php | 30 ---- .../UiPatterns/Source/TestTwoFieldSource.php | 30 ---- .../theme/pattern/pattern.ui_patterns.yml | 29 ---- tests/src/fixtures/theme/theme.info.yml | 4 - .../src/fixtures/theme/theme.ui_patterns.yml | 14 -- ui_patterns.api.php | 2 +- ui_patterns.services.yml | 2 +- 27 files changed, 71 insertions(+), 579 deletions(-) rename src/{Plugin => }/UiPatternsSourceManager.php (82%) create mode 100644 tests/src/Kernel/UiPatternsSourceManagerTest.php delete mode 100644 tests/src/Unit/UiPatternsSourceManagerTest.php delete mode 100644 tests/src/fixtures/base_theme/base_theme.info.yml delete mode 100644 tests/src/fixtures/base_theme/base_theme.ui_patterns.yml delete mode 100644 tests/src/fixtures/module/module.info.yml delete mode 100644 tests/src/fixtures/module/module.ui_patterns.yml delete mode 100644 tests/src/fixtures/module/src/FieldTemplateProcessor.php delete mode 100644 tests/src/fixtures/module/src/FieldTemplateProcessorInterface.php delete mode 100644 tests/src/fixtures/module/src/Plugin/UiPatterns/Source/TestOneFieldSource.php delete mode 100644 tests/src/fixtures/module/src/Plugin/UiPatterns/Source/TestTwoFieldSource.php delete mode 100644 tests/src/fixtures/theme/pattern/pattern.ui_patterns.yml delete mode 100644 tests/src/fixtures/theme/theme.info.yml delete mode 100644 tests/src/fixtures/theme/theme.ui_patterns.yml diff --git a/modules/ui_patterns_ds/src/Plugin/DsFieldTemplate/Pattern.php b/modules/ui_patterns_ds/src/Plugin/DsFieldTemplate/Pattern.php index 23e06b8da..3a2757837 100644 --- a/modules/ui_patterns_ds/src/Plugin/DsFieldTemplate/Pattern.php +++ b/modules/ui_patterns_ds/src/Plugin/DsFieldTemplate/Pattern.php @@ -5,7 +5,7 @@ namespace Drupal\ui_patterns_ds\Plugin\DsFieldTemplate; use Drupal\Core\Plugin\ContainerFactoryPluginInterface; use Drupal\ds\Plugin\DsFieldTemplate\DsFieldTemplateBase; use Drupal\ui_patterns\Form\PatternDisplayFormTrait; -use Drupal\ui_patterns\Plugin\UiPatternsSourceManager; +use Drupal\ui_patterns\UiPatternsSourceManager; use Drupal\ui_patterns\UiPatternsManager; use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\HttpFoundation\RequestStack; @@ -34,7 +34,7 @@ class Pattern extends DsFieldTemplateBase implements ContainerFactoryPluginInter /** * UI Patterns manager. * - * @var \Drupal\ui_patterns\Plugin\UiPatternsSourceManager + * @var \Drupal\ui_patterns\UiPatternsSourceManager */ protected $sourceManager; @@ -63,7 +63,7 @@ class Pattern extends DsFieldTemplateBase implements ContainerFactoryPluginInter * The plugin implementation definition. * @param \Drupal\ui_patterns\UiPatternsManager $patterns_manager * UI Patterns manager. - * @param \Drupal\ui_patterns\Plugin\UiPatternsSourceManager $source_manager + * @param \Drupal\ui_patterns\UiPatternsSourceManager $source_manager * UI Patterns source manager. * @param \Symfony\Component\HttpFoundation\RequestStack $parameters * Current $_POST parameters. diff --git a/modules/ui_patterns_field_group/src/Plugin/field_group/FieldGroupFormatter/PatternFormatter.php b/modules/ui_patterns_field_group/src/Plugin/field_group/FieldGroupFormatter/PatternFormatter.php index 828ebc35a..6bbcbc52d 100644 --- a/modules/ui_patterns_field_group/src/Plugin/field_group/FieldGroupFormatter/PatternFormatter.php +++ b/modules/ui_patterns_field_group/src/Plugin/field_group/FieldGroupFormatter/PatternFormatter.php @@ -5,7 +5,7 @@ namespace Drupal\ui_patterns_field_group\Plugin\field_group\FieldGroupFormatter; use Drupal\Core\Plugin\ContainerFactoryPluginInterface; use Drupal\field_group\FieldGroupFormatterBase; use Drupal\ui_patterns\Form\PatternDisplayFormTrait; -use Drupal\ui_patterns\Plugin\UiPatternsSourceManager; +use Drupal\ui_patterns\UiPatternsSourceManager; use Drupal\ui_patterns\UiPatternsManager; use Symfony\Component\DependencyInjection\ContainerInterface; @@ -35,7 +35,7 @@ class PatternFormatter extends FieldGroupFormatterBase implements ContainerFacto /** * UI Patterns manager. * - * @var \Drupal\ui_patterns\Plugin\UiPatternsSourceManager + * @var \Drupal\ui_patterns\UiPatternsSourceManager */ protected $sourceManager; @@ -50,7 +50,7 @@ class PatternFormatter extends FieldGroupFormatterBase implements ContainerFacto * The plugin implementation definition. * @param \Drupal\ui_patterns\UiPatternsManager $patterns_manager * UI Patterns manager. - * @param \Drupal\ui_patterns\Plugin\UiPatternsSourceManager $source_manager + * @param \Drupal\ui_patterns\UiPatternsSourceManager $source_manager * UI Patterns source manager. */ public function __construct($configuration, $plugin_id, $plugin_definition, UiPatternsManager $patterns_manager, UiPatternsSourceManager $source_manager) { diff --git a/modules/ui_patterns_library/src/Plugin/Deriver/LibraryDeriver.php b/modules/ui_patterns_library/src/Plugin/Deriver/LibraryDeriver.php index 03736a0af..84cf2a6fc 100644 --- a/modules/ui_patterns_library/src/Plugin/Deriver/LibraryDeriver.php +++ b/modules/ui_patterns_library/src/Plugin/Deriver/LibraryDeriver.php @@ -66,6 +66,13 @@ class LibraryDeriver extends AbstractYamlDeriver { */ protected $extensionLocations = []; + /** + * List of valid definition file extensions. + * + * @var array + */ + protected $fileExtensions = []; + /** * Constructor. * @@ -85,7 +92,7 @@ class LibraryDeriver extends AbstractYamlDeriver { public function __construct($base_plugin_id, TypedDataManager $typed_data_manager, $root, array $extensions, ModuleHandlerInterface $module_handler, ThemeHandlerInterface $theme_handler) { parent::__construct($base_plugin_id, $typed_data_manager); $this->root = $root; - $this->extensions = $extensions; + $this->fileExtensions = $extensions; $this->moduleHandler = $module_handler; $this->themeHandler = $theme_handler; $this->extensionDiscovery = new ExtensionDiscovery($root); @@ -109,7 +116,7 @@ class LibraryDeriver extends AbstractYamlDeriver { * {@inheritdoc} */ public function getFileExtensions() { - return $this->extensions; + return $this->fileExtensions; } /** diff --git a/modules/ui_patterns_test/src/Form/PatternDisplayTestForm.php b/modules/ui_patterns_test/src/Form/PatternDisplayTestForm.php index 612f7a61c..e2f094afc 100644 --- a/modules/ui_patterns_test/src/Form/PatternDisplayTestForm.php +++ b/modules/ui_patterns_test/src/Form/PatternDisplayTestForm.php @@ -5,7 +5,7 @@ namespace Drupal\ui_patterns_test\Form; use Drupal\Core\Form\FormBase; use Drupal\Core\Form\FormStateInterface; use Drupal\ui_patterns\Form\PatternDisplayFormTrait; -use Drupal\ui_patterns\Plugin\UiPatternsSourceManager; +use Drupal\ui_patterns\UiPatternsSourceManager; use Symfony\Component\DependencyInjection\ContainerInterface; use Drupal\ui_patterns\UiPatternsManager; @@ -28,7 +28,7 @@ class PatternDisplayTestForm extends FormBase { /** * UI Patterns manager. * - * @var \Drupal\ui_patterns\Plugin\UiPatternsSourceManager + * @var \Drupal\ui_patterns\UiPatternsSourceManager */ protected $patternsManager; diff --git a/modules/ui_patterns_views/src/Plugin/views/row/Pattern.php b/modules/ui_patterns_views/src/Plugin/views/row/Pattern.php index 778fcdea0..029330844 100644 --- a/modules/ui_patterns_views/src/Plugin/views/row/Pattern.php +++ b/modules/ui_patterns_views/src/Plugin/views/row/Pattern.php @@ -4,7 +4,7 @@ namespace Drupal\ui_patterns_views\Plugin\views\row; use Drupal\Core\Form\FormStateInterface; use Drupal\ui_patterns\Form\PatternDisplayFormTrait; -use Drupal\ui_patterns\Plugin\UiPatternsSourceManager; +use Drupal\ui_patterns\UiPatternsSourceManager; use Drupal\ui_patterns\UiPatternsManager; use Drupal\views\Plugin\views\field\FieldPluginBase; use Drupal\views\Plugin\views\row\Fields; @@ -37,7 +37,7 @@ class Pattern extends Fields { /** * UI Patterns manager. * - * @var \Drupal\ui_patterns\Plugin\UiPatternsSourceManager + * @var \Drupal\ui_patterns\UiPatternsSourceManager */ protected $sourceManager; @@ -52,7 +52,7 @@ class Pattern extends Fields { * The plugin implementation definition. * @param \Drupal\ui_patterns\UiPatternsManager $patterns_manager * UI Patterns manager. - * @param \Drupal\ui_patterns\Plugin\UiPatternsSourceManager $source_manager + * @param \Drupal\ui_patterns\UiPatternsSourceManager $source_manager * UI Patterns source manager. */ public function __construct(array $configuration, $plugin_id, $plugin_definition, UiPatternsManager $patterns_manager, UiPatternsSourceManager $source_manager) { diff --git a/src/Annotation/UiPatternsSource.php b/src/Annotation/UiPatternsSource.php index d4aae6149..cfbcb053f 100644 --- a/src/Annotation/UiPatternsSource.php +++ b/src/Annotation/UiPatternsSource.php @@ -7,7 +7,7 @@ use Drupal\Component\Annotation\Plugin; /** * Defines a UI Patterns Source item annotation object. * - * @see \Drupal\ui_patterns\Plugin\UiPatternsSourceManager + * @see \Drupal\ui_patterns\UiPatternsSourceManager * @see plugin_api * * @Annotation diff --git a/src/Form/PatternDisplayFormTrait.php b/src/Form/PatternDisplayFormTrait.php index f4760f81d..0fa6aa386 100644 --- a/src/Form/PatternDisplayFormTrait.php +++ b/src/Form/PatternDisplayFormTrait.php @@ -9,7 +9,7 @@ use Drupal\ui_patterns\Plugin\UiPatternsSourceBase; * Trait PatternDisplayFormTrait. * * @property \Drupal\ui_patterns\UiPatternsManager $patternsManager - * @property \Drupal\ui_patterns\Plugin\UiPatternsSourceManager $sourceManager + * @property \Drupal\ui_patterns\UiPatternsSourceManager $sourceManager * @method \Drupal\Core\StringTranslation\TranslatableMarkup t($string, array $args = [], array $options = []) * * @package Drupal\ui_patterns\Form diff --git a/src/UiPatterns.php b/src/UiPatterns.php index 5f2323a07..501080f39 100644 --- a/src/UiPatterns.php +++ b/src/UiPatterns.php @@ -22,7 +22,7 @@ class UiPatterns { /** * Get pattern field sources manager instance. * - * @return \Drupal\ui_patterns\Plugin\UiPatternsSourceManager + * @return \Drupal\ui_patterns\UiPatternsSourceManager * UI Patterns field sources manager instance. */ public static function getSourceManager() { diff --git a/src/Plugin/UiPatternsSourceManager.php b/src/UiPatternsSourceManager.php similarity index 82% rename from src/Plugin/UiPatternsSourceManager.php rename to src/UiPatternsSourceManager.php index 1d8acf3ae..544735b25 100644 --- a/src/Plugin/UiPatternsSourceManager.php +++ b/src/UiPatternsSourceManager.php @@ -1,6 +1,6 @@ <?php -namespace Drupal\ui_patterns\Plugin; +namespace Drupal\ui_patterns; use Drupal\Core\Plugin\DefaultPluginManager; use Drupal\Core\Cache\CacheBackendInterface; @@ -18,14 +18,6 @@ class UiPatternsSourceManager extends DefaultPluginManager { /** * Constructor for UiPatternsSourceManager objects. - * - * @param \Traversable $namespaces - * An object that implements \Traversable which contains the root paths - * keyed by the corresponding namespace to look for plugin implementations. - * @param \Drupal\Core\Cache\CacheBackendInterface $cache_backend - * Cache backend instance to use. - * @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler - * The module handler to invoke the alter hook with. */ public function __construct(\Traversable $namespaces, CacheBackendInterface $cache_backend, ModuleHandlerInterface $module_handler) { parent::__construct('Plugin/UiPatterns/Source', $namespaces, $module_handler, 'Drupal\ui_patterns\Plugin\UiPatternsSourceInterface', 'Drupal\ui_patterns\Annotation\UiPatternsSource'); diff --git a/tests/src/Kernel/AbstractUiPatternsTest.php b/tests/src/Kernel/AbstractUiPatternsTest.php index 3d74a6d23..de3d67b7a 100644 --- a/tests/src/Kernel/AbstractUiPatternsTest.php +++ b/tests/src/Kernel/AbstractUiPatternsTest.php @@ -3,10 +3,6 @@ namespace Drupal\Tests\ui_patterns\Kernel; use Drupal\KernelTests\KernelTestBase; -use Drupal\ui_patterns\UiPatterns; -use Symfony\Component\Finder\Finder; -use Drupal\Component\Serialization\Yaml; -use Drupal\ui_patterns\UiPatternsManager; /** * Class AbstractUiPatternsTest. @@ -25,49 +21,6 @@ abstract class AbstractUiPatternsTest extends KernelTestBase { 'ui_patterns_test', ]; - /** - * Get fixture definitions. - * - * @return array - * List of definitions. - */ - protected function getFixtureDefinitions() { - $definitions = []; - $finder = new Finder(); - $finder->name('/\.ui_patterns\.yml$/')->in([realpath(dirname(__FILE__) . '/../fixtures')]); - foreach ($finder as $file) { - $content = Yaml::decode($file->getContents()); - foreach ($content as $id => $definition) { - $definitions["yaml:$id"] = $definition; - $definitions["yaml:$id"]['id'] = $id; - $definitions["yaml:$id"]['class'] = '\Drupal\ui_patterns\Plugin\UiPatterns\Pattern\YamlPattern'; - } - } - return $definitions; - } - - /** - * Return plugin manager using given definitions. - * - * @param array $definitions - * Array of plugin definitions. - * - * @return \Drupal\ui_patterns\UiPatternsManager - * Plugin manager object. - */ - protected function getPluginManager(array $definitions) { - $manager = UiPatterns::getManager(); - $manager_mock = $this->getMockBuilder(UiPatternsManager::class) - ->disableOriginalConstructor() - ->setMethods(['findDefinitions']) - ->setProxyTarget($manager) - ->getMock(); - $manager_mock->method('findDefinitions')->willReturn($definitions); - - /** @var \Drupal\ui_patterns\UiPatternsManager $manager_mock */ - return $manager_mock; - } - /** * Get fixtures base path. * diff --git a/tests/src/Kernel/UiPatternsManagerTest.php b/tests/src/Kernel/UiPatternsManagerTest.php index 923ac7590..fab7d321e 100644 --- a/tests/src/Kernel/UiPatternsManagerTest.php +++ b/tests/src/Kernel/UiPatternsManagerTest.php @@ -3,9 +3,6 @@ namespace Drupal\Tests\ui_patterns\Kernel; use function bovigo\assert\assert; -use function bovigo\assert\predicate\isNotEmpty; -use function bovigo\assert\predicate\doesNotHaveKey; -use function bovigo\assert\predicate\hasKey; use function bovigo\assert\predicate\equals; use Drupal\ui_patterns\UiPatterns; @@ -16,37 +13,6 @@ use Drupal\ui_patterns\UiPatterns; */ class UiPatternsManagerTest extends AbstractUiPatternsTest { - /** - * Test UiPatternsManager::getDefinitions. - * - * @covers ::getDefinitions - */ - public function testGetDefinitions() { - $manager = $this->getPluginManager($this->getFixtureDefinitions()); - $definitions = $manager->getDefinitions(); - assert($definitions, isNotEmpty()); - - foreach ($this->getFixtureDefinitions() as $fixture_id => $fixture) { - assert($definitions, doesNotHaveKey($fixture_id)); - assert($definitions, hasKey($fixture['id'])); - } - } - - /** - * Test UiPatternsManager::getPatternsOptions. - * - * @covers ::getPatternsOptions - */ - public function testGetPatternsOptions() { - $manager = $this->getPluginManager($this->getFixtureDefinitions()); - $options = $manager->getPatternsOptions(); - - foreach ($this->getFixtureDefinitions() as $fixture) { - assert($options, hasKey($fixture['id'])); - assert($options[$fixture['id']], equals($fixture['label'])); - } - } - /** * Test UiPatternsManager::getPattern. * diff --git a/tests/src/Kernel/UiPatternsSourceManagerTest.php b/tests/src/Kernel/UiPatternsSourceManagerTest.php new file mode 100644 index 000000000..8e7108a3b --- /dev/null +++ b/tests/src/Kernel/UiPatternsSourceManagerTest.php @@ -0,0 +1,45 @@ +<?php + +namespace Drupal\Tests\ui_patterns\Kernel; + +use function bovigo\assert\assert; +use function bovigo\assert\predicate\isNotEmpty; +use function bovigo\assert\predicate\hasKey; +use function bovigo\assert\predicate\equals; + +/** + * @coversDefaultClass \Drupal\ui_patterns\UiPatternsSourceManager + * + * @group ui_patterns + */ +class UiPatternsSourceManagerTest extends AbstractUiPatternsTest { + + /** + * Test processDefinition. + * + * @covers ::processDefinition + */ + public function testProcessDefinition() { + /** @var \Drupal\ui_patterns\UiPatternsSourceManager $service */ + $plugin_manager = \Drupal::service('plugin.manager.ui_patterns_source'); + + $definitions = $plugin_manager->getDefinitions(); + assert($definitions, isNotEmpty()->and(hasKey('test_source'))); + + $expected = [ + ['name' => 'field_1', 'label' => 'Field 1'], + ['name' => 'field_2', 'label' => 'Field 2'], + ['name' => 'field_3', 'label' => 'Field 3'], + ['name' => 'field_4', 'label' => 'Field 4'], + ['name' => 'field_5', 'label' => 'Field 5'], + ]; + + /** @var \Drupal\ui_patterns\Plugin\UiPatternsSourceBase $plugin */ + $plugin = $plugin_manager->createInstance('test_source'); + foreach ($plugin->getSourceFields() as $key => $field) { + assert($field->getFieldName(), equals($expected[$key]['name'])); + assert($field->getFieldLabel(), equals($expected[$key]['label'])); + } + } + +} diff --git a/tests/src/Unit/AbstractUiPatternsTest.php b/tests/src/Unit/AbstractUiPatternsTest.php index 1f84b5bb1..209bddd21 100644 --- a/tests/src/Unit/AbstractUiPatternsTest.php +++ b/tests/src/Unit/AbstractUiPatternsTest.php @@ -2,7 +2,6 @@ namespace Drupal\Tests\ui_patterns\Unit; -use Drupal\Component\FileCache\FileCacheFactory; use Drupal\Tests\UnitTestCase; /** @@ -12,114 +11,6 @@ use Drupal\Tests\UnitTestCase; */ abstract class AbstractUiPatternsTest extends UnitTestCase { - /** - * Get full test extension path. - * - * @param string $name - * Test extension name. - * - * @return string - * Full test extension path. - */ - protected function getExtensionsPath($name) { - return realpath(dirname(__FILE__) . '/../fixtures/' . $name . '/'); - } - - /** - * Get ModuleHandler mock. - * - * @return \Drupal\Core\Extension\ModuleHandlerInterface - * ModuleHandler mock. - */ - protected function getModuleHandlerMock() { - $module_handler = $this->createMock('Drupal\Core\Extension\ModuleHandlerInterface'); - $module_handler->method('getModuleDirectories')->willReturn($this->getModuleDirectoriesMock()); - - $extension = $this->getExtensionMock(); - $module_handler->method('getModule')->willReturn($extension); - $module_handler->method('moduleExists')->willReturn(TRUE); - - /** @var \Drupal\Core\Extension\ModuleHandlerInterface $module_handler */ - return $module_handler; - } - - /** - * Get Extension mock. - * - * @return \Drupal\Core\Extension\Extension - * Extension mock. - */ - protected function getExtensionMock() { - $extension = $this->getMockBuilder('Drupal\Core\Extension\Extension') - ->disableOriginalConstructor() - ->getMock(); - $extension->method('getPath')->willReturn($this->getExtensionsPath('module')); - - /** @var \Drupal\Core\Extension\Extension $extension */ - return $extension; - } - - /** - * Get CacheBackend mock. - * - * @return \Drupal\Core\Cache\CacheBackendInterface - * CacheBackend mock. - */ - protected function getCacheBackendMock() { - FileCacheFactory::setPrefix('something'); - $cache_backend = $this->createMock('Drupal\Core\Cache\CacheBackendInterface'); - - /** @var \Drupal\Core\Cache\CacheBackendInterface $cache_backend */ - return $cache_backend; - } - - /** - * Get ThemeHandler mock. - * - * @return \Drupal\Core\Extension\ThemeHandlerInterface - * ThemeHandler mock. - */ - protected function getThemeHandlerMock() { - $theme_handler = $this->getMockBuilder('Drupal\Core\Extension\ThemeHandlerInterface') - ->disableOriginalConstructor() - ->getMock(); - $theme_handler->method('getThemeDirectories')->willReturn($this->getDefaultAndBaseThemesDirectoriesMock()); - $theme_handler->method('themeExists')->willReturn(TRUE); - $theme_handler->method('getDefault')->willReturn('theme'); - $theme_handler->method('listInfo')->willReturn([]); - $theme_handler->method('getBaseThemes')->willReturn([ - 'base_theme' => new \stdClass(), - ]); - - /** @var \Drupal\Core\Extension\ThemeHandlerInterface $theme_handler */ - return $theme_handler; - } - - /** - * ModuleHandlerInterface::getModuleDirectories method mock. - * - * @return array - * Array with module names as keys and full paths as values. - */ - protected function getModuleDirectoriesMock() { - return [ - 'module' => $this->getExtensionsPath('module'), - ]; - } - - /** - * UiPatternsDiscovery::getDefaultAndBaseThemesDirectories method mock. - * - * @return array - * Array with theme names as keys and full paths as values. - */ - protected function getDefaultAndBaseThemesDirectoriesMock() { - return [ - 'theme' => $this->getExtensionsPath('theme'), - 'base_theme' => $this->getExtensionsPath('base_theme'), - ]; - } - /** * Get fixtures base path. * diff --git a/tests/src/Unit/UiPatternsSourceManagerTest.php b/tests/src/Unit/UiPatternsSourceManagerTest.php deleted file mode 100644 index a668c3e4e..000000000 --- a/tests/src/Unit/UiPatternsSourceManagerTest.php +++ /dev/null @@ -1,36 +0,0 @@ -<?php - -namespace Drupal\Tests\ui_patterns\Unit; - -use function bovigo\assert\assert; -use function bovigo\assert\predicate\isNotEmpty; -use function bovigo\assert\predicate\hasKey; -use Drupal\ui_patterns\Plugin\UiPatternsSourceManager; - -/** - * @coversDefaultClass \Drupal\ui_patterns\Plugin\UiPatternsSourceManager - * - * @group ui_patterns - */ -class UiPatternsSourceManagerTest extends AbstractUiPatternsTest { - - /** - * Test processDefinition. - * - * @covers ::processDefinition - */ - public function testProcessDefinition() { - $cache_backend = $this->getCacheBackendMock(); - $module_handler = $this->getModuleHandlerMock(); - $path = $this->getExtensionsPath('module') . '/src'; - $traversable = new \ArrayObject(['Drupal\\module' => $path]); - $plugin_manager = new UiPatternsSourceManager($traversable, $cache_backend, $module_handler); - - $definitions = $plugin_manager->getDefinitions(); - assert($definitions, isNotEmpty() - ->and(hasKey('test_one')) - ->and(hasKey('test_two')) - ); - } - -} diff --git a/tests/src/fixtures/base_theme/base_theme.info.yml b/tests/src/fixtures/base_theme/base_theme.info.yml deleted file mode 100644 index 95095cb5c..000000000 --- a/tests/src/fixtures/base_theme/base_theme.info.yml +++ /dev/null @@ -1,3 +0,0 @@ -name: Base theme -type: theme -core: 8.x diff --git a/tests/src/fixtures/base_theme/base_theme.ui_patterns.yml b/tests/src/fixtures/base_theme/base_theme.ui_patterns.yml deleted file mode 100644 index 48b91d835..000000000 --- a/tests/src/fixtures/base_theme/base_theme.ui_patterns.yml +++ /dev/null @@ -1,29 +0,0 @@ -pattern_base_theme_one: - label: Pattern base theme one - description: Pattern base theme one description. - fields: - field_one: - type: text - label: Field one - description: Field one description. - preview: Field one preview. - field_two: - type: text - label: Field two - description: Field two description. - preview: Field two preview. - -pattern_base_theme_two: - label: Pattern base theme two - description: Pattern base theme two description. - fields: - field_one: - type: text - label: Field one - description: Field one description. - preview: Field one preview. - field_two: - type: text - label: Field two - description: Field two description. - preview: Field two preview. diff --git a/tests/src/fixtures/module/module.info.yml b/tests/src/fixtures/module/module.info.yml deleted file mode 100644 index 007b569c9..000000000 --- a/tests/src/fixtures/module/module.info.yml +++ /dev/null @@ -1,3 +0,0 @@ -name: Module -type: module -core: 8.x diff --git a/tests/src/fixtures/module/module.ui_patterns.yml b/tests/src/fixtures/module/module.ui_patterns.yml deleted file mode 100644 index 467ad8995..000000000 --- a/tests/src/fixtures/module/module.ui_patterns.yml +++ /dev/null @@ -1,29 +0,0 @@ -pattern_module_one: - label: Pattern module one - description: Pattern module one description. - fields: - field_one: - type: text - label: Field one - description: Field one description. - preview: Field one preview. - field_two: - type: text - label: Field two - description: Field two description. - preview: Field two preview. - -pattern_module_two: - label: Pattern module two - description: Pattern module two description. - fields: - field_one: - type: text - label: Field one - description: Field one description. - preview: Field one preview. - field_two: - type: text - label: Field two - description: Field two description. - preview: Field two preview. diff --git a/tests/src/fixtures/module/src/FieldTemplateProcessor.php b/tests/src/fixtures/module/src/FieldTemplateProcessor.php deleted file mode 100644 index 2cf64570e..000000000 --- a/tests/src/fixtures/module/src/FieldTemplateProcessor.php +++ /dev/null @@ -1,133 +0,0 @@ -<?php - -namespace Drupal\ui_patterns_ds; - -/** - * Class FieldTemplateProcessor. - * - * @package Drupal\ui_patterns_ds - */ -class FieldTemplateProcessor implements FieldTemplateProcessorInterface { - - /** - * Variables array. - * - * @var array - */ - protected $variables = []; - - /** - * {@inheritdoc} - */ - public function process(&$variables) { - $this->variables = $variables; - - $content = []; - foreach ($variables['items'] as $delta => $item) { - $fields = []; - foreach ($this->getMapping() as $mapping) { - $fields[$mapping['destination']] = $this->getSourceValue($mapping, $delta); - } - - $content['pattern_' . $delta] = [ - '#type' => 'pattern', - '#id' => $this->getPatternId(), - '#fields' => $fields, - '#context' => $this->getContext(), - ]; - } - - $variables['pattern'] = $content; - } - - /** - * Get source value. - * - * @param array $mapping - * Mapping array. - * @param int $delta - * Field delta. - * - * @return mixed - * Source value. - */ - public function getSourceValue(array $mapping, $delta) { - $value = $this->variables['items'][$delta]['content']; - if ($mapping['source'] != $this->getFieldName()) { - $column = $this->getColumnName($mapping['source']); - $value = $this->getEntity()->get($this->getFieldName())->getValue(); - $value = $value[$delta][$column]; - } - return $value; - } - - /** - * Get field parent entity. - * - * @return \Drupal\Core\Entity\ContentEntityBase - * Parent entity. - */ - protected function getEntity() { - return $this->variables['element']['#object']; - } - - /** - * Get Pattern ID. - * - * @return string - * Pattern ID. - */ - protected function getPatternId() { - return $this->variables['ds-config']['settings']['pattern']; - } - - /** - * Get mapping settings. - * - * @return mixed - * Mapping settings. - */ - protected function getMapping() { - return $this->variables['ds-config']['settings']['pattern_mapping']; - } - - /** - * Get field name. - * - * @return string - * Field name. - */ - protected function getFieldName() { - return $this->variables['field_name']; - } - - /** - * Extract column name from a source name. - * - * @param string $source - * Source name. - * - * @return string - * Column name. - */ - protected function getColumnName($source) { - return str_replace($this->getFieldName() . '__', '', $source); - } - - /** - * Get pattern context. - * - * @return array - * Pattern context. - */ - protected function getContext() { - return [ - 'type' => 'ds_field_template', - 'field_name' => $this->getFieldName(), - 'entity_type' => $this->variables['element']['#entity_type'], - 'bundle' => $this->variables['element']['#bundle'], - 'view_mode' => $this->variables['element']['#view_mode'], - ]; - } - -} diff --git a/tests/src/fixtures/module/src/FieldTemplateProcessorInterface.php b/tests/src/fixtures/module/src/FieldTemplateProcessorInterface.php deleted file mode 100644 index 6bc67a4fb..000000000 --- a/tests/src/fixtures/module/src/FieldTemplateProcessorInterface.php +++ /dev/null @@ -1,22 +0,0 @@ -<?php - -namespace Drupal\ui_patterns_ds; - -/** - * Interface FieldTemplateProcessorInterface. - * - * @package Drupal\ui_patterns_ds - */ -interface FieldTemplateProcessorInterface { - - /** - * Process field template variables. - * - * @param array $variables - * Variables array. - * - * @see template_preprocess_field__pattern_ds_field_template() - */ - public function process(&$variables); - -} diff --git a/tests/src/fixtures/module/src/Plugin/UiPatterns/Source/TestOneFieldSource.php b/tests/src/fixtures/module/src/Plugin/UiPatterns/Source/TestOneFieldSource.php deleted file mode 100644 index 2d783cfa9..000000000 --- a/tests/src/fixtures/module/src/Plugin/UiPatterns/Source/TestOneFieldSource.php +++ /dev/null @@ -1,30 +0,0 @@ -<?php - -namespace Drupal\module\Plugin\UiPatterns\Source; - -use Drupal\ui_patterns\Plugin\UiPatternsSourceBase; - -/** - * Test one. - * - * @UiPatternsSource( - * id = "test_one", - * label = @Translation("Test one"), - * provider = "module", - * tags = { - * "test" - * } - * ) - */ -class TestOneFieldSource extends UiPatternsSourceBase { - - /** - * {@inheritdoc} - */ - public function getSourceFields() { - return [ - $this->getSourceField('test_one', 'Test one'), - ]; - } - -} diff --git a/tests/src/fixtures/module/src/Plugin/UiPatterns/Source/TestTwoFieldSource.php b/tests/src/fixtures/module/src/Plugin/UiPatterns/Source/TestTwoFieldSource.php deleted file mode 100644 index c9743d008..000000000 --- a/tests/src/fixtures/module/src/Plugin/UiPatterns/Source/TestTwoFieldSource.php +++ /dev/null @@ -1,30 +0,0 @@ -<?php - -namespace Drupal\module\Plugin\UiPatterns\Source; - -use Drupal\ui_patterns\Plugin\UiPatternsSourceBase; - -/** - * Test two. - * - * @UiPatternsSource( - * id = "test_two", - * label = @Translation("Test two"), - * provider = "module", - * tags = { - * "test" - * } - * ) - */ -class TestTwoFieldSource extends UiPatternsSourceBase { - - /** - * {@inheritdoc} - */ - public function getSourceFields() { - return [ - $this->getSourceField('test_two', 'Test two'), - ]; - } - -} diff --git a/tests/src/fixtures/theme/pattern/pattern.ui_patterns.yml b/tests/src/fixtures/theme/pattern/pattern.ui_patterns.yml deleted file mode 100644 index 40298c932..000000000 --- a/tests/src/fixtures/theme/pattern/pattern.ui_patterns.yml +++ /dev/null @@ -1,29 +0,0 @@ -pattern_pattern_one: - label: Pattern pattern one - description: Pattern pattern one description. - fields: - field_one: - type: text - label: Field one - description: Field one description. - preview: Field one preview. - field_two: - type: text - label: Field two - description: Field two description. - preview: Field two preview. - libraries: - - theme/library_one - - theme/library_two - - library_one: - css: - component: - library_one.css: {} - js: - library_one.js: {} - - library_two: - css: - component: - library_one.css: {} - js: - library_two.js: {} diff --git a/tests/src/fixtures/theme/theme.info.yml b/tests/src/fixtures/theme/theme.info.yml deleted file mode 100644 index d6b1e40a7..000000000 --- a/tests/src/fixtures/theme/theme.info.yml +++ /dev/null @@ -1,4 +0,0 @@ -name: Theme -type: theme -base theme: base_theme -core: 8.x diff --git a/tests/src/fixtures/theme/theme.ui_patterns.yml b/tests/src/fixtures/theme/theme.ui_patterns.yml deleted file mode 100644 index ad5c7ebb9..000000000 --- a/tests/src/fixtures/theme/theme.ui_patterns.yml +++ /dev/null @@ -1,14 +0,0 @@ -pattern_theme_one: - label: Pattern theme one - description: Pattern theme one description. - fields: - field_one: - type: text - label: Field one - description: Field one description. - preview: Field one preview. - field_two: - type: text - label: Field two - description: Field two description. - preview: Field two preview. diff --git a/ui_patterns.api.php b/ui_patterns.api.php index 96504c317..e56ba0f47 100644 --- a/ui_patterns.api.php +++ b/ui_patterns.api.php @@ -14,7 +14,7 @@ function hook_ui_patterns_info_alter(&$definitions) { /** * Alter UI Patterns Source definitions. * - * @see \Drupal\ui_patterns\Plugin\UiPatternsSourceManager + * @see \Drupal\ui_patterns\UiPatternsSourceManager */ function hook_ui_patterns_ui_patterns_source_info_alter(&$definitions) { $definitions['my_field_source']['tags'][] = 'new_tag'; diff --git a/ui_patterns.services.yml b/ui_patterns.services.yml index eee75f4cd..cb420c61c 100644 --- a/ui_patterns.services.yml +++ b/ui_patterns.services.yml @@ -3,7 +3,7 @@ services: class: Drupal\ui_patterns\UiPatternsManager arguments: ['@container.namespaces', '@module_handler', '@theme_handler', '@cache.discovery'] plugin.manager.ui_patterns_source: - class: Drupal\ui_patterns\Plugin\UiPatternsSourceManager + class: Drupal\ui_patterns\UiPatternsSourceManager parent: default_plugin_manager ui_patterns.twig.extension: class: Drupal\ui_patterns\Template\TwigExtension -- GitLab