diff --git a/core/modules/aggregator/lib/Drupal/aggregator/Tests/AggregatorRenderingTest.php b/core/modules/aggregator/lib/Drupal/aggregator/Tests/AggregatorRenderingTest.php index cd083b7..1f13232 100644 --- a/core/modules/aggregator/lib/Drupal/aggregator/Tests/AggregatorRenderingTest.php +++ b/core/modules/aggregator/lib/Drupal/aggregator/Tests/AggregatorRenderingTest.php @@ -38,6 +38,10 @@ public function testBlockLinks() { $feed = $this->createFeed(); $this->updateFeedItems($feed, $this->getDefaultFeedItemCount()); + // Clear the block cache to load the new block definitions. + $manager = $this->container->get('plugin.manager.block'); + $manager->clearCachedDefinitions(); + // Need admin user to be able to access block admin. $admin_user = $this->drupalCreateUser(array( 'administer blocks', @@ -47,16 +51,11 @@ public function testBlockLinks() { )); $this->drupalLogin($admin_user); - $current_theme = variable_get('theme_default', 'stark'); - $machine_name = 'test_aggregator_feed_block'; $block = array( - 'machine_name' => $machine_name, - 'region' => 'footer', 'title' => 'feed-' . $feed->title, 'block_count' => 2, ); - $this->drupalPost("admin/structure/block/manage/aggregator_feed_block:{$feed->fid}/$current_theme", $block, t('Save block')); - $this->assertText(t('The block configuration has been saved.'), 'Block was saved.'); + $this->drupalPlaceBlock("aggregator_feed_block:{$feed->fid}", $block); // Confirm that the block is now being displayed on pages. $this->drupalGet('node'); diff --git a/core/modules/aggregator/lib/Drupal/aggregator/Tests/ImportOpmlTest.php b/core/modules/aggregator/lib/Drupal/aggregator/Tests/ImportOpmlTest.php index 5eb110f..7a9f463 100644 --- a/core/modules/aggregator/lib/Drupal/aggregator/Tests/ImportOpmlTest.php +++ b/core/modules/aggregator/lib/Drupal/aggregator/Tests/ImportOpmlTest.php @@ -49,15 +49,7 @@ function openImportForm() { ->execute(); // Enable the help block. - $block_id = 'system_help_block'; - $default_theme = variable_get('theme_default', 'stark'); - $block = array( - 'title' => $this->randomName(8), - 'machine_name' => $this->randomName(8), - 'region' => 'help', - ); - $this->drupalPost('admin/structure/block/manage/' . $block_id . '/' . $default_theme, $block, t('Save block')); - $this->assertText(t('The block configuration has been saved.'), '"Help" block enabled'); + $this->drupalPlaceBlock('system_help_block', array('region' => 'help')); $this->drupalGet('admin/config/services/aggregator/add/opml'); $this->assertText('A single OPML document may contain a collection of many feeds.', 'Found OPML help text.'); diff --git a/core/modules/block/lib/Drupal/block/Tests/BlockCacheTest.php b/core/modules/block/lib/Drupal/block/Tests/BlockCacheTest.php index 2c401e8..f40d4fa 100644 --- a/core/modules/block/lib/Drupal/block/Tests/BlockCacheTest.php +++ b/core/modules/block/lib/Drupal/block/Tests/BlockCacheTest.php @@ -49,12 +49,8 @@ function setUp() { $this->normal_user_alt->save(); // Enable our test block. - $this->theme = variable_get('theme_default', 'stark'); - $block = array(); - $block['machine_name'] = $this->randomName(8); - $block['region'] = 'sidebar_first'; - $this->block = $block; - $this->drupalPost('admin/structure/block/manage/test_cache/' . $this->theme, $block, t('Save block')); + $block = $this->drupalPlaceBlock('test_cache'); + $this->block_config_id = $block['config_id']; } /** @@ -196,13 +192,11 @@ function testCachePerPage() { * Private helper method to set the test block's cache mode. */ private function setCacheMode($cache_mode) { - $block = $this->block; - $block['config_id'] = 'plugin.core.block.' . $this->theme . '.' . $block['machine_name']; - $block_config = config($block['config_id']); + $block_config = config($this->block_config_id); $block_config->set('cache', $cache_mode); $block_config->save(); - $instance = block_load($block['config_id']); + $instance = block_load($this->block_config_id); $config = $instance->getConfig(); if ($config['cache'] != $cache_mode) { $this->fail(t('Unable to set cache mode to %mode. Current mode: %current_mode', array('%mode' => $cache_mode, '%current_mode' => $config['cache']))); diff --git a/core/modules/block/lib/Drupal/block/Tests/BlockHiddenRegionTest.php b/core/modules/block/lib/Drupal/block/Tests/BlockHiddenRegionTest.php index f33694e..c16439c 100644 --- a/core/modules/block/lib/Drupal/block/Tests/BlockHiddenRegionTest.php +++ b/core/modules/block/lib/Drupal/block/Tests/BlockHiddenRegionTest.php @@ -46,14 +46,7 @@ function setUp() { ); $this->drupalLogin($this->adminUser); - - $default_theme = variable_get('theme_default', 'stark'); - - $block['machine_name'] = $this->randomName(); - $block['region'] = 'sidebar_first'; - $block['title'] = $this->randomName(); - $this->drupalPost('admin/structure/block/manage/search_form_block/' . $default_theme, $block, t('Save block')); - $this->assertText('The block configuration has been saved.', 'Block was saved'); + $this->drupalPlaceBlock('search_form_block'); } /** @@ -61,8 +54,6 @@ function setUp() { */ public function testBlockNotInHiddenRegion() { - $this->drupalLogin($this->adminUser); - // Ensure that the search form block is displayed. $this->drupalGet(''); $this->assertText('Search', 'Block was displayed on the front page.'); @@ -81,4 +72,5 @@ public function testBlockNotInHiddenRegion() { $this->drupalGet(''); $this->assertText('Search', 'Block was displayed on the front page.'); } + } diff --git a/core/modules/block/lib/Drupal/block/Tests/BlockHtmlIdTest.php b/core/modules/block/lib/Drupal/block/Tests/BlockHtmlIdTest.php index 1bf3543..e0d37da 100644 --- a/core/modules/block/lib/Drupal/block/Tests/BlockHtmlIdTest.php +++ b/core/modules/block/lib/Drupal/block/Tests/BlockHtmlIdTest.php @@ -10,7 +10,7 @@ use Drupal\simpletest\WebTestBase; /** - * Test block HTML id validity. + * Tests block HTML ID validity. */ class BlockHtmlIdTest extends WebTestBase { @@ -28,8 +28,8 @@ class BlockHtmlIdTest extends WebTestBase { public static function getInfo() { return array( - 'name' => 'Block HTML id', - 'description' => 'Test block HTML id validity.', + 'name' => 'Block HTML ID', + 'description' => 'Tests block HTML ID validity.', 'group' => 'Block', ); } @@ -46,11 +46,7 @@ function setUp() { state()->set('block_test.content', $current_content); // Enable our test block. - $default_theme = variable_get('theme_default', 'stark'); - $block = array(); - $block['machine_name'] = 'test_id_block'; - $block['region'] = 'sidebar_first'; - $this->drupalPost('admin/structure/block/manage/test_html_id' . '/' . $default_theme, array('machine_name' => $block['machine_name'], 'region' => $block['region']), t('Save block')); + $this->drupalPlaceBlock('test_html_id', array('machine_name' => 'test_id_block')); } /** @@ -60,4 +56,5 @@ function testHtmlId() { $this->drupalGet(''); $this->assertRaw('id="block-test-id-block"', 'HTML ID for test block is valid.'); } + } diff --git a/core/modules/block/lib/Drupal/block/Tests/BlockInvalidRegionTest.php b/core/modules/block/lib/Drupal/block/Tests/BlockInvalidRegionTest.php index da22d5a..ec41b39 100644 --- a/core/modules/block/lib/Drupal/block/Tests/BlockInvalidRegionTest.php +++ b/core/modules/block/lib/Drupal/block/Tests/BlockInvalidRegionTest.php @@ -44,18 +44,9 @@ function setUp() { * Tests that blocks assigned to invalid regions work correctly. */ function testBlockInInvalidRegion() { - // Enable a test block in the default theme and place it in an invalid region. - $current_theme = variable_get('default_theme', 'stark'); - $machine_name = 'test_html_id'; - $block = array( - 'machine_name' => $machine_name, - 'region' => 'footer', - ); - $this->drupalPost("admin/structure/block/manage/test_html_id/$current_theme", $block, t('Save block')); - $this->assertText(t('The block configuration has been saved.'), 'Block was saved.'); - - $machine_name = 'plugin.core.block.' . $current_theme . '.' . $machine_name; - $config = config($machine_name); + // Enable a test block and place it in an invalid region. + $block = $this->drupalPlaceBlock('test_html_id'); + $config = config($block['config_id']); $config->set('region', 'invalid_region'); $config->save(); @@ -70,7 +61,6 @@ function testBlockInInvalidRegion() { $this->assertNoRaw($warning_message, 'Disabled block in the invalid region will not trigger the warning.'); // Place disabled test block in the invalid region of the default theme. - $config = config($machine_name); $config->set('region', 'invalid_region'); $config->save(); diff --git a/core/modules/block/lib/Drupal/block/Tests/NewDefaultThemeBlocksTest.php b/core/modules/block/lib/Drupal/block/Tests/NewDefaultThemeBlocksTest.php index 8d04426..d9be6f4 100644 --- a/core/modules/block/lib/Drupal/block/Tests/NewDefaultThemeBlocksTest.php +++ b/core/modules/block/lib/Drupal/block/Tests/NewDefaultThemeBlocksTest.php @@ -33,38 +33,18 @@ public static function getInfo() { * Check the enabled Bartik blocks are correctly copied over. */ function testNewDefaultThemeBlocks() { + $default_theme = variable_get('theme_default', 'stark'); // Add several block instances. - // @todo Do this programmatically and with test blocks instead of other - // modules' blocks once block instances are config entities. $this->adminUser = $this->drupalCreateUser(array('administer blocks')); $this->drupalLogin($this->adminUser); - // Add one instance of the user login block. - $block_id = 'user_login_block'; - $default_theme = variable_get('theme_default', 'stark'); - $edit = array( - 'title' => $this->randomName(8), - 'machine_name' => $this->randomName(8), - 'region' => 'sidebar_first', - ); - $this->drupalPost('admin/structure/block/manage/' . $block_id . '/' . $default_theme, $edit, t('Save block')); - $this->assertText(t('The block configuration has been saved.'), 'User login block enabled'); - - // Add another instance of the same block. - $this->drupalPost('admin/structure/block/manage/' . $block_id . '/' . $default_theme, $edit, t('Save block')); - $this->assertText(t('The block configuration has been saved.'), 'User login block enabled'); + // Add two instances of the user login block. + $this->drupalPlaceBlock('user_login_block'); + $this->drupalPlaceBlock('user_login_block'); // Add an instance of a different block. - $block_id = 'system_powered_by_block'; - $edit = array( - 'title' => $this->randomName(8), - 'machine_name' => $this->randomName(8), - 'region' => 'sidebar_first', - ); - $this->drupalPost('admin/structure/block/manage/' . $block_id . '/' . $default_theme, $edit, t('Save block')); - $this->assertText(t('The block configuration has been saved.'), 'User login block enabled'); - + $this->drupalPlaceBlock('system_powered_by_block'); $this->drupalLogout($this->adminUser); // Enable a different theme. diff --git a/core/modules/book/lib/Drupal/book/Tests/BookTest.php b/core/modules/book/lib/Drupal/book/Tests/BookTest.php index 4d5e452..16c8ae3 100644 --- a/core/modules/book/lib/Drupal/book/Tests/BookTest.php +++ b/core/modules/book/lib/Drupal/book/Tests/BookTest.php @@ -309,16 +309,8 @@ function testBookExport() { function testBookNavigationBlock() { $this->drupalLogin($this->admin_user); - $block_id = 'book_navigation'; - $default_theme = variable_get('theme_default', 'stark'); - $block = array( - 'title' => $this->randomName(8), - 'machine_name' => $this->randomName(8), - 'region' => 'footer', - ); // Enable the block. - $this->drupalPost('admin/structure/block/manage/' . $block_id . '/' . $default_theme, $block, t('Save block')); - $this->assertText(t('The block configuration has been saved.'), 'Block enabled'); + $block = $this->drupalPlaceBlock('book_navigation'); // Give anonymous users the permission 'node test view'. $edit = array(); @@ -329,7 +321,7 @@ function testBookNavigationBlock() { // Test correct display of the block. $nodes = $this->createBook(); $this->drupalGet(''); - $this->assertText($block['title'], 'Book navigation block is displayed.'); + $this->assertText($block['subject'], 'Book navigation block is displayed.'); $this->assertText($this->book->label(), format_string('Link to book root (@title) is displayed.', array('@title' => $nodes[0]->label()))); $this->assertNoText($nodes[0]->label(), 'No links to individual book pages are displayed.'); } @@ -339,17 +331,7 @@ function testBookNavigationBlock() { */ function testNavigationBlockOnAccessModuleEnabled() { $this->drupalLogin($this->admin_user); - $block_id = 'book_navigation'; - $default_theme = variable_get('theme_default', 'stark'); - $block = array( - 'title' => $this->randomName(8), - 'machine_name' => $this->randomName(8), - 'region' => 'footer', - 'book_block_mode' => 'book pages', - ); - // Enable the block. - $this->drupalPost('admin/structure/block/manage/' . $block_id . '/' . $default_theme, $block, t('Save block')); - $this->assertText(t('The block configuration has been saved.'), 'Block enabled'); + $block = $this->drupalPlaceBlock('book_navigation', array('book_block_mode' => 'book pages')); // Give anonymous users the permission 'node test view'. $edit = array(); @@ -363,12 +345,12 @@ function testNavigationBlockOnAccessModuleEnabled() { // Test correct display of the block to registered users. $this->drupalLogin($this->web_user); $this->drupalGet('node/' . $this->book->nid); - $this->assertText($block['title'], 'Book navigation block is displayed to registered users.'); + $this->assertText($block['subject'], 'Book navigation block is displayed to registered users.'); $this->drupalLogout(); // Test correct display of the block to anonymous users. $this->drupalGet('node/' . $this->book->nid); - $this->assertText($block['title'], 'Book navigation block is displayed to anonymous users.'); + $this->assertText($block['subject'], 'Book navigation block is displayed to anonymous users.'); } /** diff --git a/core/modules/comment/lib/Drupal/comment/Tests/CommentBlockTest.php b/core/modules/comment/lib/Drupal/comment/Tests/CommentBlockTest.php index b874d7b..d4d3fe6 100644 --- a/core/modules/comment/lib/Drupal/comment/Tests/CommentBlockTest.php +++ b/core/modules/comment/lib/Drupal/comment/Tests/CommentBlockTest.php @@ -46,16 +46,7 @@ public static function getInfo() { */ function testRecentCommentBlock() { $this->drupalLogin($this->admin_user); - $current_theme = variable_get('default_theme', 'stark'); - $machine_name = 'test_recent_comments'; - $edit = array( - 'machine_name' => $machine_name, - 'region' => 'sidebar_first', - 'title' => $this->randomName(), - 'block_count' => 2, - ); - $this->drupalPost('admin/structure/block/manage/recent_comments/' . $current_theme, $edit, t('Save block')); - $this->assertText(t('The block configuration has been saved.'), 'Block was saved.'); + $block = $this->drupalPlaceBlock('recent_comments', array('block_count' => 2)); // Add some test comments, one without a subject. $comment1 = $this->postComment($this->node, $this->randomName(), $this->randomName()); @@ -70,14 +61,14 @@ function testRecentCommentBlock() { // posting a node from a node form. cache_invalidate_tags(array('content' => TRUE)); $this->drupalGet(''); - $this->assertNoText($edit['title'], 'Block was not found.'); + $this->assertNoText($block['subject'], 'Block was not found.'); user_role_grant_permissions(DRUPAL_ANONYMOUS_RID, array('access comments')); // Test that a user with the 'access comments' permission can see the // block. $this->drupalLogin($this->web_user); $this->drupalGet(''); - $this->assertText($edit['title'], 'Block was found.'); + $this->assertText($block['subject'], 'Block was found.'); // Test the only the 2 latest comments are shown and in the proper order. $this->assertNoText($comment1->subject, 'Comment not found in block.'); @@ -88,11 +79,12 @@ function testRecentCommentBlock() { // Set the number of recent comments to show to 10. $this->drupalLogout(); $this->drupalLogin($this->admin_user); - $block = array( + $edit = array( 'block_count' => 10, ); + $current_theme = variable_get('theme_default', 'stark'); - $this->drupalPost("admin/structure/block/manage/plugin.core.block.$current_theme.$machine_name/$current_theme/configure", $block, t('Save block')); + $this->drupalPost('admin/structure/block/manage/' . $block['config_id'] . '/' . variable_get('theme_default', 'stark') . '/configure', $edit, t('Save block')); $this->assertText(t('The block configuration has been saved.'), 'Block saved.'); // Post an additional comment. @@ -118,4 +110,5 @@ function testRecentCommentBlock() { // rel="canonical" is added to the head of the document. $this->assertRaw('createForumTopics(); - $block_id = 'forum_new_block'; - $default_theme = variable_get('theme_default', 'stark'); - - $block = array( - 'title' => $this->randomName(8), - 'machine_name' => $this->randomName(8), - 'region' => 'sidebar_second', - ); - // Enable the new forum topics block. - $this->drupalPost('admin/structure/block/manage/' . $block_id . '/' . $default_theme, $block, t('Save block')); + $block = $this->drupalPlaceBlock('forum_new_block'); $this->assertText(t('The block configuration has been saved.'), '"New forum topics" block was enabled'); $this->assertLink(t('More'), 0, 'New forum topics block has a "more"-link.'); @@ -79,7 +70,6 @@ public function testNewForumTopicsBlock() { } // Configure the new forum topics block to only show 2 topics. - $block['config_id'] = 'plugin.core.block.' . $default_theme . '.' . $block['machine_name']; $config = config($block['config_id']); $config->set('block_count', 2); $config->save(); @@ -122,19 +112,7 @@ public function testActiveForumTopicsBlock() { } // Enable the block. - $block_id = 'forum_active_block'; - $default_theme = variable_get('theme_default', 'stark'); - - $block = array( - 'title' => $this->randomName(8), - 'machine_name' => $this->randomName(8), - 'region' => 'sidebar_second', - ); - - // Enable the active forum block. - $this->drupalPost('admin/structure/block/manage/' . $block_id . '/' . $default_theme, $block, t('Save block')); - $this->assertText(t('The block configuration has been saved.'), 'Active forum topics forum block was enabled'); - + $block = $this->drupalPlaceBlock('forum_active_block'); $this->assertLink(t('More'), 0, 'Active forum topics block has a "more"-link.'); $this->assertLinkByHref('forum', 0, 'Active forum topics block has a "more"-link.'); @@ -151,7 +129,6 @@ public function testActiveForumTopicsBlock() { } // Configure the active forum block to only show 2 topics. - $block['config_id'] = 'plugin.core.block.' . $default_theme . '.' . $block['machine_name']; $config = config($block['config_id']); $config->set('block_count', 2); $config->save(); diff --git a/core/modules/forum/lib/Drupal/forum/Tests/ForumNodeAccessTest.php b/core/modules/forum/lib/Drupal/forum/Tests/ForumNodeAccessTest.php index 5d3594a..e619923 100644 --- a/core/modules/forum/lib/Drupal/forum/Tests/ForumNodeAccessTest.php +++ b/core/modules/forum/lib/Drupal/forum/Tests/ForumNodeAccessTest.php @@ -75,26 +75,10 @@ function testForumNodeAccess() { $public_node = $this->drupalGetNodeByTitle($public_node_title); $this->assertTrue(!empty($public_node), 'New public forum node found in database.'); - $default_theme = variable_get('theme_default', 'stark'); - // Enable the active forum block. - $block_id = 'forum_active_block'; - $block = array( - 'title' => $this->randomName(8), - 'machine_name' => $this->randomName(8), - 'region' => 'sidebar_second', - ); - $this->drupalPost('admin/structure/block/manage/' . $block_id . '/' . $default_theme, $block, t('Save block')); - $this->assertText(t('The block configuration has been saved.'), 'Active forum topics block enabled'); - - // Enable the new forum block. - $block_id = 'forum_new_block'; - $block = array( - 'title' => $this->randomName(8), - 'machine_name' => $this->randomName(8), - 'region' => 'sidebar_second', - ); - $this->drupalPost('admin/structure/block/manage/' . $block_id . '/' . $default_theme, $block, t('Save block')); - $this->assertText(t('The block configuration has been saved.'), 'New forum topics block enabled'); + + // Enable the new and active forum blocks. + $this->drupalPlaceBlock('forum_active_block'); + $this->drupalPlaceBlock('forum_new_block'); // Test for $access_user. $this->drupalLogin($access_user); @@ -112,4 +96,5 @@ function testForumNodeAccess() { $this->assertNoText($private_node->title, 'Private node not found in block by $no_access_user'); $this->assertText($public_node->title, 'Public node found in block by $no_access_user'); } + } diff --git a/core/modules/language/lib/Drupal/language/Tests/LanguageSwitchingTest.php b/core/modules/language/lib/Drupal/language/Tests/LanguageSwitchingTest.php index 6ff3024..8effdfe 100644 --- a/core/modules/language/lib/Drupal/language/Tests/LanguageSwitchingTest.php +++ b/core/modules/language/lib/Drupal/language/Tests/LanguageSwitchingTest.php @@ -42,16 +42,7 @@ function setUp() { */ function testLanguageBlock() { // Enable the language switching block. - $language_type = LANGUAGE_TYPE_INTERFACE; - $block_id = 'language_block:' . $language_type; - $default_theme = variable_get('theme_default', 'stark'); - $block = array( - 'title' => $this->randomName(8), - 'machine_name' => $this->randomName(8), - 'region' => 'sidebar_first', - ); - $this->drupalPost('admin/structure/block/manage/' . $block_id . '/' . $default_theme, $block, t('Save block')); - $this->assertText(t('The block configuration has been saved.'), 'Block enabled'); + $block = $this->drupalPlaceBlock('language_block:' . LANGUAGE_TYPE_INTERFACE, array('machine_name' => 'test_language_block')); // Add language. $edit = array( @@ -65,10 +56,10 @@ function testLanguageBlock() { // Assert that the language switching block is displayed on the frontpage. $this->drupalGet(''); - $this->assertText($block['title'], 'Language switcher block found.'); + $this->assertText($block['subject'], 'Language switcher block found.'); // Assert that only the current language is marked as active. - list($language_switcher) = $this->xpath('//div[@id=:id]/div[@class="content"]', array(':id' => 'block-' . strtolower($block['machine_name']))); + list($language_switcher) = $this->xpath('//div[@id=:id]/div[@class="content"]', array(':id' => 'block-test-language-block')); $links = array( 'active' => array(), 'inactive' => array(), @@ -97,4 +88,5 @@ function testLanguageBlock() { $this->assertIdentical($links, array('active' => array('en'), 'inactive' => array('fr')), 'Only the current language list item is marked as active on the language switcher block.'); $this->assertIdentical($anchors, array('active' => array('en'), 'inactive' => array('fr')), 'Only the current language anchor is marked as active on the language switcher block.'); } + } diff --git a/core/modules/language/lib/Drupal/language/Tests/LanguageUILanguageNegotiationTest.php b/core/modules/language/lib/Drupal/language/Tests/LanguageUILanguageNegotiationTest.php index 4b8b512..e86ad6c 100644 --- a/core/modules/language/lib/Drupal/language/Tests/LanguageUILanguageNegotiationTest.php +++ b/core/modules/language/lib/Drupal/language/Tests/LanguageUILanguageNegotiationTest.php @@ -402,15 +402,7 @@ function testUrlLanguageFallback() { $this->drupalGet('admin/config/regional/language/detection'); // Enable the language switcher block. - $block_id = 'language_block:' . LANGUAGE_TYPE_INTERFACE; - $default_theme = variable_get('theme_default', 'stark'); - $block = array( - 'title' => $this->randomName(8), - 'machine_name' => $this->randomName(8), - 'region' => 'sidebar_first', - ); - $this->drupalPost('admin/structure/block/manage/' . $block_id . '/' . $default_theme, $block, t('Save block')); - $this->assertText(t('The block configuration has been saved.'), 'Block enabled'); + $this->drupalPlaceBlock('language_block:' . LANGUAGE_TYPE_INTERFACE, array('machine_name' => 'test_language_block')); // Access the front page without specifying any valid URL language prefix // and having as browser language preference a non-default language. @@ -420,7 +412,7 @@ function testUrlLanguageFallback() { // Check that the language switcher active link matches the given browser // language. - $args = array(':id' => 'block-' . strtolower($block['machine_name']), ':url' => base_path() . $GLOBALS['script_path'] . $langcode_browser_fallback); + $args = array(':id' => 'block-test-language-block', ':url' => base_path() . $GLOBALS['script_path'] . $langcode_browser_fallback); $fields = $this->xpath('//div[@id=:id]//a[@class="language-link active" and starts-with(@href, :url)]', $args); $this->assertTrue($fields[0] == $languages[$langcode_browser_fallback]->name, 'The browser language is the URL active language'); diff --git a/core/modules/menu/lib/Drupal/menu/Tests/MenuTest.php b/core/modules/menu/lib/Drupal/menu/Tests/MenuTest.php index ac2e4c3..caf27e6 100644 --- a/core/modules/menu/lib/Drupal/menu/Tests/MenuTest.php +++ b/core/modules/menu/lib/Drupal/menu/Tests/MenuTest.php @@ -16,7 +16,7 @@ class MenuTest extends WebTestBase { * * @var array */ - public static $modules = array('menu'); + public static $modules = array('menu', 'block'); protected $profile = 'standard'; @@ -138,7 +138,6 @@ function addCustomMenuCRUD() { * Add custom menu. */ function addCustomMenu() { - // Add custom menu. // Try adding a menu using a menu_name that is too long. $this->drupalGet('admin/structure/menu/add'); @@ -176,16 +175,12 @@ function addCustomMenu() { // Enable the custom menu block. $menu_name = 'menu-' . $menu_name; // Drupal prepends the name with 'menu-'. - $default_theme = variable_get('theme_default', 'stark'); - $this->drupalGet("admin/structure/block/list/block_plugin_ui:{$default_theme}/add"); + // Confirm that the custom menu block is available. + $this->drupalGet('admin/structure/block/list/block_plugin_ui:' . variable_get('theme_default', 'stark') . '/add'); $this->assertText($title); - $block = array( - 'machine_name' => $this->randomName(8), - 'region' => 'sidebar_first', - ); - $this->drupalPost("admin/structure/block/manage/menu_menu_block:$menu_name/$default_theme", $block, t('Save block')); - $this->assertResponse(200); + // Enable the block. + $this->drupalPlaceBlock('menu_menu_block:' . $menu_name); return menu_load($menu_name); } diff --git a/core/modules/node/lib/Drupal/node/Tests/NodeBlockFunctionalTest.php b/core/modules/node/lib/Drupal/node/Tests/NodeBlockFunctionalTest.php index 17711aa..b5d5205 100644 --- a/core/modules/node/lib/Drupal/node/Tests/NodeBlockFunctionalTest.php +++ b/core/modules/node/lib/Drupal/node/Tests/NodeBlockFunctionalTest.php @@ -60,22 +60,8 @@ public function testRecentNodeBlock() { 'access content' => FALSE, )); - // Enable the recent content block. - $block_id = 'node_recent_block'; - $default_theme = variable_get('theme_default', 'stark'); - $block = array( - 'title' => $this->randomName(8), - 'machine_name' => $this->randomName(8), - 'region' => 'sidebar_first', - ); - $this->drupalPost('admin/structure/block/manage/' . $block_id . '/' . $default_theme, $block, t('Save block')); - $this->assertText(t('The block configuration has been saved.'), 'Node enabled.'); - - // Set the number of recent posts to 2. - $block['config_id'] = 'plugin.core.block.' . $default_theme . '.' . $block['machine_name']; - $config = config($block['config_id']); - $config->set('block_count', 2); - $config->save(); + // Enable the recent content block with two items. + $block = $this->drupalPlaceBlock('node_recent_block', array('machine_name' => 'test_block', 'block_count' => 2)); // Test that block is not visible without nodes. $this->drupalGet(''); @@ -105,7 +91,7 @@ public function testRecentNodeBlock() { // see the block. $this->drupalLogout(); $this->drupalGet(''); - $this->assertNoText($block['title'], 'Block was not found.'); + $this->assertNoText($block['subject'], 'Block was not found.'); // Test that only the 2 latest nodes are shown. $this->drupalLogin($this->webUser); @@ -114,7 +100,7 @@ public function testRecentNodeBlock() { $this->assertText($node3->label(), 'Node found in block.'); // Check to make sure nodes are in the right order. - $this->assertTrue($this->xpath('//div[@id="block-' . strtolower($block['machine_name']) . '"]/div/table/tbody/tr[position() = 1]/td/div/a[text() = "' . $node3->label() . '"]'), 'Nodes were ordered correctly in block.'); + $this->assertTrue($this->xpath('//div[@id="block-test-block"]/div/table/tbody/tr[position() = 1]/td/div/a[text() = "' . $node3->label() . '"]'), 'Nodes were ordered correctly in block.'); $this->drupalLogout(); $this->drupalLogin($this->adminUser); @@ -137,21 +123,10 @@ public function testRecentNodeBlock() { $this->assertText($node3->label(), 'Node found in block.'); $this->assertText($node4->label(), 'Node found in block.'); - // Enable the "Powered by Drupal" block and test the visibility by node - // type functionality. - $block_name = 'system_powered_by_block'; - $block = array( - 'machine_name' => $this->randomName(8), - 'region' => 'sidebar_first', - 'title' => $this->randomName(8), + // Enable the "Powered by Drupal" block only on article nodes. + $block = $this->drupalPlaceBlock('system_powered_by_block', array( 'visibility[node_type][types][article]' => TRUE, - ); - // Set the block to be shown only on node/xx if node is an article. - $this->drupalPost('admin/structure/block/manage/' . $block_name . '/' . $default_theme, $block, t('Save block')); - $this->assertText('The block configuration has been saved.', 'Block was saved'); - - // Configure the new forum topics block to only show 2 topics. - $block['config_id'] = 'plugin.core.block.' . $default_theme . '.' . $block['machine_name']; + )); $config = config($block['config_id']); $node_type_visibility = $config->get('visibility.node_type.types.article'); $this->assertEqual($node_type_visibility, 'article', 'Visibility settings were saved to configuration'); @@ -161,12 +136,13 @@ public function testRecentNodeBlock() { // Verify visibility rules. $this->drupalGet(''); - $this->assertNoText($block['title'], 'Block was not displayed on the front page.'); + $this->assertNoText($block['subject'], 'Block was not displayed on the front page.'); $this->drupalGet('node/add/article'); - $this->assertText($block['title'], 'Block was displayed on the node/add/article page.'); + $this->assertText($block['subject'], 'Block was displayed on the node/add/article page.'); $this->drupalGet('node/' . $node1->nid); - $this->assertText($block['title'], 'Block was displayed on the node/N when node is of type article.'); + $this->assertText($block['subject'], 'Block was displayed on the node/N when node is of type article.'); $this->drupalGet('node/' . $node5->nid); - $this->assertNoText($block['title'], 'Block was not displayed on nodes of type page.'); + $this->assertNoText($block['subject'], 'Block was not displayed on nodes of type page.'); } + } diff --git a/core/modules/node/lib/Drupal/node/Tests/NodeBlockTest.php b/core/modules/node/lib/Drupal/node/Tests/NodeBlockTest.php deleted file mode 100644 index b738129..0000000 --- a/core/modules/node/lib/Drupal/node/Tests/NodeBlockTest.php +++ /dev/null @@ -1,59 +0,0 @@ - 'Block availability', - 'description' => 'Check if the syndicate block is available.', - 'group' => 'Node', - ); - } - - function setUp() { - parent::setUp(); - - // Create a user and log in. - $admin_user = $this->drupalCreateUser(array('administer blocks')); - $this->drupalLogin($admin_user); - } - - /** - * Tests that the "Syndicate" block is shown when enabled. - */ - public function testSyndicateBlock() { - $block_id = 'node_syndicate_block'; - $default_theme = variable_get('theme_default', 'stark'); - - $block = array( - 'title' => $this->randomName(8), - 'machine_name' => $this->randomName(8), - 'region' => 'sidebar_second', - ); - - // Enable the syndicate block. - $this->drupalPost('admin/structure/block/manage/' . $block_id . '/' . $default_theme, $block, t('Save block')); - $this->assertText(t('The block configuration has been saved.'), 'Node syndicate block enabled.'); - - // Confirm that the block's xpath is available. - $xpath = $this->buildXPathQuery('//div[@id=:id]/*', array(':id' => 'block-' . strtr(strtolower($block['machine_name']), '-', '_'))); - $this->assertFieldByXPath($xpath, NULL, 'Syndicate block found.'); - } -} diff --git a/core/modules/node/lib/Drupal/node/Tests/NodeSyndicateBlockTest.php b/core/modules/node/lib/Drupal/node/Tests/NodeSyndicateBlockTest.php new file mode 100644 index 0000000..4e5a209 --- /dev/null +++ b/core/modules/node/lib/Drupal/node/Tests/NodeSyndicateBlockTest.php @@ -0,0 +1,47 @@ + 'Syndicate block', + 'description' => 'Check if the syndicate block is available.', + 'group' => 'Node', + ); + } + + function setUp() { + parent::setUp(); + + // Create a user and log in. + $admin_user = $this->drupalCreateUser(array('administer blocks')); + $this->drupalLogin($admin_user); + } + + /** + * Tests that the "Syndicate" block is shown when enabled. + */ + public function testSyndicateBlock() { + // Place the "Syndicate" block and confirm that it is rendered. + $this->drupalPlaceBlock('node_syndicate_block', array('machine_name' => 'test_syndicate_block')); + $this->assertFieldByXPath('//div[@id="block-test-syndicate-block"]/*', NULL, 'Syndicate block found.'); + } + +} diff --git a/core/modules/openid/lib/Drupal/openid/Tests/OpenIDTestBase.php b/core/modules/openid/lib/Drupal/openid/Tests/OpenIDTestBase.php index acdc7cf..3110d88 100644 --- a/core/modules/openid/lib/Drupal/openid/Tests/OpenIDTestBase.php +++ b/core/modules/openid/lib/Drupal/openid/Tests/OpenIDTestBase.php @@ -24,16 +24,10 @@ function setUp() { parent::setUp(); + // Enable user login block. $this->admin_user = $this->drupalCreateUser(array('administer blocks')); $this->drupalLogin($this->admin_user); - - // Enable user login block. - $edit = array( - 'machine_name' => 'user_login', - 'region' => 'sidebar_first', - ); - $this->drupalPost('admin/structure/block/manage/user_login_block/stark', $edit, t('Save block')); - + $this->drupalPlaceBlock('user_login_block'); $this->drupalLogout(); // Use a different front page than login page for testing OpenID login from diff --git a/core/modules/poll/lib/Drupal/poll/Tests/PollBlockTest.php b/core/modules/poll/lib/Drupal/poll/Tests/PollBlockTest.php index 49fa169..6a86d21 100644 --- a/core/modules/poll/lib/Drupal/poll/Tests/PollBlockTest.php +++ b/core/modules/poll/lib/Drupal/poll/Tests/PollBlockTest.php @@ -46,18 +46,8 @@ function setUp() { * Tests creating, viewing, voting on recent poll block. */ function testRecentBlock() { - $block_id = 'poll_recent_block'; - $default_theme = variable_get('theme_default', 'stark'); - - $block = array( - 'title' => $this->randomName(8), - 'machine_name' => $this->randomName(8), - 'region' => 'footer', - ); - - // Enable the most recent poll block. - $this->drupalPost('admin/structure/block/manage/' . $block_id . '/' . $default_theme, $block, t('Save block')); - $this->assertText(t('The block configuration has been saved.'), '"Most recent poll" block enabled'); + // Enable the recent poll block. + $this->drupalPlaceBlock('poll_recent_block'); // Create a poll which should appear in recent polls block. $title = $this->randomName(); diff --git a/core/modules/search/lib/Drupal/search/Tests/SearchBlockTest.php b/core/modules/search/lib/Drupal/search/Tests/SearchBlockTest.php index db977e5..b358ded 100644 --- a/core/modules/search/lib/Drupal/search/Tests/SearchBlockTest.php +++ b/core/modules/search/lib/Drupal/search/Tests/SearchBlockTest.php @@ -7,10 +7,11 @@ namespace Drupal\search\Tests; +/** + * Tests the rendering of the search block. + */ class SearchBlockTest extends SearchTestBase { - protected $adminUser; - /** * Modules to enable. * @@ -30,27 +31,16 @@ function setUp() { parent::setUp(); // Create and login user. - $this->adminUser = $this->drupalCreateUser(array('administer blocks', 'search content')); - $this->drupalLogin($this->adminUser); + $admin_user = $this->drupalCreateUser(array('administer blocks', 'search content')); + $this->drupalLogin($admin_user); } /** * Test that the search form block can be placed and works. */ protected function testSearchFormBlock() { - $block_id = 'search_form_block'; - $default_theme = variable_get('theme_default', 'stark'); - - $block = array( - 'title' => $this->randomName(8), - 'machine_name' => $this->randomName(8), - 'region' => 'content', - ); - - // Enable the search block. - $this->drupalPost('admin/structure/block/manage/' . $block_id . '/' . $default_theme, $block, t('Save block')); - $this->assertText(t('The block configuration has been saved.'), '"Search form" block enabled'); - $this->assertText($block['title'], 'Block title was found.'); + $block = $this->drupalPlaceBlock('search_form_block'); + $this->assertText($block['subject'], 'Block title was found.'); // Test a normal search via the block form, from the front page. $terms = array('search_block_form' => 'test'); @@ -64,7 +54,6 @@ protected function testSearchFormBlock() { $this->assertResponse(200); $this->assertText('Your search yielded no results'); - $block['config_id'] = 'plugin.core.block.' . $default_theme . '.' . $block['machine_name']; $config = config($block['config_id']); $config->set('visibility.path.pages', 'search'); $config->save(); @@ -92,4 +81,5 @@ protected function testSearchFormBlock() { 'Redirected to correct url.' ); } + } diff --git a/core/modules/search/lib/Drupal/search/Tests/SearchConfigSettingsFormTest.php b/core/modules/search/lib/Drupal/search/Tests/SearchConfigSettingsFormTest.php index e66ad90..4a7186f 100644 --- a/core/modules/search/lib/Drupal/search/Tests/SearchConfigSettingsFormTest.php +++ b/core/modules/search/lib/Drupal/search/Tests/SearchConfigSettingsFormTest.php @@ -51,11 +51,7 @@ function setUp() { search_update_totals(); // Enable the search block. - $edit = array( - 'machine_name' => 'search', - 'region' => 'content', - ); - $this->drupalPost('admin/structure/block/manage/search_form_block/stark', $edit, t('Save block')); + $this->drupalPlaceBlock('search'); } /** diff --git a/core/modules/simpletest/lib/Drupal/simpletest/WebTestBase.php b/core/modules/simpletest/lib/Drupal/simpletest/WebTestBase.php index 4e3b101..d80a76e 100644 --- a/core/modules/simpletest/lib/Drupal/simpletest/WebTestBase.php +++ b/core/modules/simpletest/lib/Drupal/simpletest/WebTestBase.php @@ -340,6 +340,79 @@ protected function drupalCreateContentType($settings = array()) { } /** + * Creates a block instance based on default settings. + * + * Note: Until this can be done programmatically, the active user account + * must have permission to administer blocks. + * + * @param string $plugin_id + * The plugin ID of the block type for this block instance. + * @param array $settings + * (optional) An associative array of settings for the block instance. + * Override the defaults by specifying the key and value in the array, for + * example: + * @code + * $this->drupalPlaceBlock('system_powered_by_block', array( + * 'title' => t('Hello, world!'), + * )); + * @endcode + * The following defaults are provided: + * - title: Random string. + * - machine_name: Random string. + * - region: 'sidebar_first'. + * @param string $theme + * (optional) The theme for which to add a block instance. Defaults to the + * default theme. + * + * @return array|false + * The block instance configuration from BlockBase::getConfig(), or FALSE + * on failure. + * + * @todo + * Create the block programmatically once block instances are configuration + * entities. + * @todo + * Add support for creating custom block instances. + */ + protected function drupalPlaceBlock($plugin_id, array $settings = array(), $theme = NULL) { + // Confirm that the active user has permission to add the block instance. + // @todo Remove this check once it is possible to do this programmatically. + if (!user_access('administer blocks', $this->loggedInUser)) { + $this->fail('The logged in user does not have permission to administer blocks.'); + return FALSE; + } + + // If no theme was specified, use the default theme. + $theme = $theme ?: variable_get('theme_default', 'stark'); + + // Populate some default block settings. + $settings += array( + 'title' => $this->randomName(8), + 'machine_name' => strtolower($this->randomName(8)), + 'region' => 'sidebar_first', + ); + + // Submit the block instance configuration. + $this->drupalPost('admin/structure/block/manage/' . $plugin_id . '/' . $theme, $settings, t('Save block')); + $this->assertText( + t('The block configuration has been saved.'), + format_string( + '%plugin block instance added for %theme', + array( + '%plugin' => $plugin_id, + '%theme' => $theme, + ) + ) + ); + + // Return the created block instance. + $instance_id = "plugin.core.block.$theme." . $settings['machine_name']; + $manager = $this->container->get('plugin.manager.block'); + $block = $manager->getInstance(array('config' => $instance_id)); + return $block->getConfig(); + } + + /** * Get a list files that can be used in tests. * * @param $type diff --git a/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsReportsTest.php b/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsReportsTest.php index 3454e35..1efb7fb 100644 --- a/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsReportsTest.php +++ b/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsReportsTest.php @@ -11,6 +11,7 @@ * Tests that report pages render properly, and that access logging works. */ class StatisticsReportsTest extends StatisticsTestBase { + public static function getInfo() { return array( 'name' => 'Statistics reports tests', @@ -86,16 +87,11 @@ function testPopularContentBlock() { drupal_http_request($stats_path, array('method' => 'POST', 'data' => $post, 'headers' => $headers, 'timeout' => 10000)); // Configure and save the block. - $block_id = 'statistics_popular_block'; - $default_theme = variable_get('theme_default', 'stark'); - $block = array( - 'machine_name' => $this->randomName(8), - 'region' => 'sidebar_first', + $this->drupalPlaceBlock('statistics_popular_block', array( 'statistics_block_top_day_num' => 3, 'statistics_block_top_all_num' => 3, 'statistics_block_top_last_num' => 3, - ); - $this->drupalPost('admin/structure/block/manage/' . $block_id . '/' . $default_theme, $block, t('Save block')); + )); // Get some page and check if the block is displayed. $this->drupalGet('user'); @@ -106,4 +102,5 @@ function testPopularContentBlock() { $this->assertRaw(l($node->label(), 'node/' . $node->nid), 'Found link to visited node.'); } + } diff --git a/core/modules/system/lib/Drupal/system/Tests/Menu/BreadcrumbTest.php b/core/modules/system/lib/Drupal/system/Tests/Menu/BreadcrumbTest.php index 92bfd68..9c51a89 100644 --- a/core/modules/system/lib/Drupal/system/Tests/Menu/BreadcrumbTest.php +++ b/core/modules/system/lib/Drupal/system/Tests/Menu/BreadcrumbTest.php @@ -17,8 +17,11 @@ class BreadcrumbTest extends MenuTestBase { * * @var array */ - public static $modules = array('menu_test'); + public static $modules = array('menu_test', 'block'); + /** + * Test paths in the Standard profile. + */ protected $profile = 'standard'; public static function getInfo() { @@ -39,14 +42,12 @@ function setUp() { // This test puts menu links in the Tools menu and then tests for their // presence on the page, so we need to ensure that the Tools block will be // displayed in the default theme and admin theme. - $default_theme = variable_get('theme_default', 'stark'); - $admin_theme = variable_get('admin_theme', 'seven'); - $edit = array( + $settings = array( 'machine_name' => 'system_menu_tools', 'region' => 'content', ); - $this->drupalPost("admin/structure/block/manage/system_menu_block:menu-tools/{$default_theme}", $edit, t('Save block')); - $this->drupalPost("admin/structure/block/manage/system_menu_block:menu-tools/{$admin_theme}", $edit, t('Save block')); + $this->drupalPlaceBlock('system_menu_block:menu-tools', $settings); + $this->drupalPlaceBlock('system_menu_block:menu-tools', $settings, config('system.theme')->get('admin')); } /** diff --git a/core/modules/system/lib/Drupal/system/Tests/Menu/TrailTest.php b/core/modules/system/lib/Drupal/system/Tests/Menu/TrailTest.php index d02e534..3dfd5c7 100644 --- a/core/modules/system/lib/Drupal/system/Tests/Menu/TrailTest.php +++ b/core/modules/system/lib/Drupal/system/Tests/Menu/TrailTest.php @@ -33,24 +33,10 @@ function setUp() { $this->admin_user = $this->drupalCreateUser(array('administer site configuration', 'access administration pages', 'administer blocks')); $this->drupalLogin($this->admin_user); - // This test puts menu links in the Tools menu and then tests for their - // presence on the page, so we need to ensure that the Tools block will be - // displayed in the default theme. - $default_theme = variable_get('theme_default', 'stark'); - $block = array( - 'machine_name' => $this->randomName(8), - 'region' => 'sidebar_first', - ); - $this->drupalPost("admin/structure/block/manage/system_menu_block:menu-tools/{$default_theme}", $block, t('Save block')); - - // This test puts menu links in the Administration menu and then tests for - // their presence on the page, so we need to ensure that the Administration - // block will be displayed in the default theme. - $block = array( - 'machine_name' => $this->randomName(8), - 'region' => 'sidebar_first', - ); - $this->drupalPost("admin/structure/block/manage/system_menu_block:menu-admin/{$default_theme}", $block, t('Save block')); + // This test puts menu links in the Tools and Administration menus and then + // tests for their presence on the page. + $this->drupalPlaceBlock('system_menu_block:menu-tools'); + $this->drupalPlaceBlock('system_menu_block:menu-admin'); } /** diff --git a/core/modules/system/lib/Drupal/system/Tests/System/AccessDeniedTest.php b/core/modules/system/lib/Drupal/system/Tests/System/AccessDeniedTest.php index af4f0a6..dc555cb 100644 --- a/core/modules/system/lib/Drupal/system/Tests/System/AccessDeniedTest.php +++ b/core/modules/system/lib/Drupal/system/Tests/System/AccessDeniedTest.php @@ -54,13 +54,9 @@ function testAccessDenied() { $this->drupalPost('admin/config/system/site-information', $edit, t('Save configuration')); // Enable the user login block. - $edit = array( - 'machine_name' => 'login', - 'region' => 'sidebar_first', - ); - $this->drupalPost('admin/structure/block/manage/user_login_block/stark', $edit, t('Save block')); + $this->drupalPlaceBlock('user_login_block', array('machine_name' => 'login')); - // Logout and check that the user login block is shown on custom 403 pages. + // Log out and check that the user login block is shown on custom 403 pages. $this->drupalLogout(); $this->drupalGet('admin'); $this->assertText($this->admin_user->name, 'Found the custom 403 page'); diff --git a/core/modules/system/lib/Drupal/system/Tests/Upgrade/BlockUpgradePathTest.php b/core/modules/system/lib/Drupal/system/Tests/Upgrade/BlockUpgradePathTest.php index 5bc27d2..63a5cd8 100644 --- a/core/modules/system/lib/Drupal/system/Tests/Upgrade/BlockUpgradePathTest.php +++ b/core/modules/system/lib/Drupal/system/Tests/Upgrade/BlockUpgradePathTest.php @@ -35,26 +35,20 @@ public function setUp() { public function testBlockUpgradeTitleLength() { $this->assertTrue($this->performUpgrade(), 'The upgrade was completed successfully.'); - $block_id = 'system_powered_by_block'; - $default_theme = variable_get('theme_default', 'stark'); - $block = array( - 'machine_name' => $this->randomName(8), - 'region' => 'sidebar_first', - ); - - // Add a new custom block with a title of 255 characters. - $block['title'] = $this->randomName(255); - $this->drupalPost('admin/structure/block/manage/' . $block_id . '/' . $default_theme, $block, t('Save block')); + // Add a block instance with a 255-character title. + $title = $this->randomName(255) + $this->drupalPlaceBlock('system_powered_by_block', array('title' => $title)); // Confirm that the custom block has been created, and title matches input. $this->drupalGet(''); - $this->assertText($block['title'], 'Block with title longer than 64 characters successfully created.'); + $this->assertText($title, 'Block with title longer than 64 characters successfully created.'); // Add a new custom block with a title over 255 characters. - $block['title'] = $this->randomName(256); - $this->drupalPost('admin/structure/block/manage/' . $block_id . '/' . $default_theme, $block, t('Save block')); + $longer_title = $this->randomName(256); + $this->drupalPlaceBlock('system_powered_by_block', array('title' => $longer_title)); + // Confirm that the custom block cannot be created with title longer than // the maximum number of characters. - $this->assertText('Block title cannot be longer than 255 characters', 'Block with title longer than 255 characters created unsuccessfully.'); + $this->assertText('Block title cannot be longer than 255 characters'); } } diff --git a/core/modules/translation/lib/Drupal/translation/Tests/TranslationTest.php b/core/modules/translation/lib/Drupal/translation/Tests/TranslationTest.php index c8dbdc8..fce2482 100644 --- a/core/modules/translation/lib/Drupal/translation/Tests/TranslationTest.php +++ b/core/modules/translation/lib/Drupal/translation/Tests/TranslationTest.php @@ -56,8 +56,7 @@ function setUp() { $this->assertRaw(t('The content type %type has been updated.', array('%type' => 'Basic page')), 'Basic page content type has been updated.'); // Enable the language switcher block. - $edit = array('machine_name' => 'language_switcher', 'region' => 'sidebar_first'); - $this->drupalPost('admin/structure/block/manage/language_block:language_interface/bartik', $edit, t('Save block')); + $this->drupalPlaceBlock('language_block:language_interface'); // Reset static caches in our local language environment. $this->resetCaches(); diff --git a/core/modules/user/lib/Drupal/user/Tests/UserBlocksTests.php b/core/modules/user/lib/Drupal/user/Tests/UserBlocksTests.php index a4458d4..a2f027f 100644 --- a/core/modules/user/lib/Drupal/user/Tests/UserBlocksTests.php +++ b/core/modules/user/lib/Drupal/user/Tests/UserBlocksTests.php @@ -41,20 +41,7 @@ function setUp() { $this->adminUser = $this->drupalCreateUser(array('administer blocks')); $this->drupalLogin($this->adminUser); - - $block_id = 'user_login_block'; - $default_theme = variable_get('theme_default', 'stark'); - - $block = array( - 'title' => $this->randomName(8), - 'machine_name' => $this->randomName(8), - 'region' => 'sidebar_first', - ); - - // Enable the user login block. - $this->drupalPost('admin/structure/block/manage/' . $block_id . '/' . $default_theme, $block, t('Save block')); - $this->assertText(t('The block configuration has been saved.'), 'User login block enabled'); - $this->plugin_id = 'plugin.core.block.' . $default_theme . '.' . $block['machine_name']; + $this->drupalPlaceBlock('user_login_block'); $this->drupalLogout($this->adminUser); } diff --git a/core/modules/views/lib/Drupal/views/Tests/UI/OverrideDisplaysTest.php b/core/modules/views/lib/Drupal/views/Tests/UI/OverrideDisplaysTest.php index 7d0d0cc..be4868e 100644 --- a/core/modules/views/lib/Drupal/views/Tests/UI/OverrideDisplaysTest.php +++ b/core/modules/views/lib/Drupal/views/Tests/UI/OverrideDisplaysTest.php @@ -53,15 +53,12 @@ function testOverrideDisplays() { $this->assertResponse(200); $this->assertText($original_title); - // Put the block into the first sidebar region. - $default_theme = variable_get('theme_default', 'stark'); - $this->drupalGet("admin/structure/block/list/block_plugin_ui:{$default_theme}/add"); + // Confirm that the view block is available in the block administration UI. + $this->drupalGet('admin/structure/block/list/block_plugin_ui:' . variable_get('theme_default', 'stark') . '/add'); $this->assertText('View: ' . $view['human_name']); - $block = array( - 'machine_name' => $this->randomName(8), - 'region' => 'sidebar_first', - ); - $this->drupalPost("admin/structure/block/manage/views_block:{$view['name']}-block_1/{$default_theme}", $block, t('Save block')); + + // Place the block. + $this->drupalPlaceBlock("views_block:{$view['name']}-block_1"); // Make sure the title appears in the block. $this->drupalGet(''); @@ -115,15 +112,12 @@ function testWizardMixedDefaultOverriddenDisplays() { $this->assertText($view['page[title]']); $this->assertNoText($view['block[title]']); - // Put the block into the first sidebar region. - $default_theme = variable_get('theme_default', 'stark'); - $this->drupalGet("admin/structure/block/list/block_plugin_ui:{$default_theme}/add"); + // Confirm that the block is available in the block administration UI. + $this->drupalGet('admin/structure/block/list/block_plugin_ui:' . variable_get('theme_default', 'stark') . '/add'); $this->assertText('View: ' . $view['human_name']); - $block = array( - 'machine_name' => $this->randomName(8), - 'region' => 'sidebar_first', - ); - $this->drupalPost("admin/structure/block/manage/views_block:{$view['name']}-block_1/{$default_theme}", $block, t('Save block')); + + // Place the block. + $this->drupalPlaceBlock("views_block:{$view['name']}-block_1"); $this->drupalGet(''); $this->assertText($view['block[title]']); $this->assertNoText($view['page[title]']); diff --git a/core/modules/views/lib/Drupal/views/Tests/Wizard/BasicTest.php b/core/modules/views/lib/Drupal/views/Tests/Wizard/BasicTest.php index 757cde2..aff9227 100644 --- a/core/modules/views/lib/Drupal/views/Tests/Wizard/BasicTest.php +++ b/core/modules/views/lib/Drupal/views/Tests/Wizard/BasicTest.php @@ -122,15 +122,12 @@ function testViewsWizardAndListing() { $this->assertText($view3['description']); $this->assertLinkByHref(url($view3['page[path]'])); - // Put the block into the first sidebar region. - $default_theme = variable_get('theme_default', 'stark'); - $this->drupalGet("admin/structure/block/list/block_plugin_ui:{$default_theme}/add"); + // Confirm that the block is available in the block administration UI. + $this->drupalGet('admin/structure/block/list/block_plugin_ui:' . variable_get('theme_default', 'stark') . '/add'); $this->assertText('View: ' . $view3['human_name']); - $block = array( - 'machine_name' => $this->randomName(8), - 'region' => 'sidebar_first', - ); - $this->drupalPost("admin/structure/block/manage/views_block:{$view3['name']}-block_1/{$default_theme}", $block, t('Save block')); + + // Place the block. + $this->drupalPlaceBlock("views_block:{$view3['name']}-block_1"); // Visit a random page (not the one that displays the view itself) and look // for the expected node title in the block. diff --git a/core/modules/views/lib/Drupal/views/Tests/Wizard/ItemsPerPageTest.php b/core/modules/views/lib/Drupal/views/Tests/Wizard/ItemsPerPageTest.php index c5be21b..95f4709 100644 --- a/core/modules/views/lib/Drupal/views/Tests/Wizard/ItemsPerPageTest.php +++ b/core/modules/views/lib/Drupal/views/Tests/Wizard/ItemsPerPageTest.php @@ -74,17 +74,12 @@ function testItemsPerPage() { $pos2 = strpos($content, $node2->label()); $this->assertTrue($pos5 < $pos4 && $pos4 < $pos3 && $pos3 < $pos2, t('The nodes appear in the expected order in the page display.')); - $default_theme = variable_get('theme_default', 'stark'); - $this->drupalGet("admin/structure/block/list/block_plugin_ui:{$default_theme}/add"); + // Confirm that the block is listed in the block administration UI. + $this->drupalGet('admin/structure/block/list/block_plugin_ui:' . variable_get('theme_default', 'stark') . '/add'); $this->assertText('View: ' . $view['human_name']); - // Put the block into the first sidebar region, visit a page that displays - // the block, and check that the nodes we expect appear in the correct - // order. - $block = array( - 'machine_name' => $this->randomName(8), - 'region' => 'sidebar_first', - ); - $this->drupalPost("admin/structure/block/manage/views_block:{$view['name']}-block_1/{$default_theme}", $block, t('Save block')); + // Place the block, visit a page that displays the block, and check that the + // nodes we expect appear in the correct order. + $this->drupalPlaceBlock("views_block:{$view['name']}-block_1"); $this->drupalGet('user'); $content = $this->drupalGetContent();