From e574bcffcebf168a8b2f329b2eea8269f494be6c Mon Sep 17 00:00:00 2001 From: Angie Byron Date: Thu, 5 Aug 2010 08:08:43 +0000 Subject: #835212 by plach, jhodgdon: Fixed locale_url_outbound_alter() should be run only on multilingual sites. --- modules/path/path.test | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) (limited to 'modules/path') diff --git a/modules/path/path.test b/modules/path/path.test index 6584eda6b..cca5fd972 100644 --- a/modules/path/path.test +++ b/modules/path/path.test @@ -440,3 +440,65 @@ class PathLanguageUITestCase extends DrupalWebTestCase { } } + +/** + * Tests that paths are not prefixed on a monolingual site. + */ +class PathMonolingualTestCase extends DrupalWebTestCase { + public static function getInfo() { + return array( + 'name' => 'Paths on non-English monolingual sites', + 'description' => 'Confirm that paths are not changed on monolingual non-English sites', + 'group' => 'Path', + ); + } + + function setUp() { + global $language; + parent::setUp('path', 'locale', 'translation'); + + // Create and login user. + $web_user = $this->drupalCreateUser(array('administer languages', 'access administration pages')); + $this->drupalLogin($web_user); + + // Enable French language. + $edit = array(); + $edit['langcode'] = 'fr'; + $this->drupalPost('admin/config/regional/language/add', $edit, t('Add language')); + + // Make French the default language. + $edit = array('site_default' => 'fr'); + $this->drupalPost('admin/config/regional/language', $edit, t('Save configuration')); + + // Disable English. + $edit = array('enabled[en]' => FALSE); + $this->drupalPost('admin/config/regional/language', $edit, t('Save configuration')); + + // Verify that French is the only language. + $this->assertFalse(drupal_multilingual(), t('Site is mono-lingual')); + $this->assertEqual(language_default('language'), 'fr', t('French is the default language')); + + // Set language detection to URL. + $edit = array('language[enabled][locale-url]' => TRUE); + $this->drupalPost('admin/config/regional/language/configure', $edit, t('Save settings')); + + // Force languages to be initialized. + drupal_language_initialize(); + } + + /** + * Verifies that links do not have language prefixes in them. + */ + function testPageLinks() { + // Navigate to 'admin/config' path. + $this->drupalGet('admin/config'); + + // Verify that links in this page do not have a 'fr/' prefix. + $this->assertNoLinkByHref('/fr/', 'Links do not contain language prefix'); + + // Verify that links in this page can be followed and work. + $this->clickLink(t('Languages')); + $this->assertResponse(200, 'Clicked link results in a valid page'); + $this->assertText(t('Add language'), 'Page contains the add language text'); + } +} -- cgit v1.2.3