071d6346ab477946ed089592a8928c33fdc7eb94
[yaffs-website] / web / modules / contrib / block_class / src / Tests / BlockClassTest.php
1 <?php
2 /**
3  * @file
4  * Contains \Drupal\block_class\BlockClassTest.
5  */
6
7 namespace Drupal\block_class\Tests;
8
9 use Drupal\simpletest\WebTestBase;
10
11 /**
12  * Tests the custom CSS classes for blocks.
13  *
14  * @group block_class
15  */
16 class BlockClassTest extends WebTestBase {
17
18   /**
19    * Modules to enable.
20    *
21    * @var array
22    */
23   public static $modules = array('block', 'block_class');
24
25   /**
26    * Tests the custom CSS classes for blocks.
27    */
28   public function testBlockClass() {
29
30     $admin_user = $this->drupalCreateUser(array(
31       'administer block classes',
32       'administer blocks',
33     ));
34     $this->drupalLogin($admin_user);
35
36     // Add a content block with custom CSS class.
37     $this->drupalGet('admin/structure/block/add/system_main_block/classy', ['query' => ['region' => 'content']]);
38     $edit = array(
39       'region' => 'content',
40       'third_party_settings[block_class][classes]' => 'TestClass_content'
41     );
42     $this->drupalPostForm(NULL, $edit, t('Save block'));
43
44     // Add a user account menu with a custom CSS class.
45     $this->drupalGet('admin/structure/block/add/system_menu_block:account/classy', ['query' => ['region' => 'content']]);
46     $edit = array(
47       'region' => 'secondary_menu',
48       'third_party_settings[block_class][classes]' => 'TestClass_menu'
49     );
50     $this->drupalPostForm(NULL, $edit, t('Save block'));
51
52     // Go to the front page of the user.
53     $this->drupalGet('<front>');
54     // Assert the custom class in the content block.
55     $this->assertRaw('<div id="block-mainpagecontent" class="TestClass_content block block-system block-system-main-block">');
56     // Assert the custom class in user menu.
57     $this->assertRaw('<nav role="navigation" aria-labelledby="block-useraccountmenu-menu" id="block-useraccountmenu" class="TestClass_menu block block-menu navigation menu--account">');
58   }
59
60 }