From cfe5c8776468afa2392bd1b2b2b700c10cf2e792 Mon Sep 17 00:00:00 2001 From: Dave Long Date: Fri, 24 Feb 2023 13:45:44 +0000 Subject: [PATCH] Issue #3061266 by smustgrave, Grimreaper, ridhimaabrol24, nod_, pavnish, ithom, Hardik_Patel_12, Webbeh, alexpott: Prefix block machine name suggestions with the theme machine name --- core/modules/block/src/BlockForm.php | 3 +++ .../block/tests/src/Functional/BlockUiTest.php | 12 ++++++------ .../tests/src/Functional/Views/DisplayBlockTest.php | 12 ++++++------ .../src/Functional/BlockContentCreationTest.php | 6 +++--- .../tests/src/Functional/BlockContentTypeTest.php | 2 +- .../src/FunctionalJavascript/FieldBlockTest.php | 2 +- .../Plugin/ContextualFiltersBlockContextTest.php | 6 +++--- 7 files changed, 23 insertions(+), 20 deletions(-) diff --git a/core/modules/block/src/BlockForm.php b/core/modules/block/src/BlockForm.php index 902c6827cae7..8eb188020e6b 100644 --- a/core/modules/block/src/BlockForm.php +++ b/core/modules/block/src/BlockForm.php @@ -387,6 +387,9 @@ class BlockForm extends EntityForm { */ public function getUniqueMachineName(BlockInterface $block) { $suggestion = $block->getPlugin()->getMachineNameSuggestion(); + if ($block->getTheme()) { + $suggestion = $block->getTheme() . '_' . $suggestion; + } // Get all the blocks which starts with the suggested machine name. $query = $this->storage->getQuery(); diff --git a/core/modules/block/tests/src/Functional/BlockUiTest.php b/core/modules/block/tests/src/Functional/BlockUiTest.php index 2ea46b4eb58e..882fadb9b039 100644 --- a/core/modules/block/tests/src/Functional/BlockUiTest.php +++ b/core/modules/block/tests/src/Functional/BlockUiTest.php @@ -252,7 +252,7 @@ class BlockUiTest extends BrowserTestBase { $this->assertSession()->fieldNotExists('edit-settings-context-mapping-email'); // Test context mapping allows empty selection for optional contexts. - $this->drupalGet('admin/structure/block/manage/testcontextawareblock'); + $this->drupalGet('admin/structure/block/manage/stark_testcontextawareblock'); $edit = [ 'settings[context_mapping][user]' => '', ]; @@ -262,7 +262,7 @@ class BlockUiTest extends BrowserTestBase { $this->assertSession()->pageTextNotContains('User context found.'); // Tests that conditions with missing context are not displayed. - $this->drupalGet('admin/structure/block/manage/testcontextawareblock'); + $this->drupalGet('admin/structure/block/manage/stark_testcontextawareblock'); $this->assertSession()->responseNotContains('No existing type'); $this->assertSession()->elementNotExists('xpath', '//*[@name="visibility[condition_test_no_existing_type][negate]"]'); } @@ -275,7 +275,7 @@ class BlockUiTest extends BrowserTestBase { // already exists. $url = 'admin/structure/block/add/test_block_instantiation/stark'; $this->drupalGet($url); - $this->assertSession()->fieldValueEquals('id', 'displaymessage'); + $this->assertSession()->fieldValueEquals('id', 'stark_displaymessage'); $edit = ['region' => 'content']; $this->drupalGet($url); $this->submitForm($edit, 'Save block'); @@ -283,14 +283,14 @@ class BlockUiTest extends BrowserTestBase { // Now, check to make sure the form starts by auto-incrementing correctly. $this->drupalGet($url); - $this->assertSession()->fieldValueEquals('id', 'displaymessage_2'); + $this->assertSession()->fieldValueEquals('id', 'stark_displaymessage_2'); $this->drupalGet($url); $this->submitForm($edit, 'Save block'); $this->assertSession()->pageTextContains('The block configuration has been saved.'); // And verify that it continues working beyond just the first two. $this->drupalGet($url); - $this->assertSession()->fieldValueEquals('id', 'displaymessage_3'); + $this->assertSession()->fieldValueEquals('id', 'stark_displaymessage_3'); } /** @@ -339,7 +339,7 @@ class BlockUiTest extends BrowserTestBase { // for the 'block-placement' querystring parameter. $this->clickLink('Place block'); $this->submitForm([], 'Save block'); - $this->assertSession()->addressEquals('admin/structure/block/list/stark?block-placement=scriptalertxsssubjectscript'); + $this->assertSession()->addressEquals('admin/structure/block/list/stark?block-placement=stark-scriptalertxsssubjectscript'); // Removing a block will remove the block placement indicator. $this->clickLink('Remove'); diff --git a/core/modules/block/tests/src/Functional/Views/DisplayBlockTest.php b/core/modules/block/tests/src/Functional/Views/DisplayBlockTest.php index 985d4c44c3e1..e608478a5819 100644 --- a/core/modules/block/tests/src/Functional/Views/DisplayBlockTest.php +++ b/core/modules/block/tests/src/Functional/Views/DisplayBlockTest.php @@ -209,7 +209,7 @@ class DisplayBlockTest extends ViewTestBase { $edit = ['region' => 'content']; $this->submitForm($edit, 'Save block'); $storage = $this->container->get('entity_type.manager')->getStorage('block'); - $block = $storage->load('views_block__test_view_block_block_1'); + $block = $storage->load($default_theme . '_views_block__test_view_block_block_1'); // This will only return a result if our new block has been created with the // expected machine name. $this->assertNotEmpty($block, 'The expected block was loaded.'); @@ -218,7 +218,7 @@ class DisplayBlockTest extends ViewTestBase { // Place the same block again and make sure we have a new ID. $this->drupalGet('admin/structure/block/add/views_block:test_view_block-block_1/' . $default_theme); $this->submitForm($edit, 'Save block'); - $block = $storage->load('views_block__test_view_block_block_1_' . $i); + $block = $storage->load($default_theme . '_views_block__test_view_block_block_1_' . $i); // This will only return a result if our new block has been created with the // expected machine name. $this->assertNotEmpty($block, 'The expected block was loaded.'); @@ -232,15 +232,15 @@ class DisplayBlockTest extends ViewTestBase { $this->drupalGet('admin/structure/block/add/views_block:test_view_block-block_1/' . $default_theme); $this->submitForm($edit, 'Save block'); - $block = $storage->load('views_block__test_view_block_block_1_4'); + $block = $storage->load($default_theme . '_views_block__test_view_block_block_1_4'); $config = $block->getPlugin()->getConfiguration(); $this->assertEquals(10, $config['items_per_page'], "'Items per page' is properly saved."); $edit['settings[override][items_per_page]'] = 5; - $this->drupalGet('admin/structure/block/manage/views_block__test_view_block_block_1_4'); + $this->drupalGet('admin/structure/block/manage/' . $default_theme . '_views_block__test_view_block_block_1_4'); $this->submitForm($edit, 'Save block'); - $block = $storage->load('views_block__test_view_block_block_1_4'); + $block = $storage->load($default_theme . '_views_block__test_view_block_block_1_4'); $config = $block->getPlugin()->getConfiguration(); $this->assertEquals(5, $config['items_per_page'], "'Items per page' is properly saved."); @@ -252,7 +252,7 @@ class DisplayBlockTest extends ViewTestBase { $this->drupalGet('admin/structure/block/add/views_block:test_view_block-block_1/' . $default_theme); $this->submitForm($edit, 'Save block'); - $block = $storage->load('views_block__test_view_block_block_1_5'); + $block = $storage->load($default_theme . '_views_block__test_view_block_block_1_5'); $config = $block->getPlugin()->getConfiguration(); $this->assertEquals('Custom title', $config['views_label'], "'Label' is properly saved."); } diff --git a/core/modules/block_content/tests/src/Functional/BlockContentCreationTest.php b/core/modules/block_content/tests/src/Functional/BlockContentCreationTest.php index e795dd6b2a42..0380451752e2 100644 --- a/core/modules/block_content/tests/src/Functional/BlockContentCreationTest.php +++ b/core/modules/block_content/tests/src/Functional/BlockContentCreationTest.php @@ -109,7 +109,7 @@ class BlockContentCreationTest extends BlockContentTestBase { $this->submitForm($custom_view_mode, 'Save'); // Go to the configure page and change the view mode. - $this->drupalGet('admin/structure/block/manage/testblock'); + $this->drupalGet('admin/structure/block/manage/stark_testblock'); // Test the available view mode options. // Verify that the default view mode is available. @@ -121,7 +121,7 @@ class BlockContentCreationTest extends BlockContentTestBase { $this->submitForm($view_mode, 'Save block'); // Check that the view mode setting is shown because more than one exists. - $this->drupalGet('admin/structure/block/manage/testblock'); + $this->drupalGet('admin/structure/block/manage/stark_testblock'); $this->assertSession()->fieldExists('settings[view_mode]'); // Change the view mode. @@ -130,7 +130,7 @@ class BlockContentCreationTest extends BlockContentTestBase { $this->submitForm($view_mode, 'Save block'); // Go to the configure page and verify the view mode has changed. - $this->drupalGet('admin/structure/block/manage/testblock'); + $this->drupalGet('admin/structure/block/manage/stark_testblock'); $this->assertSession()->fieldValueEquals('settings[view_mode]', 'test_view_mode'); // Check that the block exists in the database. diff --git a/core/modules/block_content/tests/src/Functional/BlockContentTypeTest.php b/core/modules/block_content/tests/src/Functional/BlockContentTypeTest.php index 11124cbee3a9..07dd3ab88af6 100644 --- a/core/modules/block_content/tests/src/Functional/BlockContentTypeTest.php +++ b/core/modules/block_content/tests/src/Functional/BlockContentTypeTest.php @@ -231,7 +231,7 @@ class BlockContentTypeTest extends BlockContentTestBase { $block = reset($blocks); $this->assertSession()->addressEquals(Url::fromRoute('block.admin_add', ['plugin_id' => 'block_content:' . $block->uuid(), 'theme' => $theme])); $this->submitForm(['region' => 'content'], 'Save block'); - $this->assertSession()->addressEquals(Url::fromRoute('block.admin_display_theme', ['theme' => $theme], ['query' => ['block-placement' => Html::getClass($edit['info[0][value]'])]])); + $this->assertSession()->addressEquals(Url::fromRoute('block.admin_display_theme', ['theme' => $theme], ['query' => ['block-placement' => $theme . '-' . Html::getClass($edit['info[0][value]'])]])); } else { $this->fail('Could not load created block.'); diff --git a/core/modules/layout_builder/tests/src/FunctionalJavascript/FieldBlockTest.php b/core/modules/layout_builder/tests/src/FunctionalJavascript/FieldBlockTest.php index 2350932a9b8b..5777d6c2fb83 100644 --- a/core/modules/layout_builder/tests/src/FunctionalJavascript/FieldBlockTest.php +++ b/core/modules/layout_builder/tests/src/FunctionalJavascript/FieldBlockTest.php @@ -124,7 +124,7 @@ class FieldBlockTest extends WebDriverTestBase { ], 'third_party_settings' => [], ]; - $config = $this->container->get('config.factory')->get('block.block.datefield'); + $config = $this->container->get('config.factory')->get('block.block.starterkit_theme_datefield'); $this->assertEquals($expected, $config->get('settings.formatter')); $this->assertEquals(['field.field.user.user.field_date'], $config->get('dependencies.config')); diff --git a/core/modules/views/tests/src/Functional/Plugin/ContextualFiltersBlockContextTest.php b/core/modules/views/tests/src/Functional/Plugin/ContextualFiltersBlockContextTest.php index d79c1c5bae37..b28fb7016449 100644 --- a/core/modules/views/tests/src/Functional/Plugin/ContextualFiltersBlockContextTest.php +++ b/core/modules/views/tests/src/Functional/Plugin/ContextualFiltersBlockContextTest.php @@ -31,7 +31,7 @@ class ContextualFiltersBlockContextTest extends ViewTestBase { /** * {@inheritdoc} */ - protected $defaultTheme = 'starterkit_theme'; + protected $defaultTheme = 'stark'; /** * Views used by this test. @@ -103,7 +103,7 @@ class ContextualFiltersBlockContextTest extends ViewTestBase { // Place test block via block UI to check if contexts are correctly exposed. $this->drupalGet( - 'admin/structure/block/add/views_block:test_view_block_with_context-block_1/starterkit_theme', + 'admin/structure/block/add/views_block:test_view_block_with_context-block_1/stark', ['query' => ['region' => 'content']] ); $edit = [ @@ -115,7 +115,7 @@ class ContextualFiltersBlockContextTest extends ViewTestBase { /** @var \Drupal\block\BlockInterface $block */ $block = $this->container->get('entity_type.manager') ->getStorage('block') - ->load('views_block__test_view_block_with_context_block_1'); + ->load('stark_views_block__test_view_block_with_context_block_1'); $expected_settings = [ 'id' => 'views_block:test_view_block_with_context-block_1', 'label' => '',