public function LayoutPluginManagerTest::testGetDefinition in Drupal 8
Same name and namespace in other branches
- 9 core/tests/Drupal/Tests/Core/Layout/LayoutPluginManagerTest.php \Drupal\Tests\Core\Layout\LayoutPluginManagerTest::testGetDefinition()
- 10 core/tests/Drupal/Tests/Core/Layout/LayoutPluginManagerTest.php \Drupal\Tests\Core\Layout\LayoutPluginManagerTest::testGetDefinition()
@covers ::getDefinition @covers ::processDefinition
File
- core/
tests/ Drupal/ Tests/ Core/ Layout/ LayoutPluginManagerTest.php, line 114
Class
- LayoutPluginManagerTest
- @coversDefaultClass \Drupal\Core\Layout\LayoutPluginManager @group Layout
Namespace
Drupal\Tests\Core\LayoutCode
public function testGetDefinition() {
$layout_definition = $this->layoutPluginManager
->getDefinition('theme_a_provided_layout');
$this
->assertSame('theme_a_provided_layout', $layout_definition
->id());
$this
->assertSame('2 column layout', (string) $layout_definition
->getLabel());
$this
->assertSame('Columns: 2', (string) $layout_definition
->getCategory());
$this
->assertSame('A theme provided layout', (string) $layout_definition
->getDescription());
$this
->assertInstanceOf(TranslatableMarkup::class, $layout_definition
->getLabel());
$this
->assertInstanceOf(TranslatableMarkup::class, $layout_definition
->getCategory());
$this
->assertInstanceOf(TranslatableMarkup::class, $layout_definition
->getDescription());
$this
->assertSame('twocol', $layout_definition
->getTemplate());
$this
->assertSame('themes/theme_a/templates', $layout_definition
->getPath());
$this
->assertSame('theme_a/twocol', $layout_definition
->getLibrary());
$this
->assertSame('twocol', $layout_definition
->getThemeHook());
$this
->assertSame('themes/theme_a/templates', $layout_definition
->getTemplatePath());
$this
->assertSame('theme_a', $layout_definition
->getProvider());
$this
->assertSame('right', $layout_definition
->getDefaultRegion());
$this
->assertSame(LayoutDefault::class, $layout_definition
->getClass());
$expected_regions = [
'left' => [
'label' => new TranslatableMarkup('Left region', [], [
'context' => 'layout_region',
]),
],
'right' => [
'label' => new TranslatableMarkup('Right region', [], [
'context' => 'layout_region',
]),
],
];
$regions = $layout_definition
->getRegions();
$this
->assertEquals($expected_regions, $regions);
$this
->assertInstanceOf(TranslatableMarkup::class, $regions['left']['label']);
$this
->assertInstanceOf(TranslatableMarkup::class, $regions['right']['label']);
$layout_definition = $this->layoutPluginManager
->getDefinition('module_a_provided_layout');
$this
->assertSame('module_a_provided_layout', $layout_definition
->id());
$this
->assertSame('1 column layout', (string) $layout_definition
->getLabel());
$this
->assertSame('Columns: 1', (string) $layout_definition
->getCategory());
$this
->assertSame('A module provided layout', (string) $layout_definition
->getDescription());
$this
->assertInstanceOf(TranslatableMarkup::class, $layout_definition
->getLabel());
$this
->assertInstanceOf(TranslatableMarkup::class, $layout_definition
->getCategory());
$this
->assertInstanceOf(TranslatableMarkup::class, $layout_definition
->getDescription());
$this
->assertSame(NULL, $layout_definition
->getTemplate());
$this
->assertSame('modules/module_a/layouts', $layout_definition
->getPath());
$this
->assertSame('module_a/onecol', $layout_definition
->getLibrary());
$this
->assertSame('onecol', $layout_definition
->getThemeHook());
$this
->assertSame(NULL, $layout_definition
->getTemplatePath());
$this
->assertSame('module_a', $layout_definition
->getProvider());
$this
->assertSame('top', $layout_definition
->getDefaultRegion());
$this
->assertSame(LayoutDefault::class, $layout_definition
->getClass());
$expected_regions = [
'top' => [
'label' => new TranslatableMarkup('Top region', [], [
'context' => 'layout_region',
]),
],
'bottom' => [
'label' => new TranslatableMarkup('Bottom region', [], [
'context' => 'layout_region',
]),
],
];
$regions = $layout_definition
->getRegions();
$this
->assertEquals($expected_regions, $regions);
$this
->assertInstanceOf(TranslatableMarkup::class, $regions['top']['label']);
$this
->assertInstanceOf(TranslatableMarkup::class, $regions['bottom']['label']);
$core_path = '/core/lib/Drupal/Core';
$layout_definition = $this->layoutPluginManager
->getDefinition('plugin_provided_layout');
$this
->assertSame('plugin_provided_layout', $layout_definition
->id());
$this
->assertEquals('Layout plugin', $layout_definition
->getLabel());
$this
->assertEquals('Columns: 1', $layout_definition
->getCategory());
$this
->assertEquals('Test layout', $layout_definition
->getDescription());
$this
->assertInstanceOf(TranslatableMarkup::class, $layout_definition
->getLabel());
$this
->assertInstanceOf(TranslatableMarkup::class, $layout_definition
->getCategory());
$this
->assertInstanceOf(TranslatableMarkup::class, $layout_definition
->getDescription());
$this
->assertSame('plugin-provided-layout', $layout_definition
->getTemplate());
$this
->assertSame($core_path, $layout_definition
->getPath());
$this
->assertSame(NULL, $layout_definition
->getLibrary());
$this
->assertSame('plugin_provided_layout', $layout_definition
->getThemeHook());
$this
->assertSame("{$core_path}/templates", $layout_definition
->getTemplatePath());
$this
->assertSame('core', $layout_definition
->getProvider());
$this
->assertSame('main', $layout_definition
->getDefaultRegion());
$this
->assertSame('Drupal\\Core\\Plugin\\Layout\\TestLayout', $layout_definition
->getClass());
$expected_regions = [
'main' => [
'label' => new TranslatableMarkup('Main Region', [], [
'context' => 'layout_region',
]),
],
];
$regions = $layout_definition
->getRegions();
$this
->assertEquals($expected_regions, $regions);
$this
->assertInstanceOf(TranslatableMarkup::class, $regions['main']['label']);
}