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'); } } /** * 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 testConstructorWithLayoutObject() { $layout = new Zend_Layout(); $helper = new Zend_Layout_Controller_Action_Helper_Layout($layout); $this->assertSame($layout, $helper->getLayoutInstance()); } public function testGetLayoutCreatesLayoutObjectWhenNoPluginRegistered() { $helper = new Zend_Layout_Controller_Action_Helper_Layout(); $layout = $helper->getLayoutInstance(); $this->assertTrue($layout instanceof Zend_Layout); } public function testGetLayoutInstancePullsMvcLayoutInstance() { $layout = Zend_Layout::startMvc(); $helper = new Zend_Layout_Controller_Action_Helper_Layout(); $this->assertSame($layout, $helper->getLayoutInstance()); } public function testSetLayoutInstanceReplacesExistingLayoutObject() { $layout = Zend_Layout::startMvc(); $helper = new Zend_Layout_Controller_Action_Helper_Layout(); $this->assertSame($layout, $helper->getLayoutInstance()); $newLayout = new Zend_Layout(); $this->assertNotSame($layout, $newLayout); $helper->setLayoutInstance($newLayout); $this->assertSame($newLayout, $helper->getLayoutInstance()); } public function testDirectFetchesLayoutObject() { $layout = Zend_Layout::startMvc(); $helper = new Zend_Layout_Controller_Action_Helper_Layout(); $received = $helper->direct(); $this->assertSame($layout, $received); } public function testHelperProxiesToLayoutObjectMethods() { $layout = Zend_Layout::startMvc(); $helper = new Zend_Layout_Controller_Action_Helper_Layout(); $helper->setOptions(array( 'layout' => 'foo.phtml', 'layoutPath' => dirname(__FILE__) . '/_files/layouts', 'contentKey' => 'foo' )); $this->assertEquals('foo.phtml', $helper->getLayout()); $this->assertEquals(dirname(__FILE__) . '/_files/layouts', $helper->getLayoutPath()); $this->assertEquals('foo', $helper->getContentKey()); } } /** * Zend_Layout extension to allow resetting MVC instance */ class Zend_Layout_HelperTest_Layout extends Zend_Layout { public static function resetMvcInstance() { self::$_mvcInstance = null; } } // Call Zend_Layout_HelperTest::main() if this source file is executed directly. if (PHPUnit_MAIN_METHOD == "Zend_Layout_HelperTest::main") { Zend_Layout_HelperTest::main(); }