Browse Source

added check from input params in method init()

master
Vyacheslav Agafonov 13 years ago
parent
commit
b7e71c20b7
  1. 4
      i18n/I18N.php
  2. 13
      tests/i18n/I18NTest.php

4
i18n/I18N.php

@ -29,6 +29,10 @@ class I18N
{ {
$config = Config::get(__CLASS__); $config = Config::get(__CLASS__);
if (!is_array($config['locales'])) {
throw new InitializationException('locales empty');
}
self::$locales = $config['locales']; self::$locales = $config['locales'];
if (isset($config['bidi'])) { if (isset($config['bidi'])) {

13
tests/i18n/I18NTest.php

@ -14,16 +14,17 @@ require_once dirname(__FILE__) . '/../../Registry.php';
require_once dirname(__FILE__) . '/../../Config.php'; require_once dirname(__FILE__) . '/../../Config.php';
require_once dirname(__FILE__) . '/../../classes/Env.class.php'; require_once dirname(__FILE__) . '/../../classes/Env.class.php';
require_once dirname(__FILE__) . '/../../i18n/I18N.php'; require_once dirname(__FILE__) . '/../../i18n/I18N.php';
require_once dirname(__FILE__) . '/../../exception/GeneralException.php';
require_once dirname(__FILE__) . '/../../exception/InitializationException.php';
/** /**
* @runTestsInSeparateProcesses * @runTestsInSeparateProcesses
*/ */
class I18NTest extends PHPUnit_Framework_TestCase class I18NTest extends PHPUnit_Framework_TestCase
{ {
public function run(PHPUnit_Framework_TestResult $result = NULL) public function run(PHPUnit_Framework_TestResult $result = NULL)
{ {
$this->setConstants();
$this->setPreserveGlobalState(false); $this->setPreserveGlobalState(false);
return parent::run($result); return parent::run($result);
} }
@ -34,18 +35,18 @@ class I18NTest extends PHPUnit_Framework_TestCase
public function testInit() public function testInit()
{ {
$this->setConstants(); $this->setConstants();
Config::set('I18N', array('locales' => array('ru' => 'ru-ru', 'us' => 'en-us')));
Config::set('I18N', array('locales' => array('ru' => 'ru-ru', 'us' => 'en-us')));
I18N::init(); I18N::init();
$this->assertAttributeEquals(array('ru' => 'ru-ru', 'us' => 'en-us'), 'locales', 'I18N'); $this->assertAttributeEquals(array('ru' => 'ru-ru', 'us' => 'en-us'), 'locales', 'I18N');
$this->assertAttributeEquals('ru-ru', 'locale', 'I18N'); $this->assertAttributeEquals('ru-ru', 'locale', 'I18N');
} }
/**
* @expectedException GeneralException
*/
public function testInitNoConfig() public function testInitNoConfig()
{ {
Config::set('I18N', array('locales' => null));
$this->setExpectedException('InitializationException');
I18N::init(); I18N::init();
} }

Loading…
Cancel
Save