drupalCreateContentType(['type' => 'page', 'name' => 'Basic page']); $this->drupalPlaceBlock('page_title_block'); $this->contentUser = $this->drupalCreateUser(['create page content', 'access content', 'administer themes', 'administer site configuration', 'link to any page']); $this->drupalLogin($this->contentUser); } /** * Tests the handling of HTML in node titles. */ public function testTitleTags() { $title = "string with HTML"; // Generate node content. $edit = [ 'title[0][value]' => '!SimpleTest! ' . $title . $this->randomMachineName(20), 'body[0][value]' => '!SimpleTest! test body' . $this->randomMachineName(200), ]; // Create the node with HTML in the title. $this->drupalPostForm('node/add/page', $edit, t('Save')); $node = $this->drupalGetNodeByTitle($edit['title[0][value]']); $this->assertNotNull($node, 'Node created and found in database'); $this->assertText(Html::escape($edit['title[0][value]']), 'Check to make sure tags in the node title are converted.'); $this->drupalGet("node/" . $node->id()); $this->assertText(Html::escape($edit['title[0][value]']), 'Check to make sure tags in the node title are converted.'); } /** * Test if the title of the site is XSS proof. */ public function testTitleXSS() { // Set some title with JavaScript and HTML chars to escape. $title = ' & < > " \' '; $title_filtered = Html::escape($title); $slogan = ''; $slogan_filtered = Xss::filterAdmin($slogan); // Set title and slogan. $edit = [ 'site_name' => $title, 'site_slogan' => $slogan, ]; $this->drupalPostForm('admin/config/system/site-information', $edit, t('Save configuration')); // Place branding block with site name and slogan into header region. $this->drupalPlaceBlock('system_branding_block', ['region' => 'header']); // Load frontpage. $this->drupalGet(''); // Test the title. $this->assertNoRaw($title, 'Check for the lack of the unfiltered version of the title.'); // Add to make sure we're checking the title tag, rather than the // first 'heading' on the page. $this->assertRaw($title_filtered . '', 'Check for the filtered version of the title in a