NodePreviewLinkTest.php in Drupal 10
File
core/modules/node/tests/src/FunctionalJavascript/NodePreviewLinkTest.php
View source
<?php
namespace Drupal\Tests\node\FunctionalJavascript;
use Drupal\filter\Entity\FilterFormat;
use Drupal\FunctionalJavascriptTests\WebDriverTestBase;
class NodePreviewLinkTest extends WebDriverTestBase {
protected static $modules = [
'node',
'filter',
];
protected $defaultTheme = 'stark';
protected function setUp() : void {
parent::setUp();
$filtered_html_format = FilterFormat::create([
'format' => 'filtered_html',
'name' => 'Filtered HTML',
]);
$filtered_html_format
->save();
$this
->drupalCreateContentType([
'type' => 'test',
]);
$user = $this
->drupalCreateUser([
'access content',
'edit own test content',
'create test content',
$filtered_html_format
->getPermissionName(),
]);
$this
->drupalLogin($user);
}
public function testPreviewLinks() {
$assertSession = $this
->assertSession();
$this
->drupalGet('node/add/test');
$this
->submitForm([
'title[0][value]' => 'Test node',
'body[0][value]' => '<a href="#foo">Anchor link</a><a href="/foo">Normal link</a>',
], 'Preview');
$this
->clickLink('Anchor link');
$assertSession
->pageTextNotContains('Leave preview?');
$this
->clickLink('Normal link');
$assertSession
->pageTextContains('Leave preview?');
$this
->click('button:contains("Leave preview")');
$this
->assertStringEndsWith('/foo', $this
->getUrl());
}
}