You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

93 lines
2.2 KiB

  1. <?php
  2. /**
  3. * PhpUnderControl_PhalApiTranslator_Test
  4. *
  5. * 针对 ../PhalApi/Translator.php PhalApi_Translator 类的PHPUnit单元测试
  6. *
  7. * @author: dogstar 20150201
  8. */
  9. require_once dirname(__FILE__) . '/test_env.php';
  10. if (!class_exists('PhalApi_Translator')) {
  11. require dirname(__FILE__) . '/../PhalApi/Translator.php';
  12. }
  13. class PhpUnderControl_PhalApiTranslator_Test extends PHPUnit_Framework_TestCase
  14. {
  15. public $coreTranslator;
  16. protected function setUp()
  17. {
  18. parent::setUp();
  19. $this->coreTranslator = new PhalApi_Translator();
  20. }
  21. protected function tearDown()
  22. {
  23. }
  24. /**
  25. * @group testGet
  26. */
  27. public function testGet()
  28. {
  29. PhalApi_Translator::setLanguage('zh_cn');
  30. $this->assertEquals('用户不存在', PhalApi_Translator::get('user not exists'));
  31. $this->assertEquals('PHPUnit您好,欢迎使用PhalApi!', PhalApi_Translator::get('Hello {name}, Welcome to use PhalApi!', array('name' => 'PHPUnit')));
  32. $this->assertEquals('PhalApi 我爱你', T('{0} I love you', array('PhalApi')));
  33. $this->assertEquals('PhalApi 我爱你因为no reasons', T('{0} I love you because {1}', array('PhalApi', 'no reasons')));
  34. }
  35. /**
  36. * @group testSetLanguage
  37. */
  38. public function testSetLanguage()
  39. {
  40. $language = 'en';
  41. $rs = PhalApi_Translator::setLanguage($language);
  42. }
  43. /**
  44. * @group testFormatVar
  45. */
  46. public function testFormatVar()
  47. {
  48. $name = 'abc';
  49. $rs = PhalApi_Translator::formatVar($name);
  50. $this->assertEquals('{abc}', $rs);
  51. }
  52. public function testAddMessage()
  53. {
  54. PhalApi_Translator::setLanguage('zh_cn');
  55. PhalApi_Translator::addMessage(dirname(__FILE__) . '/Data');
  56. $this->assertEquals('this is a good way', PhalApi_Translator::get('test'));
  57. }
  58. public function testGetWithNoLanguageSet()
  59. {
  60. PhalApi_Translator_Mock::setLanguageNameSimple(null);
  61. $rs = T('test');
  62. PhalApi_Translator::setLanguage('zh_cn');
  63. }
  64. }
  65. class PhalApi_Translator_Mock extends PhalApi_Translator {
  66. public static function setLanguageNameSimple($lan) {
  67. PhalApi_Translator::$message = null;
  68. }
  69. }