tests/src/FunctionalJavascript/ExtlinkTest.php | 46 +++++++++++++++++ tests/src/FunctionalJavascript/ExtlinkTestBase.php | 59 ++++++++++++++++++++++ 2 files changed, 105 insertions(+) diff --git a/tests/src/FunctionalJavascript/ExtlinkTest.php b/tests/src/FunctionalJavascript/ExtlinkTest.php new file mode 100644 index 0000000..3a40b1d --- /dev/null +++ b/tests/src/FunctionalJavascript/ExtlinkTest.php @@ -0,0 +1,46 @@ +drupalLogin($this->adminUser); + + // Create a node with an external link. + $settings = [ + 'type' => 'page', + 'title' => 'test page', + 'body' => [ + ['value' => 'Google!', + 'format' => filter_default_format(), + ] + ], + ]; + $node = $this->drupalCreateNode($settings); + print_r('currentUrl: ' . $this->getUrl()); + + // Get the page. + $this->drupalGet($node->toUrl()); + print_r('UrlAfter: ' . $this->getUrl()); + $page = $this->getSession()->getPage(); + $this->createScreenshot(\Drupal::root() . '/sites/default/files/simpletest/screen.png'); + $this->assertEquals('', $page->getHTML()); + $this->assertSession()->statusCodeEquals(200); + $this->assertTrue($page->hasLink('Google!')); + + // Test that the page has the external link span. + $externalLink = $page->find('css', 'span.ext'); + $this->assertTrue($externalLink->isVisible(), 'External Link Exists.'); + } + +} diff --git a/tests/src/FunctionalJavascript/ExtlinkTestBase.php b/tests/src/FunctionalJavascript/ExtlinkTestBase.php new file mode 100644 index 0000000..ca8f772 --- /dev/null +++ b/tests/src/FunctionalJavascript/ExtlinkTestBase.php @@ -0,0 +1,59 @@ +normalUser = $this->drupalCreateUser($permissions); + + // Create an admin user. + $permissions[] = 'administer site configuration'; + $permissions[] = 'administer permissions'; + $this->adminUser = $this->drupalCreateUser($permissions); + $this->adminUser->roles[] = 'administrator'; + $this->adminUser->save(); + + // Create page content type that we will use for testing. + $this->drupalCreateContentType(['type' => 'page',]); + } + +}