array( 'message1' => 'message1', 'message2' => 'message2', 'message3' => 'message3' )); public static function main() { $suite = new PHPUnit_Framework_TestSuite(__CLASS__); $result = PHPUnit_TextUI_TestRunner::run($suite); } public function setUp() { // Store original autoloaders $this->loaders = spl_autoload_functions(); if (!is_array($this->loaders)) { // spl_autoload_functions does not return empty array when no // autoloaders registered... $this->loaders = array(); } Zend_Loader_Autoloader::resetInstance(); $this->autoloader = Zend_Loader_Autoloader::getInstance(); $this->application = new Zend_Application('testing'); $this->bootstrap = new Zend_Application_Bootstrap_Bootstrap($this->application); Zend_Registry::_unsetInstance(); } public function tearDown() { // Restore original autoloaders $loaders = spl_autoload_functions(); foreach ($loaders as $loader) { spl_autoload_unregister($loader); } foreach ($this->loaders as $loader) { spl_autoload_register($loader); } // Reset autoloader instance so it doesn't affect other tests Zend_Loader_Autoloader::resetInstance(); } public function testInitializationInitializesTranslateObject() { $resource = new Zend_Application_Resource_Translate($this->_translationOptions); $resource->setBootstrap($this->bootstrap); $resource->init(); $this->assertTrue($resource->getTranslate() instanceof Zend_Translate); } public function testInitializationReturnsLocaleObject() { $resource = new Zend_Application_Resource_Translate($this->_translationOptions); $resource->setBootstrap($this->bootstrap); $test = $resource->init(); $this->assertTrue($test instanceof Zend_Translate); } public function testOptionsPassedToResourceAreUsedToSetLocaleState() { $resource = new Zend_Application_Resource_Translate($this->_translationOptions); $resource->setBootstrap($this->bootstrap); $resource->init(); $translate = $resource->getTranslate(); $this->assertTrue(Zend_Registry::isRegistered('Zend_Translate')); $this->assertSame(Zend_Registry::get('Zend_Translate'), $translate); } public function testResourceThrowsExceptionWithoutData() { try { $resource = new Zend_Application_Resource_Translate(); $resource->getTranslate(); $this->fail('Expected Zend_Application_Resource_Exception'); } catch (Zend_Application_Resource_Exception $e) { $this->assertType('Zend_Application_Resource_Exception', $e); } } /** * @group ZF-7352 */ public function testTranslationIsAddedIfRegistryKeyExistsAlready() { $options1 = array('foo' => 'bar'); $options2 = array_merge_recursive($this->_translationOptions, array('data' => array('message4' => 'bericht4'))); $translate = new Zend_Translate(Zend_Translate::AN_ARRAY, $options1); Zend_Registry::set('Zend_Translate', $translate); $resource = new Zend_Application_Resource_Translate($options2); $this->assertTrue($translate === $resource->getTranslate()); $this->assertEquals('bar', $translate->translate('foo')); $this->assertEquals('bericht4', $translate->translate('message4')); $this->assertEquals('shouldNotExist', $translate->translate('shouldNotExist')); } } if (PHPUnit_MAIN_METHOD == 'Zend_Application_Resource_TranslateTest::main') { Zend_Application_Resource_TranslateTest::main(); }