X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=blobdiff_plain;f=web%2Fmodules%2Fcontrib%2Fredirect%2Fsrc%2FTests%2FRedirectUILanguageTest.php;fp=web%2Fmodules%2Fcontrib%2Fredirect%2Fsrc%2FTests%2FRedirectUILanguageTest.php;h=642ed8683c08f491d0552fd2cc07e5d039c85c25;hb=a2bd1bf0c2c1f1a17d188f4dc0726a45494cefae;hp=0000000000000000000000000000000000000000;hpb=57c063afa3f66b07c4bbddc2d6129a96d90f0aad;p=yaffs-website diff --git a/web/modules/contrib/redirect/src/Tests/RedirectUILanguageTest.php b/web/modules/contrib/redirect/src/Tests/RedirectUILanguageTest.php new file mode 100644 index 000000000..642ed8683 --- /dev/null +++ b/web/modules/contrib/redirect/src/Tests/RedirectUILanguageTest.php @@ -0,0 +1,83 @@ +save(); + $language = ConfigurableLanguage::createFromLangcode('es'); + $language->save(); + } + + /** + * Test multilingual scenarios. + */ + public function testLanguageSpecificRedirects() { + $this->drupalLogin($this->adminUser); + + // Add a redirect for english. + $this->drupalPostForm('admin/config/search/redirect/add', array( + 'redirect_source[0][path]' => 'langpath', + 'redirect_redirect[0][uri]' => '/user', + 'language[0][value]' => 'en', + ), t('Save')); + + // Add a redirect for germany. + $this->drupalPostForm('admin/config/search/redirect/add', array( + 'redirect_source[0][path]' => 'langpath', + 'redirect_redirect[0][uri]' => '', + 'language[0][value]' => 'de', + ), t('Save')); + + // Check redirect for english. + $this->assertRedirect('langpath', '/user', 'HTTP/1.1 301 Moved Permanently'); + + // Check redirect for germany. + $this->assertRedirect('de/langpath', '/de', 'HTTP/1.1 301 Moved Permanently'); + + // Check no redirect for spanish. + $this->assertRedirect('es/langpath', NULL, 'HTTP/1.1 404 Not Found'); + } + + /** + * Test non-language specific redirect. + */ + public function testUndefinedLangugageRedirects() { + $this->drupalLogin($this->adminUser); + + // Add a redirect for english. + $this->drupalPostForm('admin/config/search/redirect/add', array( + 'redirect_source[0][path]' => 'langpath', + 'redirect_redirect[0][uri]' => '/user', + 'language[0][value]' => 'und', + ), t('Save')); + + // Check redirect for english. + $this->assertRedirect('langpath', '/user', 'HTTP/1.1 301 Moved Permanently'); + + // Check redirect for spanish. + $this->assertRedirect('es/langpath', '/es/user', 'HTTP/1.1 301 Moved Permanently'); + } + +}