Updated to Drupal 8.6.4, which is PHP 7.3 friendly. Also updated HTMLaw library....
[yaffs-website] / web / core / modules / path / tests / src / Functional / PathLanguageUiTest.php
1 <?php
2
3 namespace Drupal\Tests\path\Functional;
4
5 /**
6  * Confirm that the Path module user interface works with languages.
7  *
8  * @group path
9  */
10 class PathLanguageUiTest extends PathTestBase {
11
12   /**
13    * Modules to enable.
14    *
15    * @var array
16    */
17   public static $modules = ['path', 'locale', 'locale_test'];
18
19   protected function setUp() {
20     parent::setUp();
21
22     // Create and log in user.
23     $web_user = $this->drupalCreateUser(['edit any page content', 'create page content', 'administer url aliases', 'create url aliases', 'administer languages', 'access administration pages']);
24     $this->drupalLogin($web_user);
25
26     // Enable French language.
27     $edit = [];
28     $edit['predefined_langcode'] = 'fr';
29
30     $this->drupalPostForm('admin/config/regional/language/add', $edit, t('Add language'));
31
32     // Enable URL language detection and selection.
33     $edit = ['language_interface[enabled][language-url]' => 1];
34     $this->drupalPostForm('admin/config/regional/language/detection', $edit, t('Save settings'));
35   }
36
37   /**
38    * Tests that a language-neutral URL alias works.
39    */
40   public function testLanguageNeutralUrl() {
41     $name = $this->randomMachineName(8);
42     $edit = [];
43     $edit['source'] = '/admin/config/search/path';
44     $edit['alias'] = '/' . $name;
45     $this->drupalPostForm('admin/config/search/path/add', $edit, t('Save'));
46
47     $this->drupalGet($name);
48     $this->assertText(t('Filter aliases'), 'Language-neutral URL alias works');
49   }
50
51   /**
52    * Tests that a default language URL alias works.
53    */
54   public function testDefaultLanguageUrl() {
55     $name = $this->randomMachineName(8);
56     $edit = [];
57     $edit['source'] = '/admin/config/search/path';
58     $edit['alias'] = '/' . $name;
59     $edit['langcode'] = 'en';
60     $this->drupalPostForm('admin/config/search/path/add', $edit, t('Save'));
61
62     $this->drupalGet($name);
63     $this->assertText(t('Filter aliases'), 'English URL alias works');
64   }
65
66   /**
67    * Tests that a non-default language URL alias works.
68    */
69   public function testNonDefaultUrl() {
70     $name = $this->randomMachineName(8);
71     $edit = [];
72     $edit['source'] = '/admin/config/search/path';
73     $edit['alias'] = '/' . $name;
74     $edit['langcode'] = 'fr';
75     $this->drupalPostForm('admin/config/search/path/add', $edit, t('Save'));
76
77     $this->drupalGet('fr/' . $name);
78     $this->assertText(t('Filter aliases'), 'Foreign URL alias works');
79   }
80
81 }