Chris@0: drupalCreateUser(['edit any page content', 'create page content', 'administer url aliases', 'create url aliases', 'administer languages', 'access administration pages']); Chris@0: $this->drupalLogin($web_user); Chris@0: Chris@0: // Enable French language. Chris@0: $edit = []; Chris@0: $edit['predefined_langcode'] = 'fr'; Chris@0: Chris@0: $this->drupalPostForm('admin/config/regional/language/add', $edit, t('Add language')); Chris@0: Chris@0: // Enable URL language detection and selection. Chris@0: $edit = ['language_interface[enabled][language-url]' => 1]; Chris@0: $this->drupalPostForm('admin/config/regional/language/detection', $edit, t('Save settings')); Chris@0: } Chris@0: Chris@0: /** Chris@0: * Tests that a language-neutral URL alias works. Chris@0: */ Chris@0: public function testLanguageNeutralUrl() { Chris@0: $name = $this->randomMachineName(8); Chris@0: $edit = []; Chris@0: $edit['source'] = '/admin/config/search/path'; Chris@0: $edit['alias'] = '/' . $name; Chris@0: $this->drupalPostForm('admin/config/search/path/add', $edit, t('Save')); Chris@0: Chris@0: $this->drupalGet($name); Chris@0: $this->assertText(t('Filter aliases'), 'Language-neutral URL alias works'); Chris@0: } Chris@0: Chris@0: /** Chris@0: * Tests that a default language URL alias works. Chris@0: */ Chris@0: public function testDefaultLanguageUrl() { Chris@0: $name = $this->randomMachineName(8); Chris@0: $edit = []; Chris@0: $edit['source'] = '/admin/config/search/path'; Chris@0: $edit['alias'] = '/' . $name; Chris@0: $edit['langcode'] = 'en'; Chris@0: $this->drupalPostForm('admin/config/search/path/add', $edit, t('Save')); Chris@0: Chris@0: $this->drupalGet($name); Chris@0: $this->assertText(t('Filter aliases'), 'English URL alias works'); Chris@0: } Chris@0: Chris@0: /** Chris@0: * Tests that a non-default language URL alias works. Chris@0: */ Chris@0: public function testNonDefaultUrl() { Chris@0: $name = $this->randomMachineName(8); Chris@0: $edit = []; Chris@0: $edit['source'] = '/admin/config/search/path'; Chris@0: $edit['alias'] = '/' . $name; Chris@0: $edit['langcode'] = 'fr'; Chris@0: $this->drupalPostForm('admin/config/search/path/add', $edit, t('Save')); Chris@0: Chris@0: $this->drupalGet('fr/' . $name); Chris@0: $this->assertText(t('Filter aliases'), 'Foreign URL alias works'); Chris@0: } Chris@0: Chris@0: }