annotate core/modules/language/tests/src/Functional/LanguageNegotiationUrlTest.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 4c8ae668cc8c
children
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 namespace Drupal\Tests\language\Functional;
Chris@0 4
Chris@0 5 use Drupal\Core\StringTranslation\StringTranslationTrait;
Chris@0 6 use Drupal\Tests\BrowserTestBase;
Chris@0 7
Chris@0 8 /**
Chris@0 9 * @coversDefaultClass \Drupal\language\Plugin\LanguageNegotiation\LanguageNegotiationUrl
Chris@0 10 * @group language
Chris@0 11 */
Chris@0 12 class LanguageNegotiationUrlTest extends BrowserTestBase {
Chris@0 13
Chris@0 14 use StringTranslationTrait;
Chris@0 15
Chris@0 16 /**
Chris@0 17 * {@inheritdoc}
Chris@0 18 */
Chris@0 19 public static $modules = [
Chris@0 20 'language',
Chris@0 21 'node',
Chris@0 22 'path',
Chris@0 23 ];
Chris@0 24
Chris@0 25 /**
Chris@0 26 * @var \Drupal\user\Entity\User
Chris@0 27 */
Chris@0 28 protected $user;
Chris@0 29
Chris@0 30 /**
Chris@0 31 * {@inheritdoc}
Chris@0 32 */
Chris@0 33 protected function setUp() {
Chris@0 34 parent::setUp();
Chris@0 35
Chris@0 36 // Create an Article node type.
Chris@0 37 if ($this->profile != 'standard') {
Chris@0 38 $this->drupalCreateContentType(['type' => 'article']);
Chris@0 39 }
Chris@0 40
Chris@0 41 $this->user = $this->drupalCreateUser([
Chris@0 42 'administer languages',
Chris@0 43 'access administration pages',
Chris@0 44 'view the administration theme',
Chris@0 45 'administer nodes',
Chris@0 46 'create article content',
Chris@0 47 'create url aliases',
Chris@0 48 ]);
Chris@0 49 $this->drupalLogin($this->user);
Chris@0 50
Chris@0 51 $this->drupalPostForm('admin/config/regional/language/add', ['predefined_langcode' => 'de'], $this->t('Add language'));
Chris@0 52 }
Chris@0 53
Chris@0 54 /**
Chris@0 55 * @covers ::processInbound
Chris@0 56 */
Chris@0 57 public function testDomain() {
Chris@0 58 // Check if paths that contain language prefixes can be reached when
Chris@0 59 // language is taken from the domain.
Chris@0 60 $edit = [
Chris@0 61 'language_negotiation_url_part' => 'domain',
Chris@0 62 'prefix[en]' => 'eng',
Chris@0 63 'prefix[de]' => 'de',
Chris@0 64 'domain[en]' => $_SERVER['HTTP_HOST'],
Chris@0 65 'domain[de]' => "de.$_SERVER[HTTP_HOST]",
Chris@0 66 ];
Chris@0 67 $this->drupalPostForm('admin/config/regional/language/detection/url', $edit, $this->t('Save configuration'));
Chris@0 68
Chris@0 69 $nodeValues = [
Chris@0 70 'title[0][value]' => 'Test',
Chris@0 71 'path[0][alias]' => '/eng/test',
Chris@0 72 ];
Chris@0 73 $this->drupalPostForm('node/add/article', $nodeValues, $this->t('Save'));
Chris@0 74 $this->assertSession()->statusCodeEquals(200);
Chris@0 75 }
Chris@0 76
Chris@0 77 }