diff core/tests/Drupal/FunctionalTests/Installer/InstallerLanguageDirectionTest.php @ 16:c2387f117808

Routine composer update
author Chris Cannam
date Tue, 10 Jul 2018 15:07:59 +0100
parents
children 129ea1e6d783
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/core/tests/Drupal/FunctionalTests/Installer/InstallerLanguageDirectionTest.php	Tue Jul 10 15:07:59 2018 +0100
@@ -0,0 +1,47 @@
+<?php
+
+namespace Drupal\FunctionalTests\Installer;
+
+/**
+ * Verifies that the early installer uses the correct language direction.
+ *
+ * @group Installer
+ */
+class InstallerLanguageDirectionTest extends InstallerTestBase {
+
+  /**
+   * Overrides the language code the installer should use.
+   *
+   * @var string
+   */
+  protected $langcode = 'ar';
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUpLanguage() {
+    // Place a custom local translation in the translations directory.
+    mkdir(\Drupal::root() . '/' . $this->siteDirectory . '/files/translations', 0777, TRUE);
+    file_put_contents(\Drupal::root() . '/' . $this->siteDirectory . '/files/translations/drupal-8.0.0.ar.po', "msgid \"\"\nmsgstr \"\"\nmsgid \"Save and continue\"\nmsgstr \"Save and continue Arabic\"");
+
+    parent::setUpLanguage();
+    // After selecting a different language than English, all following screens
+    // should be translated already.
+    $elements = $this->xpath('//input[@type="submit"]/@value');
+    $this->assertEqual(current($elements)->getText(), 'Save and continue Arabic');
+    $this->translations['Save and continue'] = 'Save and continue Arabic';
+
+    // Verify that language direction is right-to-left.
+    $direction = current($this->xpath('/@dir'))->getText();
+    $this->assertEqual($direction, 'rtl');
+  }
+
+  /**
+   * Confirms that the installation succeeded.
+   */
+  public function testInstalled() {
+    $this->assertUrl('user/1');
+    $this->assertResponse(200);
+  }
+
+}