public function testAddPageHandles() { /* add a non-page handle to verify that it won't be affected during page handles manipulation */ $nonPageHandles = array('non_page_handle'); $this->_model->addHandle($nonPageHandles); $this->assertFalse($this->_model->addPageHandles(array('non_existing_handle'))); $this->assertEmpty($this->_model->getPageHandles()); $this->assertEquals($nonPageHandles, $this->_model->getHandles()); /* test that only the first existing handle is taken into account */ $handlesToTry = array('catalog_product_view_type_simple', 'catalog_category_view'); $expectedPageHandles = array('default', 'catalog_product_view', 'catalog_product_view_type_simple'); $this->assertTrue($this->_model->addPageHandles($handlesToTry)); $this->assertEquals($expectedPageHandles, $this->_model->getPageHandles()); $this->assertEquals(array_merge($nonPageHandles, $expectedPageHandles), $this->_model->getHandles()); /* test that new handles override the previous ones */ $expectedPageHandles = array('default', 'catalog_category_view', 'catalog_category_view_type_default'); $this->assertTrue($this->_model->addPageHandles(array('catalog_category_view_type_default'))); $this->assertEquals($expectedPageHandles, $this->_model->getPageHandles()); $this->assertEquals(array_merge($nonPageHandles, $expectedPageHandles), $this->_model->getHandles()); }
public function testLoad() { $layoutHandle = 'layout_test_handle'; $expectedText = 'Text declared in the frontend/test/test_theme'; $model = new Mage_Core_Model_Layout_Merge(array('area' => 'frontend', 'package' => 'test', 'theme' => 'test_theme')); $this->assertNotContains($layoutHandle, $model->getHandles()); $this->assertNotContains($expectedText, $model->asString()); $model->load($layoutHandle); $this->assertContains($layoutHandle, $model->getHandles()); $this->assertContains($expectedText, $model->asString()); }