diff --git a/core/modules/block_content/block_content.links.action.yml b/core/modules/block_content/block_content.links.action.yml
index 4772a6f..b0900a6 100644
--- a/core/modules/block_content/block_content.links.action.yml
+++ b/core/modules/block_content/block_content.links.action.yml
@@ -8,6 +8,4 @@ block_content_add_action:
route_name: block_content.add_page
title: 'Add custom block'
appears_on:
- - block.admin_library
- entity.block_content.collection
- class: \Drupal\block_content\Plugin\Menu\LocalAction\BlockContentAddLocalAction
diff --git a/core/modules/block_content/block_content.links.menu.yml b/core/modules/block_content/block_content.links.menu.yml
new file mode 100644
index 0000000..26fb0a1
--- /dev/null
+++ b/core/modules/block_content/block_content.links.menu.yml
@@ -0,0 +1,10 @@
+entity.block_content.collection:
+ title: 'Custom blocks'
+ route_name: entity.block_content.collection
+ parent: system.admin_content
+ description: 'Create and manage custom blocks that can be placed in theme regions.'
+entity.block_content_type.collection:
+ title: 'Block types'
+ route_name: entity.block_content_type.collection
+ parent: system.admin_structure
+ description: 'Manage form and display settings for custom blocks.'
diff --git a/core/modules/block_content/block_content.links.task.yml b/core/modules/block_content/block_content.links.task.yml
index 2b88171..7f9ce4d 100644
--- a/core/modules/block_content/block_content.links.task.yml
+++ b/core/modules/block_content/block_content.links.task.yml
@@ -1,16 +1,7 @@
entity.block_content.collection:
- title: 'Custom block library'
+ title: 'Custom blocks'
route_name: entity.block_content.collection
- base_route: block.admin_display
-block_content.list_sub:
- title: Blocks
- route_name: entity.block_content.collection
- parent_id: entity.block_content.collection
-entity.block_content_type.collection:
- title: Types
- route_name: entity.block_content_type.collection
- parent_id: entity.block_content.collection
- weight: 1
+ base_route: system.admin_content
entity.block_content.canonical:
title: Edit
diff --git a/core/modules/block_content/block_content.module b/core/modules/block_content/block_content.module
index 04a1e6c..e88e60f 100644
--- a/core/modules/block_content/block_content.module
+++ b/core/modules/block_content/block_content.module
@@ -18,22 +18,22 @@ function block_content_help($route_name, RouteMatchInterface $route_match) {
$field_ui = \Drupal::moduleHandler()->moduleExists('field_ui') ? \Drupal::url('help.page', array('name' => 'field_ui')) : '#';
$output = '';
$output .= '
' . t('About') . '
';
- $output .= '' . t('The Custom Block module allows you to create custom block types and content-containing blocks, and provides a Custom block library listing all of them. Custom block types have fields; see the Field module help for more information. Once created, custom blocks can be placed in regions just like blocks provided by other modules; see the Block module help page for details. For more information, see the online documentation for the Custom Block module.', array('!block-library' => \Drupal::url('entity.block_content.collection'), '!block-content' => \Drupal::url('entity.block_content.collection'), '!field-help' => \Drupal::url('help.page', array('name' => 'field')), '!blocks' => \Drupal::url('help.page', array('name' => 'block')), '!online-help' => 'https://www.drupal.org/documentation/modules/block_content')) . '
';
+ $output .= '' . t('The Custom Block module allows you to create custom block types and block content based on those types. Once created, these custom blocks can be placed in regions just like blocks provided by other modules. For more information, see the online documentation for the Custom Block module.', array('!block-types' => \Drupal::url('entity.block_content_type.collection'), '!block-list' => \Drupal::url('entity.block_content.collection'), '!online-help' => 'https://www.drupal.org/documentation/modules/block_content')) . '
';
$output .= '' . t('Uses') . '
';
$output .= '';
$output .= '- ' . t('Creating and managing custom block types') . '
';
- $output .= '- ' . t('Users with the Administer blocks permission can create and edit custom block types with fields and display settings, from the Custom block types page in the Custom block library. For more information about managing fields and display settings, see the Field UI module help.', array('!types' => \Drupal::url('entity.block_content_type.collection'), '!field-ui' => $field_ui)) . '
';
+ $output .= '- ' . t('Users with the Administer blocks permission can create and edit custom block types, each with their own set of fields and display settings, from the Block types page. For more information about managing fields and display settings, see Field module help and Field UI module help.', array('!types' => \Drupal::url('entity.block_content_type.collection'), '!field-help' => \Drupal::url('help.page', ['name' => 'field']), '!field-ui' => $field_ui)) . '
';
$output .= '- ' . t('Creating custom blocks') . '
';
- $output .= '- ' . t('Users with the Administer blocks permission can create, edit, and delete custom blocks of each custom block type you have defined, from the Custom block library page. Custom blocks are shown in the Place blocks list on the Block layout page; see the Block module help for more information about placing blocks.', array('!blocks' => \Drupal::url('block.admin_display'), '!block-library' => \Drupal::url('entity.block_content.collection'), '!block_help' => \Drupal::url('help.page', array('name' => 'block')))) . '
';
+ $output .= '- ' . t('Users with the Administer blocks permission can create, edit, and delete custom blocks from the Block content page. These custom blocks can then be added to a region of your site theme on the Block layout page. See the Block module help for more information about placing blocks.', array('!blocks' => \Drupal::url('block.admin_display'), '!block-list' => \Drupal::url('entity.block_content.collection'), '!block_help' => \Drupal::url('help.page', array('name' => 'block')))) . '
';
$output .= '
';
return $output;
case 'entity.block_content.collection':
- $output = '' . t('Blocks in the block library belong to block types, each with its own fields and display settings. After creating a block, place it in a region from the Block layout page.', array('!types' => \Drupal::url('entity.block_content_type.collection'), '!blocks' => \Drupal::url('block.admin_display'))) . '
';
+ $output = '' . t('Every custom block is based on a block type, each with its own fields and display settings. After creating a block, place it in a region from the Block layout page.', array('!types' => \Drupal::url('entity.block_content_type.collection'), '!blocks' => \Drupal::url('block.admin_display'))) . '
';
return $output;
case 'entity.block_content_type.collection':
- $output = '' . t('Each block type has its own fields and display settings. Create blocks of each type on the Block library page.', array('!block-library' => \Drupal::url('entity.block_content.collection'))) . '
';
+ $output = '' . t('After creating a block type, you can create a block based on it from the Block content page. Each block type has its own fields and display settings.', array('!block-list' => \Drupal::url('entity.block_content.collection'))) . '
';
return $output;
}
diff --git a/core/modules/block_content/block_content.routing.yml b/core/modules/block_content/block_content.routing.yml
index 3542ca8..6752a2e 100644
--- a/core/modules/block_content/block_content.routing.yml
+++ b/core/modules/block_content/block_content.routing.yml
@@ -1,8 +1,8 @@
entity.block_content_type.collection:
- path: '/admin/structure/block/block-content/types'
+ path: '/admin/structure/block-content'
defaults:
_entity_list: 'block_content_type'
- _title: 'Custom block library'
+ _title: 'Block types'
requirements:
_permission: 'administer blocks'
@@ -27,10 +27,10 @@ block_content.add_form:
_permission: 'administer blocks'
entity.block_content_type.delete_form:
- path: '/admin/structure/block/block-content/manage/{block_content_type}/delete'
+ path: '/admin/structure/block-content/manage/{block_content_type}/delete'
defaults:
_entity_form: 'block_content_type.delete'
- _title: 'Delete'
+ _title: 'Delete block type'
requirements:
_entity_access: 'block_content_type.delete'
options:
@@ -39,6 +39,7 @@ entity.block_content_type.delete_form:
entity.block_content.canonical:
path: '/block/{block_content}'
defaults:
+ _title_callback: '\Drupal\block_content\Controller\BlockContentController::blockContentTitle'
_entity_form: 'block_content.edit'
options:
_admin_route: TRUE
@@ -65,25 +66,25 @@ entity.block_content.delete_form:
_entity_access: 'block_content.delete'
block_content.type_add:
- path: '/admin/structure/block/block-content/types/add'
+ path: '/admin/structure/block-content/add'
defaults:
_entity_form: 'block_content_type.add'
- _title: 'Add'
+ _title: 'Add block type'
requirements:
_permission: 'administer blocks'
entity.block_content_type.edit_form:
- path: '/admin/structure/block/block-content/manage/{block_content_type}'
+ path: '/admin/structure/block-content/manage/{block_content_type}'
defaults:
_entity_form: 'block_content_type.edit'
- _title: 'Edit'
+ _title: 'Edit block type'
requirements:
_entity_access: 'block_content_type.update'
entity.block_content.collection:
- path: '/admin/structure/block/block-content'
+ path: '/admin/content/block-content'
defaults:
- _title: 'Custom block library'
+ _title: 'Custom blocks'
_entity_list: 'block_content'
requirements:
_permission: 'administer blocks'
diff --git a/core/modules/block_content/config/optional/views.view.block_content.yml b/core/modules/block_content/config/optional/views.view.block_content.yml
index ad5e1f9..2ed048a 100644
--- a/core/modules/block_content/config/optional/views.view.block_content.yml
+++ b/core/modules/block_content/config/optional/views.view.block_content.yml
@@ -5,7 +5,7 @@ dependencies:
- block_content
- user
id: block_content
-label: 'Custom block library'
+label: 'Custom blocks'
module: views
description: 'Find and manage custom blocks.'
tag: ''
@@ -163,7 +163,7 @@ display:
click_sort_column: value
type: string
settings:
- link_to_entity: true
+ link_to_entity: false
group_column: value
group_columns: { }
group_rows: true
@@ -430,7 +430,7 @@ display:
entity_field: type
plugin_id: bundle
sorts: { }
- title: 'Custom block library'
+ title: 'Custom blocks'
header: { }
footer: { }
empty:
@@ -472,12 +472,12 @@ display:
position: 1
display_options:
display_extenders: { }
- path: admin/structure/block/block-content
+ path: admin/content/block-content
menu:
type: tab
- title: 'Custom block library'
+ title: 'Custom blocks'
description: ''
- parent: block.admin_display
+ parent: system.admin_content
weight: 0
context: '0'
menu_name: admin
diff --git a/core/modules/block_content/src/BlockContentForm.php b/core/modules/block_content/src/BlockContentForm.php
index ec267cc..53c8723 100644
--- a/core/modules/block_content/src/BlockContentForm.php
+++ b/core/modules/block_content/src/BlockContentForm.php
@@ -182,11 +182,11 @@ public function save(array $form, FormStateInterface $form_state) {
$context = array('@type' => $block->bundle(), '%info' => $block->label());
$logger = $this->logger('block_content');
$block_type = $this->blockContentTypeStorage->load($block->bundle());
- $t_args = array('@type' => $block_type->label(), '%info' => $block->label());
+ $t_args = array('@type' => $block_type->label(), '%info' => $block->label(), '@layout-url' => \Drupal::url('block.admin_display'));
if ($insert) {
$logger->notice('@type: added %info.', $context);
- drupal_set_message($this->t('@type %info has been created.', $t_args));
+ drupal_set_message($this->t('@type %info has been created. Visit the Block layout page to add it to a region.', $t_args));
}
else {
$logger->notice('@type: updated %info.', $context);
@@ -194,23 +194,7 @@ public function save(array $form, FormStateInterface $form_state) {
}
if ($block->id()) {
- $form_state->setValue('id', $block->id());
- $form_state->set('id', $block->id());
- if ($insert) {
- if (!$theme = $block->getTheme()) {
- $theme = $this->config('system.theme')->get('default');
- }
- $form_state->setRedirect(
- 'block.admin_add',
- array(
- 'plugin_id' => 'block_content:' . $block->uuid(),
- 'theme' => $theme,
- )
- );
- }
- else {
- $form_state->setRedirectUrl($block->urlInfo('collection'));
- }
+ $form_state->setRedirectUrl($block->urlInfo('collection'));
}
else {
// In the unlikely case something went wrong on save, the block will be
diff --git a/core/modules/block_content/src/BlockContentViewsData.php b/core/modules/block_content/src/BlockContentViewsData.php
index abb2cb2..60105e0 100644
--- a/core/modules/block_content/src/BlockContentViewsData.php
+++ b/core/modules/block_content/src/BlockContentViewsData.php
@@ -29,7 +29,7 @@ public function getViewsData() {
$data['block_content_field_data']['type']['field']['id'] = 'field';
$data['block_content']['block_content_listing_empty'] = array(
- 'title' => t('Empty block library behavior'),
+ 'title' => t('Empty custom blocks page behavior'),
'help' => t('Provides a link to add a new block.'),
'area' => array(
'id' => 'block_content_listing_empty',
diff --git a/core/modules/block_content/src/Controller/BlockContentController.php b/core/modules/block_content/src/Controller/BlockContentController.php
index f712367..f9874fc 100644
--- a/core/modules/block_content/src/Controller/BlockContentController.php
+++ b/core/modules/block_content/src/Controller/BlockContentController.php
@@ -7,10 +7,11 @@
namespace Drupal\block_content\Controller;
+use Drupal\block_content\BlockContentInterface;
+use Drupal\block_content\BlockContentTypeInterface;
use Drupal\Component\Plugin\PluginManagerInterface;
use Drupal\Core\Controller\ControllerBase;
use Drupal\Core\Entity\EntityStorageInterface;
-use Drupal\block_content\BlockContentTypeInterface;
use Drupal\Core\Extension\ThemeHandlerInterface;
use Drupal\Core\Url;
use Symfony\Component\DependencyInjection\ContainerInterface;
@@ -120,6 +121,19 @@ public function addForm(BlockContentTypeInterface $block_content_type, Request $
}
/**
+ * A title callback for block content entities.
+ *
+ * @param \Drupal\block_content\BlockContentInterface $block_content
+ * The current custom block.
+ *
+ * @return string
+ * The title of the custom block.
+ */
+ public function blockContentTitle(BlockContentInterface $block_content) {
+ return $this->entityManager()->getTranslationFromContext($block_content)->label();
+ }
+
+ /**
* Provides the page title for this controller.
*
* @param \Drupal\block_content\BlockContentTypeInterface $block_content_type
diff --git a/core/modules/block_content/src/Entity/BlockContent.php b/core/modules/block_content/src/Entity/BlockContent.php
index 4e186b9..2e7179f 100644
--- a/core/modules/block_content/src/Entity/BlockContent.php
+++ b/core/modules/block_content/src/Entity/BlockContent.php
@@ -43,7 +43,7 @@
* "canonical" = "/block/{block_content}",
* "delete-form" = "/block/{block_content}/delete",
* "edit-form" = "/block/{block_content}",
- * "collection" = "/admin/structure/block/block-content",
+ * "collection" = "/admin/structure/block-content",
* },
* translatable = TRUE,
* entity_keys = {
diff --git a/core/modules/block_content/src/Entity/BlockContentType.php b/core/modules/block_content/src/Entity/BlockContentType.php
index 8494814..f04511f 100644
--- a/core/modules/block_content/src/Entity/BlockContentType.php
+++ b/core/modules/block_content/src/Entity/BlockContentType.php
@@ -35,9 +35,9 @@
* "label" = "label"
* },
* links = {
- * "delete-form" = "/admin/structure/block/block-content/manage/{block_content_type}/delete",
- * "edit-form" = "/admin/structure/block/block-content/manage/{block_content_type}",
- * "collection" = "/admin/structure/block/block-content/types",
+ * "delete-form" = "/admin/structure/block-content/manage/{block_content_type}/delete",
+ * "edit-form" = "/admin/structure/block-content/manage/{block_content_type}",
+ * "collection" = "/admin/structure/block-content/types",
* },
* config_export = {
* "id",
diff --git a/core/modules/block_content/src/Plugin/Menu/LocalAction/BlockContentAddLocalAction.php b/core/modules/block_content/src/Plugin/Menu/LocalAction/BlockContentAddLocalAction.php
deleted file mode 100644
index 62e0c3c..0000000
--- a/core/modules/block_content/src/Plugin/Menu/LocalAction/BlockContentAddLocalAction.php
+++ /dev/null
@@ -1,36 +0,0 @@
-getParameter('theme')) {
- $options['query']['theme'] = $theme;
- }
- // Adds a destination on custom block listing.
- if ($route_match->getRouteName() == 'entity.block_content.collection') {
- $options['query']['destination'] = $this->url('');
- }
- return $options;
- }
-
-}
diff --git a/core/modules/block_content/src/Tests/BlockContentCreationTest.php b/core/modules/block_content/src/Tests/BlockContentCreationTest.php
index 6bf250c..43c5c1a 100644
--- a/core/modules/block_content/src/Tests/BlockContentCreationTest.php
+++ b/core/modules/block_content/src/Tests/BlockContentCreationTest.php
@@ -100,6 +100,10 @@ public function testBlockContentCreationMultipleViewModes() {
'%name' => $edit['info[0][value]']
)), 'Basic block created.');
+ $blocks = entity_load_multiple_by_properties('block_content', ['info' => $edit['info[0][value]']]);
+ $block = reset($blocks);
+ $this->drupalGet('admin/structure/block/add/block_content:' . $block->uuid() . '/classy');
+
// Check that the view mode setting is shown because more than one exists.
$this->assertFieldByXPath('//select[@name="settings[view_mode]"]', NULL, 'View mode setting shown because multiple exist');
diff --git a/core/modules/block_content/src/Tests/BlockContentListTest.php b/core/modules/block_content/src/Tests/BlockContentListTest.php
index aeed4dc..f3d575b 100644
--- a/core/modules/block_content/src/Tests/BlockContentListTest.php
+++ b/core/modules/block_content/src/Tests/BlockContentListTest.php
@@ -30,10 +30,10 @@ class BlockContentListTest extends BlockContentTestBase {
*/
public function testListing() {
$this->drupalLogin($this->drupalCreateUser(array('administer blocks', 'translate configuration')));
- $this->drupalGet('admin/structure/block/block-content');
+ $this->drupalGet('admin/content/block-content');
// Test for the page title.
- $this->assertTitle(t('Custom block library') . ' | Drupal');
+ $this->assertTitle(t('Custom blocks') . ' | Drupal');
// Test for the table.
$element = $this->xpath('//div[@class="layout-content"]//table');
diff --git a/core/modules/block_content/src/Tests/BlockContentListViewsTest.php b/core/modules/block_content/src/Tests/BlockContentListViewsTest.php
index ba84f2b..f1b5941 100644
--- a/core/modules/block_content/src/Tests/BlockContentListViewsTest.php
+++ b/core/modules/block_content/src/Tests/BlockContentListViewsTest.php
@@ -28,10 +28,10 @@ class BlockContentListViewsTest extends BlockContentTestBase {
*/
public function testListing() {
$this->drupalLogin($this->drupalCreateUser(array('administer blocks', 'translate configuration')));
- $this->drupalGet('admin/structure/block/block-content');
+ $this->drupalGet('admin/content/block-content');
// Test for the page title.
- $this->assertTitle(t('Custom block library') . ' | Drupal');
+ $this->assertTitle(t('Custom blocks') . ' | Drupal');
// Test for the table.
$element = $this->xpath('//div[@class="layout-content"]//table');
diff --git a/core/modules/block_content/src/Tests/BlockContentTranslationUITest.php b/core/modules/block_content/src/Tests/BlockContentTranslationUITest.php
index d17fc3b..3f1eba3 100644
--- a/core/modules/block_content/src/Tests/BlockContentTranslationUITest.php
+++ b/core/modules/block_content/src/Tests/BlockContentTranslationUITest.php
@@ -137,7 +137,7 @@ protected function doTestBasicTranslation() {
}
// Check that the translate operation link is shown.
- $this->drupalGet('admin/structure/block/block-content');
+ $this->drupalGet('admin/content/block-content');
$this->assertLinkByHref('block/' . $entity->id() . '/translations');
}
diff --git a/core/modules/block_content/src/Tests/BlockContentTypeTest.php b/core/modules/block_content/src/Tests/BlockContentTypeTest.php
index 20dc1a2..d7c0723 100644
--- a/core/modules/block_content/src/Tests/BlockContentTypeTest.php
+++ b/core/modules/block_content/src/Tests/BlockContentTypeTest.php
@@ -71,7 +71,7 @@ public function testBlockContentTypeCreation() {
'id' => 'foo',
'label' => 'title for foo',
);
- $this->drupalPostForm('admin/structure/block/block-content/types/add', $edit, t('Save'));
+ $this->drupalPostForm('admin/structure/block-content/add', $edit, t('Save'));
$block_type = BlockContentType::load('foo');
$this->assertTrue($block_type, 'The new block type has been created.');
@@ -106,7 +106,7 @@ public function testBlockContentTypeEditing() {
$edit = array(
'label' => 'Bar',
);
- $this->drupalPostForm('admin/structure/block/block-content/manage/basic', $edit, t('Save'));
+ $this->drupalPostForm('admin/structure/block-content/manage/basic', $edit, t('Save'));
\Drupal::entityManager()->clearCachedFieldDefinitions();
$this->drupalGet('block/add');
@@ -115,9 +115,9 @@ public function testBlockContentTypeEditing() {
$this->assertUrl(\Drupal::url('block_content.add_form', ['block_content_type' => 'basic'], ['absolute' => TRUE]), [], 'Original machine name was used in URL.');
// Remove the body field.
- $this->drupalPostForm('admin/structure/block/block-content/manage/basic/fields/block_content.basic.body/delete', array(), t('Delete'));
+ $this->drupalPostForm('admin/structure/block-content/manage/basic/fields/block_content.basic.body/delete', array(), t('Delete'));
// Resave the settings for this type.
- $this->drupalPostForm('admin/structure/block/block-content/manage/basic', array(), t('Save'));
+ $this->drupalPostForm('admin/structure/block-content/manage/basic', array(), t('Save'));
// Check that the body field doesn't exist.
$this->drupalGet('block/add/basic');
$this->assertNoRaw('Body', 'Body field was not found.');
@@ -138,7 +138,7 @@ public function testBlockContentTypeDeletion() {
// Add a new block of this type.
$block = $this->createBlockContent(FALSE, 'foo');
// Attempt to delete the block type, which should not be allowed.
- $this->drupalGet('admin/structure/block/block-content/manage/' . $type->id() . '/delete');
+ $this->drupalGet('admin/structure/block-content/manage/' . $type->id() . '/delete');
$this->assertRaw(
t('%label is used by 1 custom block on your site. You can not remove this block type until you have removed all of the %label blocks.', array('%label' => $type->label())),
'The block type will not be deleted until all blocks of that type are removed.'
@@ -148,7 +148,7 @@ public function testBlockContentTypeDeletion() {
// Delete the block.
$block->delete();
// Attempt to delete the block type, which should now be allowed.
- $this->drupalGet('admin/structure/block/block-content/manage/' . $type->id() . '/delete');
+ $this->drupalGet('admin/structure/block-content/manage/' . $type->id() . '/delete');
$this->assertRaw(
t('Are you sure you want to delete the custom block type %type?', array('%type' => $type->id())),
'The block type is available for deletion.'
@@ -156,80 +156,4 @@ public function testBlockContentTypeDeletion() {
$this->assertText(t('This action cannot be undone.'), 'The custom block type deletion confirmation form is available.');
}
- /**
- * Tests that redirects work as expected when multiple block types exist.
- */
- public function testsBlockContentAddTypes() {
- // Now create an initial block-type.
- $this->createBlockContentType('basic', TRUE);
-
- $this->drupalLogin($this->adminUser);
- // Create two block types programmatically.
- $type = $this->createBlockContentType('foo');
- $type = $this->createBlockContentType('bar');
-
- // Get the custom block storage.
- $storage = $this->container
- ->get('entity.manager')
- ->getStorage('block_content');
-
- // Install all themes.
- \Drupal::service('theme_handler')->install(array('bartik', 'seven'));
- $themes = array('bartik', 'seven', 'classy');
- $theme_settings = $this->config('system.theme');
- foreach ($themes as $default_theme) {
- // Change the default theme.
- $theme_settings->set('default', $default_theme)->save();
- \Drupal::service('router.builder')->rebuild();
-
- // For each installed theme, go to its block page and test the redirects.
- $themes = array('bartik', 'classy', 'seven');
- foreach ($themes as $theme) {
- // Test that adding a block from the 'place blocks' form sends you to the
- // block configure form.
- $path = $theme == $default_theme ? 'admin/structure/block' : "admin/structure/block/list/$theme";
- $this->drupalGet($path);
- $this->clickLinkPartialName('Place block');
- $this->clickLink(t('Add custom block'));
- // The seven theme has markup inside the link, we cannot use clickLink().
- if ($default_theme == 'seven') {
- $options = $theme != $default_theme ? array('query' => array('theme' => $theme)) : array();
- $this->assertLinkByHref(\Drupal::url('block_content.add_form', array('block_content_type' => 'foo'), $options));
- $this->drupalGet('block/add/foo', $options);
- }
- else {
- $this->clickLink('foo');
- }
- // Create a new block.
- $edit = array('info[0][value]' => $this->randomMachineName(8));
- $this->drupalPostForm(NULL, $edit, t('Save'));
- $blocks = $storage->loadByProperties(array('info' => $edit['info[0][value]']));
- if (!empty($blocks)) {
- $block = reset($blocks);
- $this->assertUrl(\Drupal::url('block.admin_add', array('plugin_id' => 'block_content:' . $block->uuid(), 'theme' => $theme), array('absolute' => TRUE)));
- $this->drupalPostForm(NULL, array(), t('Save block'));
- $this->assertUrl(\Drupal::url('block.admin_display_theme', array('theme' => $theme), array('absolute' => TRUE, 'query' => array('block-placement' => Html::getClass($edit['info[0][value]'])))));
- }
- else {
- $this->fail('Could not load created block.');
- }
- }
- }
-
- // Test that adding a block from the 'custom blocks list' doesn't send you
- // to the block configure form.
- $this->drupalGet('admin/structure/block/block-content');
- $this->clickLink(t('Add custom block'));
- $this->clickLink('foo');
- $edit = array('info[0][value]' => $this->randomMachineName(8));
- $this->drupalPostForm(NULL, $edit, t('Save'));
- $blocks = $storage->loadByProperties(array('info' => $edit['info[0][value]']));
- if (!empty($blocks)) {
- $this->assertUrl(\Drupal::url('entity.block_content.collection', array(), array('absolute' => TRUE)));
- }
- else {
- $this->fail('Could not load created block.');
- }
- }
-
}
diff --git a/core/modules/block_content/tests/src/Unit/Menu/BlockContentLocalTasksTest.php b/core/modules/block_content/tests/src/Unit/Menu/BlockContentLocalTasksTest.php
deleted file mode 100644
index 9c01796..0000000
--- a/core/modules/block_content/tests/src/Unit/Menu/BlockContentLocalTasksTest.php
+++ /dev/null
@@ -1,85 +0,0 @@
-directoryList = array(
- 'block' => 'core/modules/block',
- 'block_content' => 'core/modules/block_content',
- );
- parent::setUp();
-
- $config_factory = $this->getConfigFactoryStub(array('system.theme' => array(
- 'default' => 'test_c',
- )));
-
- $themes = array();
- $themes['test_a'] = (object) array(
- 'status' => 0,
- );
- $themes['test_b'] = (object) array(
- 'status' => 1,
- 'info' => array(
- 'name' => 'test_b',
- ),
- );
- $themes['test_c'] = (object) array(
- 'status' => 1,
- 'info' => array(
- 'name' => 'test_c',
- ),
- );
- $theme_handler = $this->getMock('Drupal\Core\Extension\ThemeHandlerInterface');
- $theme_handler->expects($this->any())
- ->method('listInfo')
- ->will($this->returnValue($themes));
-
- $container = new ContainerBuilder();
- $container->set('config.factory', $config_factory);
- $container->set('theme_handler', $theme_handler);
- \Drupal::setContainer($container);
- }
-
- /**
- * Checks block_content listing local tasks.
- *
- * @dataProvider getBlockContentListingRoutes
- */
- public function testBlockContentListLocalTasks($route) {
- $this->assertLocalTasks($route, array(
- 0 => array(
- 'block.admin_display',
- 'entity.block_content.collection',
- ),
- 1 => array(
- 'block_content.list_sub',
- 'entity.block_content_type.collection',
- ),
- ));
- }
-
- /**
- * Provides a list of routes to test.
- */
- public function getBlockContentListingRoutes() {
- return array(
- array('entity.block_content.collection', 'entity.block_content_type.collection'),
- );
- }
-
-}
diff --git a/core/modules/config_translation/src/Tests/ConfigTranslationListUiTest.php b/core/modules/config_translation/src/Tests/ConfigTranslationListUiTest.php
index 4ceec20..d018673 100644
--- a/core/modules/config_translation/src/Tests/ConfigTranslationListUiTest.php
+++ b/core/modules/config_translation/src/Tests/ConfigTranslationListUiTest.php
@@ -192,9 +192,9 @@ public function doCustomContentTypeListTest() {
$block_content_type->save();
// Get the custom block type listing.
- $this->drupalGet('admin/structure/block/block-content/types');
+ $this->drupalGet('admin/structure/block-content');
- $translate_link = 'admin/structure/block/block-content/manage/' . $block_content_type->id() . '/translate';
+ $translate_link = 'admin/structure/block-content/manage/' . $block_content_type->id() . '/translate';
// Test if the link to translate the custom block type is on the page.
$this->assertLinkByHref($translate_link);
@@ -413,7 +413,7 @@ public function doFieldListTest() {
'field' => 'node.' . $content_type->id() . '.body',
),
array(
- 'list' => 'admin/structure/block/block-content/manage/basic/fields',
+ 'list' => 'admin/structure/block-content/manage/basic/fields',
'field' => 'block_content.basic.body',
),
);