comparison 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
comparison
equal deleted inserted replaced
-1:000000000000 0:4c8ae668cc8c
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 }