Core and composer updates
This commit is contained in:
parent
a82634bb98
commit
62cac30480
1118 changed files with 21770 additions and 6306 deletions
|
@ -13,7 +13,8 @@ process:
|
|||
source: status
|
||||
id:
|
||||
# We need something unique, so aggregator, aggregator_1 etc will do.
|
||||
plugin: dedupe_entity
|
||||
plugin: make_unique_entity_field
|
||||
|
||||
entity_type: block
|
||||
field: id
|
||||
postfix: _
|
||||
|
|
|
@ -21,6 +21,12 @@ class MigrateBlockTest extends MigrateDrupal6TestBase {
|
|||
'comment',
|
||||
'menu_ui',
|
||||
'block_content',
|
||||
'taxonomy',
|
||||
'node',
|
||||
'aggregator',
|
||||
'book',
|
||||
'forum',
|
||||
'statistics',
|
||||
];
|
||||
|
||||
/**
|
||||
|
@ -30,15 +36,14 @@ class MigrateBlockTest extends MigrateDrupal6TestBase {
|
|||
parent::setUp();
|
||||
|
||||
// Install the themes used for this test.
|
||||
$this->container->get('theme_installer')->install(['bartik', 'seven', 'test_theme']);
|
||||
$this->container->get('theme_installer')->install(['bartik', 'test_theme']);
|
||||
|
||||
$this->installConfig(['block_content']);
|
||||
$this->installEntitySchema('block_content');
|
||||
|
||||
// Set Bartik and Seven as the default public and admin theme.
|
||||
// Set Bartik as the default public theme.
|
||||
$config = $this->config('system.theme');
|
||||
$config->set('default', 'bartik');
|
||||
$config->set('admin', 'seven');
|
||||
$config->save();
|
||||
|
||||
$this->executeMigrations([
|
||||
|
@ -46,7 +51,6 @@ class MigrateBlockTest extends MigrateDrupal6TestBase {
|
|||
'block_content_type',
|
||||
'block_content_body_field',
|
||||
'd6_custom_block',
|
||||
'menu',
|
||||
'd6_user_role',
|
||||
'd6_block',
|
||||
]);
|
||||
|
@ -66,14 +70,12 @@ class MigrateBlockTest extends MigrateDrupal6TestBase {
|
|||
* The theme.
|
||||
* @param string $weight
|
||||
* The block weight.
|
||||
* @param string $label
|
||||
* The block label.
|
||||
* @param string $label_display
|
||||
* The block label display setting.
|
||||
* @param array $settings
|
||||
* (optional) The block settings.
|
||||
* @param bool $status
|
||||
* Whether the block is expected to be enabled or disabled.
|
||||
*/
|
||||
public function assertEntity($id, $visibility, $region, $theme, $weight, $label, $label_display, $status = TRUE) {
|
||||
public function assertEntity($id, $visibility, $region, $theme, $weight, array $settings = NULL, $status = TRUE) {
|
||||
$block = Block::load($id);
|
||||
$this->assertTrue($block instanceof Block);
|
||||
$this->assertSame($visibility, $block->getVisibility());
|
||||
|
@ -81,10 +83,11 @@ class MigrateBlockTest extends MigrateDrupal6TestBase {
|
|||
$this->assertSame($theme, $block->getTheme());
|
||||
$this->assertSame($weight, $block->getWeight());
|
||||
$this->assertSame($status, $block->status());
|
||||
|
||||
$config = $this->config('block.block.' . $id);
|
||||
$this->assertSame($label, $config->get('settings.label'));
|
||||
$this->assertSame($label_display, $config->get('settings.label_display'));
|
||||
if ($settings) {
|
||||
$block_settings = $block->get('settings');
|
||||
$block_settings['id'] = current(explode(':', $block_settings['id']));
|
||||
$this->assertEquals($settings, $block_settings);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -92,62 +95,209 @@ class MigrateBlockTest extends MigrateDrupal6TestBase {
|
|||
*/
|
||||
public function testBlockMigration() {
|
||||
$blocks = Block::loadMultiple();
|
||||
$this->assertIdentical(9, count($blocks));
|
||||
$this->assertCount(14, $blocks);
|
||||
|
||||
// User blocks
|
||||
$visibility = [];
|
||||
$visibility['request_path']['id'] = 'request_path';
|
||||
$visibility['request_path']['negate'] = TRUE;
|
||||
$visibility['request_path']['pages'] = "<front>\n/node/1\n/blog/*";
|
||||
$this->assertEntity('user', $visibility, 'sidebar_first', 'bartik', 0, '', '0');
|
||||
|
||||
$visibility = [];
|
||||
$this->assertEntity('user_1', $visibility, 'sidebar_first', 'bartik', 0, '', '0');
|
||||
|
||||
$visibility['user_role']['id'] = 'user_role';
|
||||
$roles['authenticated'] = 'authenticated';
|
||||
$visibility['user_role']['roles'] = $roles;
|
||||
$context_mapping['user'] = '@user.current_user_context:current_user';
|
||||
$visibility['user_role']['context_mapping'] = $context_mapping;
|
||||
$visibility['user_role']['negate'] = FALSE;
|
||||
$this->assertEntity('user_2', $visibility, 'sidebar_second', 'bartik', -9, '', '0');
|
||||
|
||||
$visibility = [];
|
||||
$visibility['user_role']['id'] = 'user_role';
|
||||
$visibility['user_role']['roles'] = [
|
||||
'migrate_test_role_1' => 'migrate_test_role_1'
|
||||
// Check user blocks.
|
||||
$visibility = [
|
||||
'request_path' => [
|
||||
'id' => 'request_path',
|
||||
'negate' => TRUE,
|
||||
'pages' => "<front>\n/node/1\n/blog/*",
|
||||
],
|
||||
];
|
||||
$context_mapping['user'] = '@user.current_user_context:current_user';
|
||||
$visibility['user_role']['context_mapping'] = $context_mapping;
|
||||
$visibility['user_role']['negate'] = FALSE;
|
||||
$this->assertEntity('user_3', $visibility, 'sidebar_second', 'bartik', -6, '', '0');
|
||||
$settings = [
|
||||
'id' => 'user_login_block',
|
||||
'label' => '',
|
||||
'provider' => 'user',
|
||||
'label_display' => '0',
|
||||
];
|
||||
$this->assertEntity('user', $visibility, 'sidebar_first', 'bartik', -10, $settings);
|
||||
|
||||
// Check system block
|
||||
$visibility = [];
|
||||
$visibility['request_path']['id'] = 'request_path';
|
||||
$visibility['request_path']['negate'] = TRUE;
|
||||
$visibility['request_path']['pages'] = '/node/1';
|
||||
$this->assertEntity('system', $visibility, 'footer_fifth', 'bartik', -5, '', '0');
|
||||
$settings = [
|
||||
'id' => 'system_menu_block',
|
||||
'label' => '',
|
||||
'provider' => 'system',
|
||||
'label_display' => '0',
|
||||
'level' => 1,
|
||||
'depth' => 0,
|
||||
];
|
||||
$this->assertEntity('user_1', $visibility, 'sidebar_first', 'bartik', -11, $settings);
|
||||
|
||||
// Check menu blocks
|
||||
$visibility = [];
|
||||
$this->assertEntity('menu', $visibility, 'header', 'bartik', -5, '', '0');
|
||||
$visibility = [
|
||||
'user_role' => [
|
||||
'id' => 'user_role',
|
||||
'roles' => [
|
||||
'authenticated' => 'authenticated',
|
||||
],
|
||||
'context_mapping' => [
|
||||
'user' => '@user.current_user_context:current_user',
|
||||
],
|
||||
'negate' => FALSE,
|
||||
],
|
||||
];
|
||||
$settings = [
|
||||
'id' => 'broken',
|
||||
'label' => '',
|
||||
'provider' => 'core',
|
||||
'label_display' => '0',
|
||||
'items_per_page' => '5',
|
||||
];
|
||||
$this->assertEntity('user_2', $visibility, 'sidebar_second', 'bartik', -11, $settings);
|
||||
|
||||
// Check custom blocks
|
||||
$visibility['request_path']['id'] = 'request_path';
|
||||
$visibility['request_path']['negate'] = FALSE;
|
||||
$visibility['request_path']['pages'] = '<front>';
|
||||
$this->assertEntity('block', $visibility, 'content', 'bartik', 0, 'Static Block', 'visible');
|
||||
$visibility = [
|
||||
'user_role' => [
|
||||
'id' => 'user_role',
|
||||
'roles' => [
|
||||
'migrate_test_role_1' => 'migrate_test_role_1',
|
||||
],
|
||||
'context_mapping' => [
|
||||
'user' => '@user.current_user_context:current_user',
|
||||
],
|
||||
'negate' => FALSE,
|
||||
],
|
||||
];
|
||||
$settings = [
|
||||
'id' => 'broken',
|
||||
'label' => '',
|
||||
'provider' => 'core',
|
||||
'label_display' => '0',
|
||||
'items_per_page' => '10',
|
||||
];
|
||||
$this->assertEntity('user_3', $visibility, 'sidebar_second', 'bartik', -10, $settings);
|
||||
|
||||
$visibility['request_path']['id'] = 'request_path';
|
||||
$visibility['request_path']['negate'] = FALSE;
|
||||
$visibility['request_path']['pages'] = '/node';
|
||||
// Check system block.
|
||||
$visibility = [
|
||||
'request_path' => [
|
||||
'id' => 'request_path',
|
||||
'negate' => TRUE,
|
||||
'pages' => '/node/1',
|
||||
],
|
||||
];
|
||||
$settings = [
|
||||
'id' => 'system_powered_by_block',
|
||||
'label' => '',
|
||||
'provider' => 'system',
|
||||
'label_display' => '0',
|
||||
];
|
||||
$this->assertEntity('system', $visibility, 'footer_fifth', 'bartik', -5, $settings);
|
||||
|
||||
// Check menu blocks.
|
||||
$settings = [
|
||||
'id' => 'broken',
|
||||
'label' => '',
|
||||
'provider' => 'core',
|
||||
'label_display' => '0',
|
||||
];
|
||||
$this->assertEntity('menu', [], 'header', 'bartik', -5, $settings);
|
||||
|
||||
// Check aggregator block.
|
||||
$settings = [
|
||||
'id' => 'aggregator_feed_block',
|
||||
'label' => '',
|
||||
'provider' => 'aggregator',
|
||||
'label_display' => '0',
|
||||
'block_count' => 7,
|
||||
'feed' => '5',
|
||||
];
|
||||
$this->assertEntity('aggregator', [], 'sidebar_second', 'bartik', -2, $settings);
|
||||
|
||||
// Check book block.
|
||||
$settings = [
|
||||
'id' => 'book_navigation',
|
||||
'label' => '',
|
||||
'provider' => 'book',
|
||||
'label_display' => '0',
|
||||
'block_mode' => 'book pages',
|
||||
];
|
||||
$this->assertEntity('book', [], 'sidebar_second', 'bartik', -4, $settings);
|
||||
|
||||
// Check forum block settings.
|
||||
$settings = [
|
||||
'id' => 'forum_active_block',
|
||||
'label' => '',
|
||||
'provider' => 'forum',
|
||||
'label_display' => '0',
|
||||
'block_count' => 3,
|
||||
'properties' => [
|
||||
'administrative' => '1',
|
||||
],
|
||||
];
|
||||
$this->assertEntity('forum', [], 'sidebar_first', 'bartik', -8, $settings);
|
||||
|
||||
$settings = [
|
||||
'id' => 'forum_new_block',
|
||||
'label' => '',
|
||||
'provider' => 'forum',
|
||||
'label_display' => '0',
|
||||
'block_count' => 4,
|
||||
'properties' => [
|
||||
'administrative' => '1',
|
||||
],
|
||||
];
|
||||
$this->assertEntity('forum_1', [], 'sidebar_first', 'bartik', -9, $settings);
|
||||
|
||||
// Check statistic block settings.
|
||||
$settings = [
|
||||
'id' => 'broken',
|
||||
'label' => '',
|
||||
'provider' => 'core',
|
||||
'label_display' => '0',
|
||||
'top_day_num' => 7,
|
||||
'top_all_num' => 8,
|
||||
'top_last_num' => 9,
|
||||
];
|
||||
$this->assertEntity('statistics', [], 'sidebar_second', 'bartik', 0, $settings);
|
||||
|
||||
// Check custom blocks.
|
||||
$visibility = [
|
||||
'request_path' => [
|
||||
'id' => 'request_path',
|
||||
'negate' => FALSE,
|
||||
'pages' => '<front>',
|
||||
],
|
||||
];
|
||||
$settings = [
|
||||
'id' => 'block_content',
|
||||
'label' => 'Static Block',
|
||||
'provider' => 'block_content',
|
||||
'label_display' => 'visible',
|
||||
'status' => TRUE,
|
||||
'info' => '',
|
||||
'view_mode' => 'full',
|
||||
];
|
||||
$this->assertEntity('block', $visibility, 'content', 'bartik', 0, $settings);
|
||||
|
||||
$visibility = [
|
||||
'request_path' => [
|
||||
'id' => 'request_path',
|
||||
'negate' => FALSE,
|
||||
'pages' => '/node',
|
||||
],
|
||||
];
|
||||
$settings = [
|
||||
'id' => 'block_content',
|
||||
'label' => 'Another Static Block',
|
||||
'provider' => 'block_content',
|
||||
'label_display' => 'visible',
|
||||
'status' => TRUE,
|
||||
'info' => '',
|
||||
'view_mode' => 'full',
|
||||
];
|
||||
// We expect this block to be disabled because '' is not a valid region,
|
||||
// and block_rebuild() will disable any block in an invalid region.
|
||||
$this->assertEntity('block_1', $visibility, '', 'bluemarine', -4, 'Another Static Block', 'visible', FALSE);
|
||||
$this->assertEntity('block_1', $visibility, '', 'bluemarine', -4, $settings, FALSE);
|
||||
|
||||
$visibility = [];
|
||||
$this->assertEntity('block_2', $visibility, 'right', 'test_theme', -7, '', '0');
|
||||
$settings = [
|
||||
'id' => 'block_content',
|
||||
'label' => '',
|
||||
'provider' => 'block_content',
|
||||
'label_display' => '0',
|
||||
'status' => TRUE,
|
||||
'info' => '',
|
||||
'view_mode' => 'full',
|
||||
];
|
||||
$this->assertEntity('block_2', [], 'right', 'test_theme', -7, $settings);
|
||||
|
||||
// Custom block with php code is not migrated.
|
||||
$block = Block::load('block_3');
|
||||
|
|
Reference in a new issue