function DevelMenuLinksTest::testRedirectDestinationLinks

Tests redirect destination links.

File

tests/src/Functional/DevelMenuLinksTest.php, line 63

Class

DevelMenuLinksTest
Tests devel menu links.

Namespace

Drupal\Tests\devel\Functional

Code

public function testRedirectDestinationLinks() {
  // By default, in the testing profile, front page is the user canonical URI.
  // For better testing do not use the default frontpage.
  $url = Url::fromRoute('devel.simple_page');
  $destination = Url::fromRoute('devel.simple_page', [], [
    'absolute' => FALSE,
  ]);
  $this->drupalGet($url);
  $this->assertSession()
    ->linkExists('Reinstall Modules');
  $this->clickLink('Reinstall Modules');
  $this->assertSession()
    ->addressEquals('devel/reinstall', [
    'query' => [
      'destination' => $destination->toString(),
    ],
  ]);
  $this->drupalGet($url);
  $this->assertSession()
    ->linkExists('Rebuild Menu');
  $this->clickLink('Rebuild Menu');
  $this->assertSession()
    ->addressEquals('devel/menu/reset', [
    'query' => [
      'destination' => $destination->toString(),
    ],
  ]);
  $this->drupalGet($url);
  $this->assertSession()
    ->linkExists('Cache clear');
  $this->clickLink('Cache clear');
  $this->assertSession()
    ->pageTextContains('Cache cleared.');
  $this->assertSession()
    ->addressEquals($url);
  $this->drupalGet($url);
  $this->assertSession()
    ->linkExists('Run cron');
  $this->clickLink('Run cron');
  $this->assertSession()
    ->pageTextContains('Cron ran successfully.');
  $this->assertSession()
    ->addressEquals($url);
}