| <?php | 
| /** | 
|  * PhpUnderControl_PhalApiTranslator_Test | 
|  * | 
|  * 针对 ../PhalApi/Translator.php PhalApi_Translator 类的PHPUnit单元测试 | 
|  * | 
|  * @author: dogstar 20150201 | 
|  */ | 
|   | 
| require_once dirname(__FILE__) . '/test_env.php'; | 
|   | 
| if (!class_exists('PhalApi_Translator')) { | 
|     require dirname(__FILE__) . '/../PhalApi/Translator.php'; | 
| } | 
|   | 
| class PhpUnderControl_PhalApiTranslator_Test extends PHPUnit_Framework_TestCase | 
| { | 
|     public $coreTranslator; | 
|   | 
|     protected function setUp() | 
|     { | 
|         parent::setUp(); | 
|   | 
|         $this->coreTranslator = new PhalApi_Translator(); | 
|     } | 
|   | 
|     protected function tearDown() | 
|     { | 
|     } | 
|   | 
|   | 
|     /** | 
|      * @group testGet | 
|      */  | 
|     public function testGet() | 
|     { | 
|         PhalApi_Translator::setLanguage('zh_cn'); | 
|   | 
|         $this->assertEquals('用户不存在', PhalApi_Translator::get('user not exists')); | 
|   | 
|         $this->assertEquals('PHPUnit您好,欢迎使用PhalApi!', PhalApi_Translator::get('Hello {name}, Welcome to use PhalApi!', array('name' => 'PHPUnit'))); | 
|   | 
|         $this->assertEquals('PhalApi 我爱你', T('{0} I love you', array('PhalApi'))); | 
|         $this->assertEquals('PhalApi 我爱你因为no reasons', T('{0} I love you because {1}', array('PhalApi', 'no reasons'))); | 
|     } | 
|   | 
|     /** | 
|      * @group testSetLanguage | 
|      */  | 
|     public function testSetLanguage() | 
|     { | 
|         $language = 'en'; | 
|   | 
|         $rs = PhalApi_Translator::setLanguage($language); | 
|     } | 
|   | 
|     /** | 
|      * @group testFormatVar | 
|      */  | 
|     public function testFormatVar() | 
|     { | 
|         $name = 'abc'; | 
|   | 
|         $rs = PhalApi_Translator::formatVar($name); | 
|   | 
|         $this->assertEquals('{abc}', $rs); | 
|     } | 
|   | 
|     public function testAddMessage()  | 
|     { | 
|         PhalApi_Translator::setLanguage('zh_cn'); | 
|         PhalApi_Translator::addMessage(dirname(__FILE__) . '/Data'); | 
|   | 
|         $this->assertEquals('this is a good way', PhalApi_Translator::get('test')); | 
|     } | 
|   | 
|     public function testGetWithNoLanguageSet() | 
|     { | 
|         PhalApi_Translator_Mock::setLanguageNameSimple(null); | 
|   | 
|         $rs = T('test'); | 
|   | 
|         PhalApi_Translator::setLanguage('zh_cn'); | 
|     } | 
| } | 
|   | 
| class PhalApi_Translator_Mock extends PhalApi_Translator { | 
|   | 
|     public static function setLanguageNameSimple($lan) { | 
|         PhalApi_Translator::$message = null; | 
|     } | 
| } |