resetInstance(); if (Zend_Controller_Action_HelperBroker::hasHelper('Layout')) { Zend_Controller_Action_HelperBroker::removeHelper('Layout'); } if (Zend_Controller_Action_HelperBroker::hasHelper('viewRenderer')) { Zend_Controller_Action_HelperBroker::removeHelper('viewRenderer'); } Zend_View_Helper_LayoutTest_Layout::resetMvcInstance(); } /** * Tears down the fixture, for example, close a network connection. * This method is called after a test is executed. * * @return void */ public function tearDown() { } public function testGetLayoutCreatesLayoutObjectWhenNoPluginRegistered() { $helper = new Zend_View_Helper_Layout(); $layout = $helper->getLayout(); $this->assertTrue($layout instanceof Zend_Layout); } public function testGetLayoutPullsLayoutObjectFromRegisteredPlugin() { $layout = Zend_Layout::startMvc(); $helper = new Zend_View_Helper_Layout(); $this->assertSame($layout, $helper->getLayout()); } public function testSetLayoutReplacesExistingLayoutObject() { $layout = Zend_Layout::startMvc(); $helper = new Zend_View_Helper_Layout(); $this->assertSame($layout, $helper->getLayout()); $newLayout = new Zend_Layout(); $this->assertNotSame($layout, $newLayout); $helper->setLayout($newLayout); $this->assertSame($newLayout, $helper->getLayout()); } public function testHelperMethodFetchesLayoutObject() { $layout = Zend_Layout::startMvc(); $helper = new Zend_View_Helper_Layout(); $received = $helper->layout(); $this->assertSame($layout, $received); } } /** * Zend_Layout extension to allow resetting MVC instance */ class Zend_View_Helper_LayoutTest_Layout extends Zend_Layout { public static function resetMvcInstance() { self::$_mvcInstance = null; } } // Call Zend_View_Helper_LayoutTest::main() if this source file is executed directly. if (PHPUnit_MAIN_METHOD == "Zend_View_Helper_LayoutTest::main") { Zend_View_Helper_LayoutTest::main(); }