2 require_once 'include/Dashlets/Dashlet.php';
4 class DashletLoadLanguageTest extends Sugar_PHPUnit_Framework_TestCase
8 public function setup()
10 $GLOBALS['dashletStrings'] = array();
11 $this->_moduleName = 'TestModuleForDashletLoadLanguageTest'.mt_rand();
14 public function tearDown()
16 if ( is_dir("modules/{$this->_moduleName}") )
17 rmdir_recursive("modules/{$this->_moduleName}");
18 if ( is_dir("custom/modules/{$this->_moduleName}") )
19 rmdir_recursive("custom/modules/{$this->_moduleName}");
21 unset($GLOBALS['dashletStrings']);
22 $GLOBALS['current_language'] = $GLOBALS['sugar_config']['default_language'];
25 public function testCanLoadCurrentLanguageAppStrings()
27 $GLOBALS['current_language'] = 'en_us';
28 sugar_mkdir("modules/{$this->_moduleName}/Dashlets/TestModuleDashlet/",null,true);
29 sugar_file_put_contents("modules/{$this->_moduleName}/Dashlets/TestModuleDashlet/TestModuleDashlet.en_us.lang.php",
30 '<?php $dashletStrings["TestModuleDashlet"]["foo"] = "bar"; ?>');
32 $dashlet = new Dashlet(0);
33 $dashlet->loadLanguage('TestModuleDashlet',"modules/{$this->_moduleName}/Dashlets/");
35 $this->assertEquals("bar",$dashlet->dashletStrings["foo"]);
38 public function testCanLoadCustomLanguageAppStrings()
40 $GLOBALS['current_language'] = 'en_us';
41 sugar_mkdir("modules/{$this->_moduleName}/Dashlets/TestModuleDashlet/",null,true);
42 sugar_file_put_contents("modules/{$this->_moduleName}/Dashlets/TestModuleDashlet/TestModuleDashlet.en_us.lang.php",
43 '<?php $dashletStrings["TestModuleDashlet"]["foo"] = "bar"; ?>');
44 create_custom_directory("modules/{$this->_moduleName}/Dashlets/TestModuleDashlet/");
45 sugar_file_put_contents("custom/modules/{$this->_moduleName}/Dashlets/TestModuleDashlet/TestModuleDashlet.en_us.lang.php",
46 '<?php $dashletStrings["TestModuleDashlet"]["foo"] = "barbar"; ?>');
48 $dashlet = new Dashlet(0);
49 $dashlet->loadLanguage('TestModuleDashlet',"modules/{$this->_moduleName}/Dashlets/");
51 $this->assertEquals("barbar",$dashlet->dashletStrings["foo"]);
54 public function testCanLoadCustomLanguageAppStringsWhenThereIsNoNoncustomLanguageFile()
56 $GLOBALS['current_language'] = 'en_us';
57 create_custom_directory("modules/{$this->_moduleName}/Dashlets/TestModuleDashlet/");
58 sugar_file_put_contents("custom/modules/{$this->_moduleName}/Dashlets/TestModuleDashlet/TestModuleDashlet.en_us.lang.php",
59 '<?php $dashletStrings["TestModuleDashlet"]["foo"] = "barbar"; ?>');
61 $dashlet = new Dashlet(0);
62 $dashlet->loadLanguage('TestModuleDashlet',"modules/{$this->_moduleName}/Dashlets/");
64 $this->assertEquals("barbar",$dashlet->dashletStrings["foo"]);
67 public function testCanLoadCurrentLanguageAppStringsWhenNotEnglish()
69 $GLOBALS['current_language'] = 'FR_fr';
70 sugar_mkdir("modules/{$this->_moduleName}/Dashlets/TestModuleDashlet/",null,true);
71 sugar_file_put_contents("modules/{$this->_moduleName}/Dashlets/TestModuleDashlet/TestModuleDashlet.en_us.lang.php",
72 '<?php $dashletStrings["TestModuleDashlet"]["foo"] = "bar"; ?>');
73 sugar_mkdir("modules/{$this->_moduleName}/Dashlets/TestModuleDashlet/",null,true);
74 sugar_file_put_contents("modules/{$this->_moduleName}/Dashlets/TestModuleDashlet/TestModuleDashlet.FR_fr.lang.php",
75 '<?php $dashletStrings["TestModuleDashlet"]["foo"] = "barrie"; ?>');
77 $dashlet = new Dashlet(0);
78 $dashlet->loadLanguage('TestModuleDashlet',"modules/{$this->_moduleName}/Dashlets/");
80 $this->assertEquals("barrie",$dashlet->dashletStrings["foo"]);
83 public function testCanLoadEnglishLanguageAppStringsWhenCurrentLanguageDoesNotExist()
85 $GLOBALS['current_language'] = 'FR_fr';
86 sugar_mkdir("modules/{$this->_moduleName}/Dashlets/TestModuleDashlet/",null,true);
87 sugar_file_put_contents("modules/{$this->_moduleName}/Dashlets/TestModuleDashlet/TestModuleDashlet.en_us.lang.php",
88 '<?php $dashletStrings["TestModuleDashlet"]["foo"] = "bar"; ?>');
90 $dashlet = new Dashlet(0);
91 $dashlet->loadLanguage('TestModuleDashlet',"modules/{$this->_moduleName}/Dashlets/");
93 $this->assertEquals("bar",$dashlet->dashletStrings["foo"]);
96 public function testCanLoadCustomEnglishLanguageAppStringsWhenCurrentLanguageDoesNotExist()
98 $GLOBALS['current_language'] = 'FR_fr';
99 sugar_mkdir("modules/{$this->_moduleName}/Dashlets/TestModuleDashlet/",null,true);
100 sugar_file_put_contents("modules/{$this->_moduleName}/Dashlets/TestModuleDashlet/TestModuleDashlet.en_us.lang.php",
101 '<?php $dashletStrings["TestModuleDashlet"]["foo"] = "bar"; ?>');
102 create_custom_directory("modules/{$this->_moduleName}/Dashlets/TestModuleDashlet/");
103 sugar_file_put_contents("custom/modules/{$this->_moduleName}/Dashlets/TestModuleDashlet/TestModuleDashlet.en_us.lang.php",
104 '<?php $dashletStrings["TestModuleDashlet"]["foo"] = "barbarbar"; ?>');
106 $dashlet = new Dashlet(0);
107 $dashlet->loadLanguage('TestModuleDashlet',"modules/{$this->_moduleName}/Dashlets/");
109 $this->assertEquals("barbarbar",$dashlet->dashletStrings["foo"]);