3 namespace Drupal\block_class\Tests;
5 use Drupal\simpletest\WebTestBase;
8 * Tests the custom CSS classes for blocks.
12 class BlockClassTest extends WebTestBase {
19 public static $modules = ['block', 'block_class'];
22 * Tests the custom CSS classes for blocks.
24 public function testBlockClass() {
26 $admin_user = $this->drupalCreateUser([
27 'administer block classes',
30 $this->drupalLogin($admin_user);
32 // Add a content block with custom CSS class.
33 $this->drupalGet('admin/structure/block/add/system_main_block/classy', ['query' => ['region' => 'content']]);
35 'region' => 'content',
36 'third_party_settings[block_class][classes]' => 'TestClass_content',
38 $this->drupalPostForm(NULL, $edit, $this->t('Save block'));
40 // Add a user account menu with a custom CSS class.
41 $this->drupalGet('admin/structure/block/add/system_menu_block:account/classy', ['query' => ['region' => 'content']]);
43 'region' => 'secondary_menu',
44 'third_party_settings[block_class][classes]' => 'TestClass_menu',
46 $this->drupalPostForm(NULL, $edit, $this->t('Save block'));
48 // Go to the front page of the user.
49 $this->drupalGet('<front>');
50 // Assert the custom class in the content block.
51 $this->assertRaw('<div id="block-mainpagecontent" class="TestClass_content block block-system block-system-main-block">');
52 // Assert the custom class in user menu.
53 $this->assertRaw('<nav role="navigation" aria-labelledby="block-useraccountmenu-menu" id="block-useraccountmenu" class="TestClass_menu block block-menu navigation menu--account">');