Verified Commit 894c1181 authored by Lauri Timmanee's avatar Lauri Timmanee
Browse files

Issue #3362007 by swirt, rpayanm: Make system path column more accurate

parent 36414458
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -171,10 +171,12 @@ public function buildRow(EntityInterface $entity) {
      '#url' => $url,
    ];

    // Create a new URL for linking to the unaliased system path.
    $system_url = Url::fromUri("base:{$path}");
    $row['data']['path']['data'] = [
      '#type' => 'link',
      '#title' => $path,
      '#url' => $url,
      '#url' => $system_url,
    ];

    if ($this->languageManager->isMultilingual()) {
+19 −3
Original line number Diff line number Diff line
@@ -47,25 +47,28 @@ public function testPathFiltering() {
    $node3 = $this->drupalCreateNode();

    // Create aliases.
    $path1 = '/node/' . $node1->id();
    $alias1 = '/' . $this->randomMachineName(8);
    $edit = [
      'path[0][value]' => '/node/' . $node1->id(),
      'path[0][value]' => $path1,
      'alias[0][value]' => $alias1,
    ];
    $this->drupalGet('admin/config/search/path/add');
    $this->submitForm($edit, 'Save');

    $path2 = '/node/' . $node2->id();
    $alias2 = '/' . $this->randomMachineName(8);
    $edit = [
      'path[0][value]' => '/node/' . $node2->id(),
      'path[0][value]' => $path2,
      'alias[0][value]' => $alias2,
    ];
    $this->drupalGet('admin/config/search/path/add');
    $this->submitForm($edit, 'Save');

    $path3 = '/node/' . $node3->id();
    $alias3 = '/' . $this->randomMachineName(4) . '/' . $this->randomMachineName(4);
    $edit = [
      'path[0][value]' => '/node/' . $node3->id(),
      'path[0][value]' => $path3,
      'alias[0][value]' => $alias3,
    ];
    $this->drupalGet('admin/config/search/path/add');
@@ -79,6 +82,9 @@ public function testPathFiltering() {
    $this->assertSession()->linkByHrefExists($alias1);
    $this->assertSession()->linkByHrefNotExists($alias2);
    $this->assertSession()->linkByHrefNotExists($alias3);
    $this->assertSession()->linkByHrefExists($path1);
    $this->assertSession()->linkByHrefNotExists($path2);
    $this->assertSession()->linkByHrefNotExists($path3);

    // Filter by the second alias.
    $edit = [
@@ -88,6 +94,9 @@ public function testPathFiltering() {
    $this->assertSession()->linkByHrefNotExists($alias1);
    $this->assertSession()->linkByHrefExists($alias2);
    $this->assertSession()->linkByHrefNotExists($alias3);
    $this->assertSession()->linkByHrefNotExists($path1);
    $this->assertSession()->linkByHrefExists($path2);
    $this->assertSession()->linkByHrefNotExists($path3);

    // Filter by the third alias which has a slash.
    $edit = [
@@ -97,6 +106,9 @@ public function testPathFiltering() {
    $this->assertSession()->linkByHrefNotExists($alias1);
    $this->assertSession()->linkByHrefNotExists($alias2);
    $this->assertSession()->linkByHrefExists($alias3);
    $this->assertSession()->linkByHrefNotExists($path1);
    $this->assertSession()->linkByHrefNotExists($path2);
    $this->assertSession()->linkByHrefExists($path3);

    // Filter by a random string with a different length.
    $edit = [
@@ -105,12 +117,16 @@ public function testPathFiltering() {
    $this->submitForm($edit, 'Filter');
    $this->assertSession()->linkByHrefNotExists($alias1);
    $this->assertSession()->linkByHrefNotExists($alias2);
    $this->assertSession()->linkByHrefNotExists($path1);
    $this->assertSession()->linkByHrefNotExists($path2);

    // Reset the filter.
    $edit = [];
    $this->submitForm($edit, 'Reset');
    $this->assertSession()->linkByHrefExists($alias1);
    $this->assertSession()->linkByHrefExists($alias2);
    $this->assertSession()->linkByHrefExists($path1);
    $this->assertSession()->linkByHrefExists($path2);
  }

}