Chris@0: drupalCreateUser(['create page content', 'edit own page content', 'administer url aliases', 'create url aliases']); Chris@0: $this->drupalLogin($web_user); Chris@0: } Chris@0: Chris@0: /** Chris@0: * Tests the filtering aspect of the Path UI. Chris@0: */ Chris@0: public function testPathFiltering() { Chris@0: // Create test nodes. Chris@0: $node1 = $this->drupalCreateNode(); Chris@0: $node2 = $this->drupalCreateNode(); Chris@0: $node3 = $this->drupalCreateNode(); Chris@0: Chris@0: // Create aliases. Chris@0: $alias1 = '/' . $this->randomMachineName(8); Chris@0: $edit = [ Chris@0: 'source' => '/node/' . $node1->id(), Chris@0: 'alias' => $alias1, Chris@0: ]; Chris@0: $this->drupalPostForm('admin/config/search/path/add', $edit, t('Save')); Chris@0: Chris@0: $alias2 = '/' . $this->randomMachineName(8); Chris@0: $edit = [ Chris@0: 'source' => '/node/' . $node2->id(), Chris@0: 'alias' => $alias2, Chris@0: ]; Chris@0: $this->drupalPostForm('admin/config/search/path/add', $edit, t('Save')); Chris@0: Chris@0: $alias3 = '/' . $this->randomMachineName(4) . '/' . $this->randomMachineName(4); Chris@0: $edit = [ Chris@0: 'source' => '/node/' . $node3->id(), Chris@0: 'alias' => $alias3, Chris@0: ]; Chris@0: $this->drupalPostForm('admin/config/search/path/add', $edit, t('Save')); Chris@0: Chris@0: // Filter by the first alias. Chris@0: $edit = [ Chris@0: 'filter' => $alias1, Chris@0: ]; Chris@0: $this->drupalPostForm(NULL, $edit, t('Filter')); Chris@0: $this->assertLinkByHref($alias1); Chris@0: $this->assertNoLinkByHref($alias2); Chris@0: $this->assertNoLinkByHref($alias3); Chris@0: Chris@0: // Filter by the second alias. Chris@0: $edit = [ Chris@0: 'filter' => $alias2, Chris@0: ]; Chris@0: $this->drupalPostForm(NULL, $edit, t('Filter')); Chris@0: $this->assertNoLinkByHref($alias1); Chris@0: $this->assertLinkByHref($alias2); Chris@0: $this->assertNoLinkByHref($alias3); Chris@0: Chris@0: // Filter by the third alias which has a slash. Chris@0: $edit = [ Chris@0: 'filter' => $alias3, Chris@0: ]; Chris@0: $this->drupalPostForm(NULL, $edit, t('Filter')); Chris@0: $this->assertNoLinkByHref($alias1); Chris@0: $this->assertNoLinkByHref($alias2); Chris@0: $this->assertLinkByHref($alias3); Chris@0: Chris@0: // Filter by a random string with a different length. Chris@0: $edit = [ Chris@0: 'filter' => $this->randomMachineName(10), Chris@0: ]; Chris@0: $this->drupalPostForm(NULL, $edit, t('Filter')); Chris@0: $this->assertNoLinkByHref($alias1); Chris@0: $this->assertNoLinkByHref($alias2); Chris@0: Chris@0: // Reset the filter. Chris@0: $edit = []; Chris@0: $this->drupalPostForm(NULL, $edit, t('Reset')); Chris@0: $this->assertLinkByHref($alias1); Chris@0: $this->assertLinkByHref($alias2); Chris@0: } Chris@0: Chris@0: }