protected function setUp() { $this->markTestIncomplete('MAGETWO-6406'); parent::setUp(); $this->_setFixtureTheme(); $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\\Framework\\View\\LayoutInterface', ['area' => 'adminhtml']); $this->_layout->getUpdate()->load('layout_test_grid_handle'); $this->_layout->generateXml(); $this->_layout->generateElements(); $this->_block = $this->_layout->getBlock('admin.test.grid.massaction'); }
/** * Load layout updates * * @return $this */ protected function loadLayoutUpdates() { Profiler::start('LAYOUT'); /* dispatch event for adding handles to layout update */ $this->eventManager->dispatch('layout_load_before', ['full_action_name' => $this->request->getFullActionName(), 'layout' => $this->layout]); Profiler::start('layout_load'); /* load layout updates by specified handles */ $this->layout->getUpdate()->load(); Profiler::stop('layout_load'); Profiler::stop('LAYOUT'); return $this; }
protected function setUp() { $this->markTestIncomplete('MAGETWO-6406'); parent::setUp(); $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager(); /** @var \Magento\Theme\Model\Theme\Registration $registration */ $registration = $objectManager->get('Magento\\Theme\\Model\\Theme\\Registration'); $registration->register(); $objectManager->get('Magento\\Framework\\View\\DesignInterface')->setDesignTheme('BackendTest/test_default'); $this->_layout = $objectManager->create('Magento\\Framework\\View\\LayoutInterface', ['area' => 'adminhtml']); $this->_layout->getUpdate()->load('layout_test_grid_handle'); $this->_layout->generateXml(); $this->_layout->generateElements(); $this->_block = $this->_layout->getBlock('admin.test.grid.massaction'); $this->assertNotFalse($this->_block, 'Could not load the block for testing'); }
/** * @magentoAppIsolation enabled * @magentoAppArea frontend */ public function testInitProductLayout() { $uniqid = uniqid(); /** @var $product \Magento\Catalog\Model\Product */ $product = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\\Catalog\\Model\\Product'); $product->setTypeId(\Magento\Catalog\Model\Product\Type::DEFAULT_TYPE)->setId(99)->setUrlKey($uniqid); /** @var $objectManager \Magento\TestFramework\ObjectManager */ $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager(); $objectManager->get('Magento\\Framework\\Registry')->register('product', $product); $this->_helper->initProductLayout($product, $this->_controller); $rootBlock = $this->_layout->getBlock('root'); $this->assertInstanceOf('Magento\\Theme\\Block\\Html', $rootBlock); $this->assertContains("product-{$uniqid}", $rootBlock->getBodyClass()); $handles = $this->_layout->getUpdate()->getHandles(); $this->assertContains('catalog_product_view_type_simple', $handles); }
/** * @magentoAppIsolation enabled * @magentoAppArea frontend */ public function testInitProductLayout() { $uniqid = uniqid(); /** @var $product \Magento\Catalog\Model\Product */ $product = $this->objectManager->create('Magento\\Catalog\\Model\\Product'); $product->setTypeId(\Magento\Catalog\Model\Product\Type::DEFAULT_TYPE)->setId(99)->setUrlKey($uniqid); /** @var $objectManager \Magento\TestFramework\ObjectManager */ $objectManager = $this->objectManager; $objectManager->get('Magento\\Framework\\Registry')->register('product', $product); $this->_helper->initProductLayout($product, $this->_controller); /** @var \Magento\Framework\View\Page\Config $pageConfig */ $pageConfig = $this->objectManager->get('Magento\\Framework\\View\\Page\\Config'); $bodyClass = $pageConfig->getElementAttribute(\Magento\Framework\View\Page\Config::ELEMENT_TYPE_BODY, 'classes'); $this->assertContains("product-{$uniqid}", $bodyClass); $handles = $this->_layout->getUpdate()->getHandles(); $this->assertContains('catalog_product_view_type_simple', $handles); }
/** * Retrieve current applied page layout * * @return \Magento\Framework\Object|boolean */ public function getCurrentPageLayout() { if ($this->_layout->getBlock('root') && $this->_layout->getBlock('root')->getLayoutCode()) { return $this->_config->getPageLayout($this->_layout->getBlock('root')->getLayoutCode()); } // All loaded handles $handles = $this->_layout->getUpdate()->getHandles(); // Handles used in page layouts $pageLayoutHandles = $this->_config->getPageLayoutHandles(); // Applied page layout handles $appliedHandles = array_intersect($handles, $pageLayoutHandles); if (empty($appliedHandles)) { return false; } $currentHandle = array_pop($appliedHandles); $layoutCode = array_search($currentHandle, $pageLayoutHandles, true); return $this->_config->getPageLayout($layoutCode); }
/** * Load layout * * @return void */ public function loadLayout() { $this->layout->getUpdate()->load(); $this->layout->generateXml(); $this->layout->generateElements(); }