annotate core/modules/node/tests/src/FunctionalJavascript/NodePreviewLinkTest.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 129ea1e6d783
children
rev   line source
Chris@17 1 <?php
Chris@17 2
Chris@17 3 namespace Drupal\Tests\node\FunctionalJavascript;
Chris@17 4
Chris@17 5 use Drupal\filter\Entity\FilterFormat;
Chris@17 6 use Drupal\FunctionalJavascriptTests\WebDriverTestBase;
Chris@17 7
Chris@17 8 /**
Chris@17 9 * Tests the JavaScript prevention of navigation away from node previews.
Chris@17 10 *
Chris@17 11 * @group node
Chris@17 12 */
Chris@17 13 class NodePreviewLinkTest extends WebDriverTestBase {
Chris@17 14
Chris@17 15 /**
Chris@17 16 * {@inheritdoc}
Chris@17 17 */
Chris@17 18 public static $modules = ['node', 'filter'];
Chris@17 19
Chris@17 20 /**
Chris@17 21 * {@inheritdoc}
Chris@17 22 */
Chris@17 23 public function setUp() {
Chris@17 24 parent::setUp();
Chris@17 25
Chris@17 26 $filtered_html_format = FilterFormat::create([
Chris@17 27 'format' => 'filtered_html',
Chris@17 28 'name' => 'Filtered HTML',
Chris@17 29 ]);
Chris@17 30 $filtered_html_format->save();
Chris@17 31
Chris@17 32 $this->drupalCreateContentType(['type' => 'test']);
Chris@17 33
Chris@17 34 $user = $this->drupalCreateUser([
Chris@17 35 'access content',
Chris@17 36 'edit own test content',
Chris@17 37 'create test content',
Chris@17 38 $filtered_html_format->getPermissionName(),
Chris@17 39 ]);
Chris@17 40 $this->drupalLogin($user);
Chris@17 41 }
Chris@17 42
Chris@17 43 /**
Chris@17 44 * Test the behavior of clicking preview links.
Chris@17 45 */
Chris@17 46 public function testPreviewLinks() {
Chris@17 47 $assertSession = $this->assertSession();
Chris@17 48 $this->drupalPostForm('node/add/test', [
Chris@17 49 'title[0][value]' => 'Test node',
Chris@17 50 'body[0][value]' => '<a href="#foo">Anchor link</a><a href="/foo">Normal link</a>',
Chris@17 51 ], t('Preview'));
Chris@17 52 $this->clickLink('Anchor link');
Chris@17 53 $assertSession->pageTextNotContains('Leave preview?');
Chris@17 54 $this->clickLink('Normal link');
Chris@17 55 $assertSession->pageTextContains('Leave preview?');
Chris@17 56 $this->click('button:contains("Leave preview")');
Chris@17 57 $this->assertStringEndsWith('/foo', $this->getUrl());
Chris@17 58 }
Chris@17 59
Chris@17 60 }