Loading core/tests/Drupal/FunctionalTests/Theme/ClaroLayoutBuilderTest.php 0 → 100644 +111 −0 Changes for core/tests/Drupal/FunctionalTests/Theme/ClaroLayoutBuilderTest.php: 111 added lines, 0 removed lines. Original line number Diff line number Diff line <?php namespace Drupal\FunctionalTests\Theme; use Drupal\Tests\BrowserTestBase; /** * Tests the layout builder with the Claro theme. * * @group claro */ class ClaroLayoutBuilderTest extends BrowserTestBase { /** * {@inheritdoc} */ protected $defaultTheme = 'claro'; /** * {@inheritdoc} */ public static $modules = [ 'views', 'layout_builder', 'layout_builder_views_test', 'layout_test', 'block', 'block_test', 'node', 'layout_builder_test', ]; /** * {@inheritdoc} */ protected function setUp() { parent::setUp(); $this->drupalPlaceBlock('local_tasks_block', ['region' => 'header']); // Create two nodes. $this->createContentType([ 'type' => 'bundle_with_section_field', 'name' => 'Bundle with section field', ]); $this->createNode([ 'type' => 'bundle_with_section_field', 'title' => 'The first node title', 'body' => [ [ 'value' => 'The first node body', ], ], ]); $this->createNode([ 'type' => 'bundle_with_section_field', 'title' => 'The second node title', 'body' => [ [ 'value' => 'The second node body', ], ], ]); } /** * Tests the layout builder has expected contextual links with Claro. * * @see claro.theme */ public function testContextualLinks() { $assert_session = $this->assertSession(); $page = $this->getSession()->getPage(); $this->drupalLogin($this->drupalCreateUser([ 'configure any layout', 'administer node display', 'administer node fields', 'access contextual links', ])); $field_ui_prefix = 'admin/structure/types/manage/bundle_with_section_field'; // From the manage display page, go to manage the layout. $this->drupalGet("$field_ui_prefix/display/default"); $assert_session->linkNotExists('Manage layout'); $assert_session->fieldDisabled('layout[allow_custom]'); $this->drupalPostForm(NULL, ['layout[enabled]' => TRUE], 'Save'); $assert_session->linkExists('Manage layout'); $this->clickLink('Manage layout'); // Add a new block. $assert_session->linkExists('Add block'); $this->clickLink('Add block'); $assert_session->linkExists('Powered by Drupal'); $this->clickLink('Powered by Drupal'); $page->fillField('settings[label]', 'This is the label'); $page->checkField('settings[label_display]'); $page->pressButton('Add block'); // Test that the block has the contextual class applied and the container // for contextual links. $assert_session->elementExists('css', 'div.block-system-powered-by-block.contextual-region div[data-contextual-id]'); // Ensure other blocks do not have contextual links. $assert_session->elementExists('css', 'div.block-page-title-block'); $assert_session->elementNotExists('css', 'div.block-page-title-block.contextual-region div[data-contextual-id]'); } } core/tests/Drupal/FunctionalTests/Theme/SevenLayoutBuilderTest.php 0 → 100644 +112 −0 Changes for core/tests/Drupal/FunctionalTests/Theme/SevenLayoutBuilderTest.php: 112 added lines, 0 removed lines. Original line number Diff line number Diff line <?php namespace Drupal\FunctionalTests\Theme; use Drupal\Tests\BrowserTestBase; /** * Tests the Seven theme. * * @group seven */ class SevenLayoutBuilderTest extends BrowserTestBase { /** * {@inheritdoc} */ protected $defaultTheme = 'seven'; /** * {@inheritdoc} */ public static $modules = [ 'views', 'layout_builder', 'layout_builder_views_test', 'layout_test', 'block', 'block_test', 'node', 'layout_builder_test', ]; /** * {@inheritdoc} */ protected function setUp() { parent::setUp(); $this->drupalPlaceBlock('page_title_block', ['region' => 'header']); $this->drupalPlaceBlock('local_tasks_block', ['region' => 'header']); // Create two nodes. $this->createContentType([ 'type' => 'bundle_with_section_field', 'name' => 'Bundle with section field', ]); $this->createNode([ 'type' => 'bundle_with_section_field', 'title' => 'The first node title', 'body' => [ [ 'value' => 'The first node body', ], ], ]); $this->createNode([ 'type' => 'bundle_with_section_field', 'title' => 'The second node title', 'body' => [ [ 'value' => 'The second node body', ], ], ]); } /** * Tests the layout builder has expected contextual links with Seven. * * @see seven.theme */ public function testContextualLinks() { $assert_session = $this->assertSession(); $page = $this->getSession()->getPage(); $this->drupalLogin($this->drupalCreateUser([ 'configure any layout', 'administer node display', 'administer node fields', 'access contextual links', ])); $field_ui_prefix = 'admin/structure/types/manage/bundle_with_section_field'; // From the manage display page, go to manage the layout. $this->drupalGet("$field_ui_prefix/display/default"); $assert_session->linkNotExists('Manage layout'); $assert_session->fieldDisabled('layout[allow_custom]'); $this->drupalPostForm(NULL, ['layout[enabled]' => TRUE], 'Save'); $assert_session->linkExists('Manage layout'); $this->clickLink('Manage layout'); // Add a new block. $assert_session->linkExists('Add block'); $this->clickLink('Add block'); $assert_session->linkExists('Powered by Drupal'); $this->clickLink('Powered by Drupal'); $page->fillField('settings[label]', 'This is the label'); $page->checkField('settings[label_display]'); $page->pressButton('Add block'); // Test that the block has the contextual class applied and the container // for contextual links. $assert_session->elementExists('css', 'div.block-system-powered-by-block.contextual-region div[data-contextual-id]'); // Ensure other blocks do not have contextual links. $assert_session->elementExists('css', 'div.block-page-title-block'); $assert_session->elementNotExists('css', 'div.block-page-title-block.contextual-region div[data-contextual-id]'); } } core/themes/claro/claro.theme +2 −2 Changes for core/themes/claro/claro.theme: 2 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -175,10 +175,10 @@ function claro_preprocess_entity_add_list(&$variables) { /** * Implements hook_preprocess_block() for block content. * * Disables contextual links for all blocks. * Disables contextual links for all blocks except for layout builder blocks. */ function claro_preprocess_block(&$variables) { if (isset($variables['title_suffix']['contextual_links'])) { if (isset($variables['title_suffix']['contextual_links']) && !isset($variables['elements']['#contextual_links']['layout_builder_block'])) { unset($variables['title_suffix']['contextual_links']); unset($variables['elements']['#contextual_links']); Loading core/themes/seven/seven.theme +2 −2 Changes for core/themes/seven/seven.theme: 2 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -89,10 +89,10 @@ function seven_preprocess_block_content_add_list(&$variables) { /** * Implements hook_preprocess_block() for block content. * * Disables contextual links for all blocks. * Disables contextual links for all blocks except for layout builder blocks. */ function seven_preprocess_block(&$variables) { if (isset($variables['title_suffix']['contextual_links'])) { if (isset($variables['title_suffix']['contextual_links']) && !isset($variables['elements']['#contextual_links']['layout_builder_block'])) { unset($variables['title_suffix']['contextual_links']); unset($variables['elements']['#contextual_links']); Loading Loading
core/tests/Drupal/FunctionalTests/Theme/ClaroLayoutBuilderTest.php 0 → 100644 +111 −0 Changes for core/tests/Drupal/FunctionalTests/Theme/ClaroLayoutBuilderTest.php: 111 added lines, 0 removed lines. Original line number Diff line number Diff line <?php namespace Drupal\FunctionalTests\Theme; use Drupal\Tests\BrowserTestBase; /** * Tests the layout builder with the Claro theme. * * @group claro */ class ClaroLayoutBuilderTest extends BrowserTestBase { /** * {@inheritdoc} */ protected $defaultTheme = 'claro'; /** * {@inheritdoc} */ public static $modules = [ 'views', 'layout_builder', 'layout_builder_views_test', 'layout_test', 'block', 'block_test', 'node', 'layout_builder_test', ]; /** * {@inheritdoc} */ protected function setUp() { parent::setUp(); $this->drupalPlaceBlock('local_tasks_block', ['region' => 'header']); // Create two nodes. $this->createContentType([ 'type' => 'bundle_with_section_field', 'name' => 'Bundle with section field', ]); $this->createNode([ 'type' => 'bundle_with_section_field', 'title' => 'The first node title', 'body' => [ [ 'value' => 'The first node body', ], ], ]); $this->createNode([ 'type' => 'bundle_with_section_field', 'title' => 'The second node title', 'body' => [ [ 'value' => 'The second node body', ], ], ]); } /** * Tests the layout builder has expected contextual links with Claro. * * @see claro.theme */ public function testContextualLinks() { $assert_session = $this->assertSession(); $page = $this->getSession()->getPage(); $this->drupalLogin($this->drupalCreateUser([ 'configure any layout', 'administer node display', 'administer node fields', 'access contextual links', ])); $field_ui_prefix = 'admin/structure/types/manage/bundle_with_section_field'; // From the manage display page, go to manage the layout. $this->drupalGet("$field_ui_prefix/display/default"); $assert_session->linkNotExists('Manage layout'); $assert_session->fieldDisabled('layout[allow_custom]'); $this->drupalPostForm(NULL, ['layout[enabled]' => TRUE], 'Save'); $assert_session->linkExists('Manage layout'); $this->clickLink('Manage layout'); // Add a new block. $assert_session->linkExists('Add block'); $this->clickLink('Add block'); $assert_session->linkExists('Powered by Drupal'); $this->clickLink('Powered by Drupal'); $page->fillField('settings[label]', 'This is the label'); $page->checkField('settings[label_display]'); $page->pressButton('Add block'); // Test that the block has the contextual class applied and the container // for contextual links. $assert_session->elementExists('css', 'div.block-system-powered-by-block.contextual-region div[data-contextual-id]'); // Ensure other blocks do not have contextual links. $assert_session->elementExists('css', 'div.block-page-title-block'); $assert_session->elementNotExists('css', 'div.block-page-title-block.contextual-region div[data-contextual-id]'); } }
core/tests/Drupal/FunctionalTests/Theme/SevenLayoutBuilderTest.php 0 → 100644 +112 −0 Changes for core/tests/Drupal/FunctionalTests/Theme/SevenLayoutBuilderTest.php: 112 added lines, 0 removed lines. Original line number Diff line number Diff line <?php namespace Drupal\FunctionalTests\Theme; use Drupal\Tests\BrowserTestBase; /** * Tests the Seven theme. * * @group seven */ class SevenLayoutBuilderTest extends BrowserTestBase { /** * {@inheritdoc} */ protected $defaultTheme = 'seven'; /** * {@inheritdoc} */ public static $modules = [ 'views', 'layout_builder', 'layout_builder_views_test', 'layout_test', 'block', 'block_test', 'node', 'layout_builder_test', ]; /** * {@inheritdoc} */ protected function setUp() { parent::setUp(); $this->drupalPlaceBlock('page_title_block', ['region' => 'header']); $this->drupalPlaceBlock('local_tasks_block', ['region' => 'header']); // Create two nodes. $this->createContentType([ 'type' => 'bundle_with_section_field', 'name' => 'Bundle with section field', ]); $this->createNode([ 'type' => 'bundle_with_section_field', 'title' => 'The first node title', 'body' => [ [ 'value' => 'The first node body', ], ], ]); $this->createNode([ 'type' => 'bundle_with_section_field', 'title' => 'The second node title', 'body' => [ [ 'value' => 'The second node body', ], ], ]); } /** * Tests the layout builder has expected contextual links with Seven. * * @see seven.theme */ public function testContextualLinks() { $assert_session = $this->assertSession(); $page = $this->getSession()->getPage(); $this->drupalLogin($this->drupalCreateUser([ 'configure any layout', 'administer node display', 'administer node fields', 'access contextual links', ])); $field_ui_prefix = 'admin/structure/types/manage/bundle_with_section_field'; // From the manage display page, go to manage the layout. $this->drupalGet("$field_ui_prefix/display/default"); $assert_session->linkNotExists('Manage layout'); $assert_session->fieldDisabled('layout[allow_custom]'); $this->drupalPostForm(NULL, ['layout[enabled]' => TRUE], 'Save'); $assert_session->linkExists('Manage layout'); $this->clickLink('Manage layout'); // Add a new block. $assert_session->linkExists('Add block'); $this->clickLink('Add block'); $assert_session->linkExists('Powered by Drupal'); $this->clickLink('Powered by Drupal'); $page->fillField('settings[label]', 'This is the label'); $page->checkField('settings[label_display]'); $page->pressButton('Add block'); // Test that the block has the contextual class applied and the container // for contextual links. $assert_session->elementExists('css', 'div.block-system-powered-by-block.contextual-region div[data-contextual-id]'); // Ensure other blocks do not have contextual links. $assert_session->elementExists('css', 'div.block-page-title-block'); $assert_session->elementNotExists('css', 'div.block-page-title-block.contextual-region div[data-contextual-id]'); } }
core/themes/claro/claro.theme +2 −2 Changes for core/themes/claro/claro.theme: 2 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -175,10 +175,10 @@ function claro_preprocess_entity_add_list(&$variables) { /** * Implements hook_preprocess_block() for block content. * * Disables contextual links for all blocks. * Disables contextual links for all blocks except for layout builder blocks. */ function claro_preprocess_block(&$variables) { if (isset($variables['title_suffix']['contextual_links'])) { if (isset($variables['title_suffix']['contextual_links']) && !isset($variables['elements']['#contextual_links']['layout_builder_block'])) { unset($variables['title_suffix']['contextual_links']); unset($variables['elements']['#contextual_links']); Loading
core/themes/seven/seven.theme +2 −2 Changes for core/themes/seven/seven.theme: 2 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -89,10 +89,10 @@ function seven_preprocess_block_content_add_list(&$variables) { /** * Implements hook_preprocess_block() for block content. * * Disables contextual links for all blocks. * Disables contextual links for all blocks except for layout builder blocks. */ function seven_preprocess_block(&$variables) { if (isset($variables['title_suffix']['contextual_links'])) { if (isset($variables['title_suffix']['contextual_links']) && !isset($variables['elements']['#contextual_links']['layout_builder_block'])) { unset($variables['title_suffix']['contextual_links']); unset($variables['elements']['#contextual_links']); Loading