diff --git a/core/modules/block/tests/modules/block_test/src/Plugin/Block/TestAccessBlock.php b/core/modules/block/tests/modules/block_test/src/Plugin/Block/TestAccessBlock.php
index e558bcb..c416d17 100644
--- a/core/modules/block/tests/modules/block_test/src/Plugin/Block/TestAccessBlock.php
+++ b/core/modules/block/tests/modules/block_test/src/Plugin/Block/TestAccessBlock.php
@@ -20,6 +20,8 @@
*/
class TestAccessBlock extends BlockBase implements ContainerFactoryPluginInterface {
+ protected $state;
+
/**
* Tests the test access block.
*
diff --git a/core/modules/block/src/Tests/BlockAdminThemeTest.php b/core/modules/block/tests/src/Functional/BlockAdminThemeTest.php
similarity index 94%
rename from core/modules/block/src/Tests/BlockAdminThemeTest.php
rename to core/modules/block/tests/src/Functional/BlockAdminThemeTest.php
index 8773f03..88f35e4 100644
--- a/core/modules/block/src/Tests/BlockAdminThemeTest.php
+++ b/core/modules/block/tests/src/Functional/BlockAdminThemeTest.php
@@ -1,15 +1,15 @@
langcodes as $langcode) {
$this->drupalGet('admin/structure/block', ['language' => $langcode]);
- $this->clickLinkPartialName('Place block');
+ $this->clickLink('Place block');
}
// Create a menu in the default language.
@@ -69,7 +69,7 @@ public function testBlockLinks() {
// Check that the block is listed for all languages.
foreach ($this->langcodes as $langcode) {
$this->drupalGet('admin/structure/block', ['language' => $langcode]);
- $this->clickLinkPartialName('Place block');
+ $this->clickLink('Place block');
$this->assertText($edit['label']);
}
}
diff --git a/core/modules/block/src/Tests/BlockRenderOrderTest.php b/core/modules/block/tests/src/Functional/BlockRenderOrderTest.php
similarity index 94%
rename from core/modules/block/src/Tests/BlockRenderOrderTest.php
rename to core/modules/block/tests/src/Functional/BlockRenderOrderTest.php
index a7e26de..2fd1ab8 100644
--- a/core/modules/block/src/Tests/BlockRenderOrderTest.php
+++ b/core/modules/block/tests/src/Functional/BlockRenderOrderTest.php
@@ -1,16 +1,16 @@
xpath($site_name_xpath);
$site_slogan_element = $this->xpath($site_slogan_xpath);
// Test that all branding elements are displayed.
- $this->assertTrue(!empty($site_logo_element), 'The branding block logo was found.');
- $this->assertTrue(!empty($site_name_element), 'The branding block site name was found.');
- $this->assertTrue(!empty($site_slogan_element), 'The branding block slogan was found.');
+ $this->assertNotEmpty($site_logo_element, 'The branding block logo was found.');
+ $this->assertNotEmpty($site_name_element, 'The branding block site name was found.');
+ $this->assertNotEmpty($site_slogan_element, 'The branding block slogan was found.');
$this->assertCacheTag('config:system.site');
// Be sure the slogan is XSS-filtered.
@@ -54,7 +54,7 @@ public function testSystemBrandingSettings() {
->save();
$this->drupalGet('');
$site_slogan_element = $this->xpath($site_slogan_xpath);
- $this->assertEqual($site_slogan_element[0], 'alert("Community carpentry");', 'The site slogan was XSS-filtered.');
+ $this->assertEqual($site_slogan_element[0]->getText(), 'alert("Community carpentry");', 'The site slogan was XSS-filtered.');
// Turn just the logo off.
$this->config('block.block.site-branding')
@@ -65,9 +65,9 @@ public function testSystemBrandingSettings() {
$site_name_element = $this->xpath($site_name_xpath);
$site_slogan_element = $this->xpath($site_slogan_xpath);
// Re-test all branding elements.
- $this->assertTrue(empty($site_logo_element), 'The branding block logo was disabled.');
- $this->assertTrue(!empty($site_name_element), 'The branding block site name was found.');
- $this->assertTrue(!empty($site_slogan_element), 'The branding block slogan was found.');
+ $this->assertEmpty($site_logo_element, 'The branding block logo was disabled.');
+ $this->assertNotEmpty($site_name_element, 'The branding block site name was found.');
+ $this->assertNotEmpty($site_slogan_element, 'The branding block slogan was found.');
$this->assertCacheTag('config:system.site');
// Turn just the site name off.
@@ -80,9 +80,9 @@ public function testSystemBrandingSettings() {
$site_name_element = $this->xpath($site_name_xpath);
$site_slogan_element = $this->xpath($site_slogan_xpath);
// Re-test all branding elements.
- $this->assertTrue(!empty($site_logo_element), 'The branding block logo was found.');
- $this->assertTrue(empty($site_name_element), 'The branding block site name was disabled.');
- $this->assertTrue(!empty($site_slogan_element), 'The branding block slogan was found.');
+ $this->assertNotEmpty($site_logo_element, 'The branding block logo was found.');
+ $this->assertEmpty($site_name_element, 'The branding block site name was disabled.');
+ $this->assertNotEmpty($site_slogan_element, 'The branding block slogan was found.');
$this->assertCacheTag('config:system.site');
// Turn just the site slogan off.
@@ -95,9 +95,9 @@ public function testSystemBrandingSettings() {
$site_name_element = $this->xpath($site_name_xpath);
$site_slogan_element = $this->xpath($site_slogan_xpath);
// Re-test all branding elements.
- $this->assertTrue(!empty($site_logo_element), 'The branding block logo was found.');
- $this->assertTrue(!empty($site_name_element), 'The branding block site name was found.');
- $this->assertTrue(empty($site_slogan_element), 'The branding block slogan was disabled.');
+ $this->assertNotEmpty($site_logo_element, 'The branding block logo was found.');
+ $this->assertNotEmpty($site_name_element, 'The branding block site name was found.');
+ $this->assertEmpty($site_slogan_element, 'The branding block slogan was disabled.');
$this->assertCacheTag('config:system.site');
// Turn the site name and the site slogan off.
@@ -110,9 +110,9 @@ public function testSystemBrandingSettings() {
$site_name_element = $this->xpath($site_name_xpath);
$site_slogan_element = $this->xpath($site_slogan_xpath);
// Re-test all branding elements.
- $this->assertTrue(!empty($site_logo_element), 'The branding block logo was found.');
- $this->assertTrue(empty($site_name_element), 'The branding block site name was disabled.');
- $this->assertTrue(empty($site_slogan_element), 'The branding block slogan was disabled.');
+ $this->assertNotEmpty($site_logo_element, 'The branding block logo was found.');
+ $this->assertEmpty($site_name_element, 'The branding block site name was disabled.');
+ $this->assertEmpty($site_slogan_element, 'The branding block slogan was disabled.');
$this->assertCacheTag('config:system.site');
}
diff --git a/core/modules/block/src/Tests/BlockTest.php b/core/modules/block/tests/src/Functional/BlockTest.php
similarity index 98%
rename from core/modules/block/src/Tests/BlockTest.php
rename to core/modules/block/tests/src/Functional/BlockTest.php
index 5910d47..505c7fa 100644
--- a/core/modules/block/src/Tests/BlockTest.php
+++ b/core/modules/block/tests/src/Functional/BlockTest.php
@@ -1,6 +1,6 @@
xpath('//a[contains(@href, :href)]', [':href' => $add_url->toString()]);
$this->assertEqual(1, count($links), 'Found one matching link.');
- $this->assertEqual(t('Place block'), (string) $links[0], 'Found the expected link text.');
+ $this->assertEqual(t('Place block'), $links[0]->getText(), 'Found the expected link text.');
- list($path, $query_string) = explode('?', $links[0]['href'], 2);
+ list($path, $query_string) = explode('?', $links[0]->getAttribute('href'), 2);
parse_str($query_string, $query_parts);
$this->assertEqual($weight, $query_parts['weight'], 'Found the expected weight query string.');
@@ -164,7 +164,7 @@ public function testAddBlockFromLibraryWithWeight() {
'settings[label]' => $title,
];
// Create the block using the link parsed from the library page.
- $this->drupalPostForm($this->getAbsoluteUrl($links[0]['href']), $edit, t('Save block'));
+ $this->drupalPostForm($this->getAbsoluteUrl($links[0]->getAttribute('href')), $edit, t('Save block'));
// Ensure that the block was created with the expected weight.
/** @var \Drupal\block\BlockInterface $block */
@@ -261,7 +261,7 @@ public function testBlockThemeSelector() {
$theme_settings->set('default', $theme)->save();
$this->drupalGet('');
$elements = $this->xpath('//div[@id = :id]', [':id' => Html::getUniqueId('block-' . $block['id'])]);
- $this->assertTrue(!empty($elements), 'The block was found.');
+ $this->assertNotEmpty($elements, 'The block was found.');
}
}
diff --git a/core/modules/block/src/Tests/BlockTestBase.php b/core/modules/block/tests/src/Functional/BlockTestBase.php
similarity index 89%
rename from core/modules/block/src/Tests/BlockTestBase.php
rename to core/modules/block/tests/src/Functional/BlockTestBase.php
index 71f0ae6..f8cdf62 100644
--- a/core/modules/block/src/Tests/BlockTestBase.php
+++ b/core/modules/block/tests/src/Functional/BlockTestBase.php
@@ -1,14 +1,15 @@
drupalGet('admin/structure/block');
// Look for the blocks table.
$blocks_table = $this->xpath("//table[@id='blocks']");
- $this->assertTrue(!empty($blocks_table), 'The blocks table is being rendered.');
+ $this->assertNotEmpty($blocks_table, 'The blocks table is being rendered.');
// Look for test blocks in the table.
foreach ($this->blockValues as $delta => $values) {
$block = $this->blocks[$delta];
$label = $block->label();
$element = $this->xpath('//*[@id="blocks"]/tbody/tr[' . $values['tr'] . ']/td[1]/text()');
- $this->assertTrue((string) $element[0] == $label, 'The "' . $label . '" block title is set inside the ' . $values['settings']['region'] . ' region.');
+ $this->assertEquals($element[0]->getText(), $label, 'The "' . $label . '" block title is set inside the ' . $values['settings']['region'] . ' region.');
// Look for a test block region select form element.
$this->assertField('blocks[' . $values['settings']['id'] . '][region]', 'The block "' . $values['label'] . '" has a region assignment field.');
// Move the test block to the header region.
@@ -134,7 +134,7 @@ public function testBlockAdminUiPage() {
$this->drupalPlaceBlock('system_powered_by_block', ['region' => 'header', 'id' => 'header']);
$this->drupalGet('admin/structure/block');
$element = $this->xpath('//tr[contains(@class, :class)]', [':class' => 'region-title-header']);
- $this->assertTrue(!empty($element));
+ $this->assertNotEmpty($element);
// Ensure hidden themes do not appear in the UI. Enable another non base
// theme and place the local tasks block.
@@ -171,19 +171,19 @@ public function testCandidateBlockList() {
$pattern = '//tr[.//td/div[text()=:title] and .//td[text()=:category] and .//td//a[contains(@href, :href)]]';
$this->drupalGet('admin/structure/block');
- $this->clickLinkPartialName('Place block');
+ $this->clickLink('Place block');
$elements = $this->xpath($pattern, $arguments);
- $this->assertTrue(!empty($elements), 'The test block appears in the category for its module.');
+ $this->assertNotEmpty($elements, 'The test block appears in the category for its module.');
// Trigger the custom category addition in block_test_block_alter().
$this->container->get('state')->set('block_test_info_alter', TRUE);
$this->container->get('plugin.manager.block')->clearCachedDefinitions();
$this->drupalGet('admin/structure/block');
- $this->clickLinkPartialName('Place block');
+ $this->clickLink('Place block');
$arguments[':category'] = 'Custom category';
$elements = $this->xpath($pattern, $arguments);
- $this->assertTrue(!empty($elements), 'The test block appears in a custom category controlled by block_test_block_alter().');
+ $this->assertNotEmpty($elements, 'The test block appears in a custom category controlled by block_test_block_alter().');
}
/**
@@ -197,12 +197,12 @@ public function testContextAwareUnsatisfiedBlocks() {
];
$this->drupalGet('admin/structure/block');
- $this->clickLinkPartialName('Place block');
+ $this->clickLink('Place block');
$elements = $this->xpath('//tr[.//td/div[text()=:text] and .//td[text()=:category] and .//td//a[contains(@href, :href)]]', $arguments);
- $this->assertTrue(empty($elements), 'The context-aware test block does not appear.');
+ $this->assertEmpty($elements, 'The context-aware test block does not appear.');
$definition = \Drupal::service('plugin.manager.block')->getDefinition('test_context_aware_unsatisfied');
- $this->assertTrue(!empty($definition), 'The context-aware test block does not exist.');
+ $this->assertNotEmpty($definition, 'The context-aware test block does not exist.');
}
/**
@@ -223,11 +223,11 @@ public function testContextAwareBlocks() {
$pattern = '//tr[.//td/div[text()=:title] and .//td[text()=:category] and .//td//a[contains(@href, :href)]]';
$this->drupalGet('admin/structure/block');
- $this->clickLinkPartialName('Place block');
+ $this->clickLink('Place block');
$elements = $this->xpath($pattern, $arguments);
- $this->assertTrue(!empty($elements), 'The context-aware test block appears.');
+ $this->assertNotEmpty($elements, 'The context-aware test block appears.');
$definition = \Drupal::service('plugin.manager.block')->getDefinition('test_context_aware');
- $this->assertTrue(!empty($definition), 'The context-aware test block exists.');
+ $this->assertNotEmpty($definition, 'The context-aware test block exists.');
$edit = [
'region' => 'content',
'settings[context_mapping][user]' => '@block_test.multiple_static_context:userB',
diff --git a/core/modules/block/src/Tests/BlockXssTest.php b/core/modules/block/tests/src/Functional/BlockXssTest.php
similarity index 93%
rename from core/modules/block/src/Tests/BlockXssTest.php
rename to core/modules/block/tests/src/Functional/BlockXssTest.php
index b37f4cd..3e661d7 100644
--- a/core/modules/block/src/Tests/BlockXssTest.php
+++ b/core/modules/block/tests/src/Functional/BlockXssTest.php
@@ -1,12 +1,12 @@
drupalLogin($this->drupalCreateUser(['administer blocks', 'access administration pages']));
$this->drupalGet(Url::fromRoute('block.admin_display'));
- $this->clickLinkPartialName('Place block');
+ $this->clickLink('Place block');
$this->assertNoEscaped('<');
}
@@ -58,7 +58,7 @@ public function testXssInCategory() {
$this->drupalPlaceBlock('test_xss_title');
$this->drupalLogin($this->drupalCreateUser(['administer blocks', 'access administration pages']));
$this->drupalGet(Url::fromRoute('block.admin_display'));
- $this->clickLinkPartialName('Place block');
+ $this->clickLink('Place block');
$this->assertNoRaw("");
}
@@ -73,7 +73,7 @@ public function testBlockXss() {
$this->doBlockContentTest();
$this->drupalGet(Url::fromRoute('block.admin_display'));
- $this->clickLinkPartialName('Place block');
+ $this->clickLink('Place block');
$this->assertNoRaw('<', 'The page does not have double escaped HTML tags.');
}
@@ -101,7 +101,7 @@ protected function doViewTest() {
$view->save();
$this->drupalGet(Url::fromRoute('block.admin_display'));
- $this->clickLinkPartialName('Place block');
+ $this->clickLink('Place block');
// \Drupal\views\Plugin\Derivative\ViewsBlock::getDerivativeDefinitions()
// has a different code path for an admin label based only on the View
@@ -137,7 +137,7 @@ protected function doMenuTest() {
])->save();
$this->drupalGet(Url::fromRoute('block.admin_display'));
- $this->clickLinkPartialName('Place block');
+ $this->clickLink('Place block');
$this->assertEscaped('');
$this->assertNoRaw('');
@@ -158,7 +158,7 @@ protected function doBlockContentTest() {
])->save();
$this->drupalGet(Url::fromRoute('block.admin_display'));
- $this->clickLinkPartialName('Place block');
+ $this->clickLink('Place block');
$this->assertEscaped('');
$this->assertNoRaw('');
diff --git a/core/modules/block/src/Tests/NonDefaultBlockAdminTest.php b/core/modules/block/tests/src/Functional/NonDefaultBlockAdminTest.php
similarity index 86%
rename from core/modules/block/src/Tests/NonDefaultBlockAdminTest.php
rename to core/modules/block/tests/src/Functional/NonDefaultBlockAdminTest.php
index fc2f33c..7b7927d 100644
--- a/core/modules/block/src/Tests/NonDefaultBlockAdminTest.php
+++ b/core/modules/block/tests/src/Functional/NonDefaultBlockAdminTest.php
@@ -1,15 +1,15 @@
array(
- * 'Drupal\block\Tests\BlockTest' => array(
- * 'name' => 'Drupal\block\Tests\BlockTest',
+ * 'Drupal\Tests\block\Functional\BlockTest' => array(
+ * 'name' => 'Drupal\Tests\block\Functional\BlockTest',
* 'description' => 'Tests block UI CRUD functionality.',
* 'group' => 'block',
* ),
diff --git a/core/tests/Drupal/FunctionalTests/AssertLegacyTrait.php b/core/tests/Drupal/FunctionalTests/AssertLegacyTrait.php
index c88949d..d684ae7 100644
--- a/core/tests/Drupal/FunctionalTests/AssertLegacyTrait.php
+++ b/core/tests/Drupal/FunctionalTests/AssertLegacyTrait.php
@@ -720,6 +720,19 @@ protected function assertCacheTag($expected_cache_tag) {
}
/**
+ * Asserts whether an expected cache tag was absent in the last response.
+ *
+ * @param string $cache_tag
+ * The expected cache tag.
+ *
+ * @deprecated Scheduled for removal in Drupal 9.0.0.
+ * Use $this->assertSession()->responseHeaderNotContains() instead.
+ */
+ protected function assertNoCacheTag($cache_tag) {
+ $this->assertSession()->responseHeaderNotContains('X-Drupal-Cache-Tags', $cache_tag);
+ }
+
+ /**
* Checks that current response header equals value.
*
* @param string $name