123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- <?php
- namespace Drupal\Tests\path\Functional;
- /**
- * Tests the Path admin UI.
- *
- * @group path
- */
- class PathAdminTest extends PathTestBase {
- /**
- * Modules to enable.
- *
- * @var array
- */
- public static $modules = ['path'];
- protected function setUp() {
- parent::setUp();
- // Create test user and log in.
- $web_user = $this->drupalCreateUser(['create page content', 'edit own page content', 'administer url aliases', 'create url aliases']);
- $this->drupalLogin($web_user);
- }
- /**
- * Tests the filtering aspect of the Path UI.
- */
- public function testPathFiltering() {
- // Create test nodes.
- $node1 = $this->drupalCreateNode();
- $node2 = $this->drupalCreateNode();
- $node3 = $this->drupalCreateNode();
- // Create aliases.
- $alias1 = '/' . $this->randomMachineName(8);
- $edit = [
- 'source' => '/node/' . $node1->id(),
- 'alias' => $alias1,
- ];
- $this->drupalPostForm('admin/config/search/path/add', $edit, t('Save'));
- $alias2 = '/' . $this->randomMachineName(8);
- $edit = [
- 'source' => '/node/' . $node2->id(),
- 'alias' => $alias2,
- ];
- $this->drupalPostForm('admin/config/search/path/add', $edit, t('Save'));
- $alias3 = '/' . $this->randomMachineName(4) . '/' . $this->randomMachineName(4);
- $edit = [
- 'source' => '/node/' . $node3->id(),
- 'alias' => $alias3,
- ];
- $this->drupalPostForm('admin/config/search/path/add', $edit, t('Save'));
- // Filter by the first alias.
- $edit = [
- 'filter' => $alias1,
- ];
- $this->drupalPostForm(NULL, $edit, t('Filter'));
- $this->assertLinkByHref($alias1);
- $this->assertNoLinkByHref($alias2);
- $this->assertNoLinkByHref($alias3);
- // Filter by the second alias.
- $edit = [
- 'filter' => $alias2,
- ];
- $this->drupalPostForm(NULL, $edit, t('Filter'));
- $this->assertNoLinkByHref($alias1);
- $this->assertLinkByHref($alias2);
- $this->assertNoLinkByHref($alias3);
- // Filter by the third alias which has a slash.
- $edit = [
- 'filter' => $alias3,
- ];
- $this->drupalPostForm(NULL, $edit, t('Filter'));
- $this->assertNoLinkByHref($alias1);
- $this->assertNoLinkByHref($alias2);
- $this->assertLinkByHref($alias3);
- // Filter by a random string with a different length.
- $edit = [
- 'filter' => $this->randomMachineName(10),
- ];
- $this->drupalPostForm(NULL, $edit, t('Filter'));
- $this->assertNoLinkByHref($alias1);
- $this->assertNoLinkByHref($alias2);
- // Reset the filter.
- $edit = [];
- $this->drupalPostForm(NULL, $edit, t('Reset'));
- $this->assertLinkByHref($alias1);
- $this->assertLinkByHref($alias2);
- }
- }
|