diff --git a/core/modules/translation/lib/Drupal/translation/Tests/TranslationTest.php b/core/modules/translation/lib/Drupal/translation/Tests/TranslationTest.php
index a409150..d36d78b 100644
--- a/core/modules/translation/lib/Drupal/translation/Tests/TranslationTest.php
+++ b/core/modules/translation/lib/Drupal/translation/Tests/TranslationTest.php
@@ -38,7 +38,7 @@ class TranslationTest extends WebTestBase {
     parent::setUp();
 
     // Setup users.
-    $this->admin_user = $this->drupalCreateUser(array('bypass node access', 'administer nodes', 'administer languages', 'administer content types', 'administer blocks', 'access administration pages', 'translate content'));
+    $this->admin_user = $this->drupalCreateUser(array('bypass node access', 'administer nodes', 'administer languages', 'administer content types', 'administer blocks', 'access administration pages', 'translate content', 'administer url aliases', 'create url aliases'));
     $this->translator = $this->drupalCreateUser(array('create page content', 'edit own page content', 'translate content'));
 
     $this->drupalLogin($this->admin_user);
@@ -249,6 +249,59 @@ class TranslationTest extends WebTestBase {
     $this->assertLanguageSwitchLinks($node, $node_it, TRUE, $type);
   }
 
+  function testTranslationAlias() {
+    // Create Basic page in English.
+    $node_title = $this->randomName();
+    $node_body =  $this->randomName();
+    $node = $this->createPage($node_title, $node_body, 'en');
+
+    // Submit translation in Spanish.
+    $node_translation_title = $this->randomName();
+    $node_translation_body = $this->randomName();
+    $node_translation = $this->createTranslation($node, $node_translation_title, $node_translation_body, 'es');
+
+    // Login as admin to create aliases.
+    $this->drupalLogin($this->admin_user);
+
+    // Create a path alias in default language (English).
+    $path = 'admin/config/search/path/add';
+    $translated_path = $this->randomName(8);
+    $prefix = 'es';
+    $edit = array(
+      'source'   => 'node/' . $node_translation->nid,
+      'alias'    => $translated_path,
+      'langcode' => $prefix,
+    );
+    $this->drupalPost($path, $edit, t('Save'));
+
+    // Get translated node alias path, with the path prefix.
+    $this->drupalGet($prefix . '/' . $translated_path);
+    $this->assertText($node_translation->title, t('Translated node alias works with path prefix.'));
+
+    // Enable session detection, disable url detection, this is how url
+    // detection works.
+    $edit = array(
+      'language_interface[enabled][language-session]' => TRUE,
+      'language_interface[enabled][language-url]' => FALSE,
+    );
+    $this->drupalPost('admin/config/regional/language/detection', $edit, t('Save settings'));
+
+    // Switch language by passing language parameter, this is how session
+    // detection works.
+    $this->drupalGet('<front>', array('query' => array('language' => $prefix)));
+
+    // Get translated node alias.
+    $this->drupalGet($translated_path);
+    $this->assertText($node_translation->title, t('Translated node alias works with session.'));
+
+    // Get the english node to check the translated node link.
+    $this->drupalGet('node/' . $node->nid);
+
+    // Test if the alias of the translated node switch link exist.
+    $elements = $this->xpath('//a[@href=:href and .=:title]', array(':href' => url($translated_path), ':title' => 'Español'));
+    $this->assertTrue(!empty($elements), t('Translated node switch link has the alias as the href.'));
+  }
+
   /**
    * Resets static caches to make the test code match the client-side behavior.
    */
