コード例 #1
0
ファイル: LayoutTest.php プロジェクト: nja78/magento2
 /**
  * @test
  * @return void
  * @covers \Magento\Theme\Model\Layout\Source\Layout::toOptionArray
  * @covers \Magento\Theme\Model\Layout\Source\Layout::getOptions
  * @covers \Magento\Theme\Model\Layout\Source\Layout::getDefaultValue
  * @covers \Magento\Theme\Model\Layout\Source\Layout::__construct
  */
 public function testToOptionArray()
 {
     $data = ['code' => 'testCode', 'label' => 'testLabel', 'is_default' => true];
     $expectedResult = [['value' => '', 'label' => __('-- Please Select --')], ['value' => 'testCode', 'label' => 'testLabel']];
     $this->config->expects($this->once())->method('getPageLayouts')->willReturn([new Object($data)]);
     $this->assertEquals($expectedResult, $this->_model->toOptionArray(true));
     $this->assertEquals('testCode', $this->_model->getDefaultValue());
 }
コード例 #2
0
 /**
  * @test
  * @return void
  * @covers \Magento\Theme\Model\Layout\Config::getPageLayouts
  * @covers \Magento\Theme\Model\Layout\Config::getPageLayout
  * @covers \Magento\Theme\Model\Layout\Config::getPageLayoutHandles
  * @covers \Magento\Theme\Model\Layout\Config::_initPageLayouts
  * @covers \Magento\Theme\Model\Layout\Config::__construct
  */
 public function testGetPageLayout()
 {
     $data = ['code' => ['label' => 'Test Label', 'code' => 'testCode']];
     $expectedResult = ['code' => new DataObject(['label' => __('Test Label'), 'code' => 'testCode'])];
     $this->dataStorage->expects($this->once())->method('get')->with(null, null)->willReturn($data);
     $this->assertEquals($expectedResult, $this->_model->getPageLayouts());
     $this->assertEquals($expectedResult['code'], $this->_model->getPageLayout('code'));
     $this->assertFalse($this->_model->getPageLayout('wrong_code'));
     $this->assertEquals([$expectedResult['code']['code'] => $expectedResult['code']['code']], $this->_model->getPageLayoutHandles());
 }
コード例 #3
0
ファイル: Layout.php プロジェクト: aiesh/magento2
 /**
  * Retrieve page layout options
  *
  * @return array
  */
 public function getOptions()
 {
     if ($this->_options === null) {
         $this->_options = array();
         foreach ($this->_config->getPageLayouts() as $layout) {
             $this->_options[$layout->getCode()] = $layout->getLabel();
             if ($layout->getIsDefault()) {
                 $this->_defaultValue = $layout->getCode();
             }
         }
     }
     return $this->_options;
 }
コード例 #4
0
ファイル: Layout.php プロジェクト: Atlis/docker-magento2
 /**
  * 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);
 }
コード例 #5
0
 public function testGetPageLayoutHandles()
 {
     $expected = ['empty' => 'empty', '1column' => '1column'];
     $this->assertEquals($expected, $this->_model->getPageLayoutHandles());
 }
コード例 #6
0
ファイル: ConfigTest.php プロジェクト: Atlis/docker-magento2
 public function testGetPageLayoutHandles()
 {
     $expected = array('empty' => 'page_empty', 'one_column' => 'page_one_column');
     $this->assertEquals($expected, $this->_model->getPageLayoutHandles());
 }