|
- <?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;
- }
- }
|