]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - tests/include/Smarty/plugins/FunctionSugarTranslateTest.php
Release 6.2.0
[Github/sugarcrm.git] / tests / include / Smarty / plugins / FunctionSugarTranslateTest.php
1 <?php 
2 /*********************************************************************************
3  * SugarCRM Community Edition is a customer relationship management program developed by
4  * SugarCRM, Inc. Copyright (C) 2004-2011 SugarCRM Inc.
5  * 
6  * This program is free software; you can redistribute it and/or modify it under
7  * the terms of the GNU Affero General Public License version 3 as published by the
8  * Free Software Foundation with the addition of the following permission added
9  * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
10  * IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
11  * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
12  * 
13  * This program is distributed in the hope that it will be useful, but WITHOUT
14  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15  * FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public License for more
16  * details.
17  * 
18  * You should have received a copy of the GNU Affero General Public License along with
19  * this program; if not, see http://www.gnu.org/licenses or write to the Free
20  * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21  * 02110-1301 USA.
22  * 
23  * You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
24  * SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
25  * 
26  * The interactive user interfaces in modified source and object code versions
27  * of this program must display Appropriate Legal Notices, as required under
28  * Section 5 of the GNU Affero General Public License version 3.
29  * 
30  * In accordance with Section 7(b) of the GNU Affero General Public License version 3,
31  * these Appropriate Legal Notices must retain the display of the "Powered by
32  * SugarCRM" logo. If the display of the logo is not reasonably feasible for
33  * technical reasons, the Appropriate Legal Notices must display the words
34  * "Powered by SugarCRM".
35  ********************************************************************************/
36
37
38 require_once 'include/Smarty/plugins/function.sugar_translate.php';
39 require_once 'include/Sugar_Smarty.php';
40
41 class FunctionSugarTranslateTest extends Sugar_PHPUnit_Framework_TestCase
42 {
43     public function providerJsEscapedSting()
44     {
45         return array(
46             array(
47                 "Friend's",
48                 "Friend\'s",
49                 ),
50             array(
51                 "Friend\'s",
52                 "Friend\\\\\\'s",
53                 ),
54             array(
55                 "Friend&#39;s",
56                 "Friend\'s",
57                 ),
58             array(
59                 "Friend&#39;'s",
60                 "Friend\'\'s",
61                 ),
62             array(
63                 "Friend&#039;s",
64                 "Friend\'s",
65                 ),
66             array(
67                 "Friend&#039;'s",
68                 "Friend\'\'s",
69                 ),
70             );
71     }
72
73     /**
74      * @dataProvider providerJsEscapedSting
75      * @ticket 41983
76      */
77     public function testJsEscapedSting($string, $returnedString) 
78     {
79         $langpack = new SugarTestLangPackCreator();
80         $langpack->setModString('LBL_TEST_JS_ESCAPED_STRING', $string, 'Contacts');
81         $langpack->save();
82
83         $smarty = new Sugar_Smarty;
84         
85         $this->assertEquals($returnedString, smarty_function_sugar_translate(
86             array(
87                 'label'  => 'LBL_TEST_JS_ESCAPED_STRING',
88                 'module' => 'Contacts',
89                 'for_js'  =>  true,
90             ),
91             $smarty)
92         );
93     }
94 }