annotate core/modules/path/tests/src/Functional/PathLanguageUiTest.php @ 0:4c8ae668cc8c

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