_moduleName = 'TestModuleForDashletLoadLanguageTest'.mt_rand(); } public function tearDown() { if ( is_dir("modules/{$this->_moduleName}") ) rmdir_recursive("modules/{$this->_moduleName}"); if ( is_dir("custom/modules/{$this->_moduleName}") ) rmdir_recursive("custom/modules/{$this->_moduleName}"); unset($GLOBALS['dashletStrings']); $GLOBALS['current_language'] = $GLOBALS['sugar_config']['default_language']; } public function testCanLoadCurrentLanguageAppStrings() { $GLOBALS['current_language'] = 'en_us'; sugar_mkdir("modules/{$this->_moduleName}/Dashlets/TestModuleDashlet/",null,true); sugar_file_put_contents("modules/{$this->_moduleName}/Dashlets/TestModuleDashlet/TestModuleDashlet.en_us.lang.php", ''); $dashlet = new Dashlet(0); $dashlet->loadLanguage('TestModuleDashlet',"modules/{$this->_moduleName}/Dashlets/"); $this->assertEquals("bar",$dashlet->dashletStrings["foo"]); } public function testCanLoadCustomLanguageAppStrings() { $GLOBALS['current_language'] = 'en_us'; sugar_mkdir("modules/{$this->_moduleName}/Dashlets/TestModuleDashlet/",null,true); sugar_file_put_contents("modules/{$this->_moduleName}/Dashlets/TestModuleDashlet/TestModuleDashlet.en_us.lang.php", ''); create_custom_directory("modules/{$this->_moduleName}/Dashlets/TestModuleDashlet/"); sugar_file_put_contents("custom/modules/{$this->_moduleName}/Dashlets/TestModuleDashlet/TestModuleDashlet.en_us.lang.php", ''); $dashlet = new Dashlet(0); $dashlet->loadLanguage('TestModuleDashlet',"modules/{$this->_moduleName}/Dashlets/"); $this->assertEquals("barbar",$dashlet->dashletStrings["foo"]); } public function testCanLoadCustomLanguageAppStringsWhenThereIsNoNoncustomLanguageFile() { $GLOBALS['current_language'] = 'en_us'; create_custom_directory("modules/{$this->_moduleName}/Dashlets/TestModuleDashlet/"); sugar_file_put_contents("custom/modules/{$this->_moduleName}/Dashlets/TestModuleDashlet/TestModuleDashlet.en_us.lang.php", ''); $dashlet = new Dashlet(0); $dashlet->loadLanguage('TestModuleDashlet',"modules/{$this->_moduleName}/Dashlets/"); $this->assertEquals("barbar",$dashlet->dashletStrings["foo"]); } public function testCanLoadCurrentLanguageAppStringsWhenNotEnglish() { $GLOBALS['current_language'] = 'FR_fr'; sugar_mkdir("modules/{$this->_moduleName}/Dashlets/TestModuleDashlet/",null,true); sugar_file_put_contents("modules/{$this->_moduleName}/Dashlets/TestModuleDashlet/TestModuleDashlet.en_us.lang.php", ''); sugar_mkdir("modules/{$this->_moduleName}/Dashlets/TestModuleDashlet/",null,true); sugar_file_put_contents("modules/{$this->_moduleName}/Dashlets/TestModuleDashlet/TestModuleDashlet.FR_fr.lang.php", ''); $dashlet = new Dashlet(0); $dashlet->loadLanguage('TestModuleDashlet',"modules/{$this->_moduleName}/Dashlets/"); $this->assertEquals("barrie",$dashlet->dashletStrings["foo"]); } public function testCanLoadEnglishLanguageAppStringsWhenCurrentLanguageDoesNotExist() { $GLOBALS['current_language'] = 'FR_fr'; sugar_mkdir("modules/{$this->_moduleName}/Dashlets/TestModuleDashlet/",null,true); sugar_file_put_contents("modules/{$this->_moduleName}/Dashlets/TestModuleDashlet/TestModuleDashlet.en_us.lang.php", ''); $dashlet = new Dashlet(0); $dashlet->loadLanguage('TestModuleDashlet',"modules/{$this->_moduleName}/Dashlets/"); $this->assertEquals("bar",$dashlet->dashletStrings["foo"]); } public function testCanLoadCustomEnglishLanguageAppStringsWhenCurrentLanguageDoesNotExist() { $GLOBALS['current_language'] = 'FR_fr'; sugar_mkdir("modules/{$this->_moduleName}/Dashlets/TestModuleDashlet/",null,true); sugar_file_put_contents("modules/{$this->_moduleName}/Dashlets/TestModuleDashlet/TestModuleDashlet.en_us.lang.php", ''); create_custom_directory("modules/{$this->_moduleName}/Dashlets/TestModuleDashlet/"); sugar_file_put_contents("custom/modules/{$this->_moduleName}/Dashlets/TestModuleDashlet/TestModuleDashlet.en_us.lang.php", ''); $dashlet = new Dashlet(0); $dashlet->loadLanguage('TestModuleDashlet',"modules/{$this->_moduleName}/Dashlets/"); $this->assertEquals("barbarbar",$dashlet->dashletStrings["foo"]); } }