Beispiel #1
0
 public function testAddPageHandles()
 {
     /* add a non-page handle to verify that it won't be affected during page handles manipulation */
     $nonPageHandles = ['non_page_handle'];
     $this->_model->addHandle($nonPageHandles);
     $this->assertFalse($this->_model->addPageHandles(['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 = ['default', 'catalog_category_default', 'catalog_product_view', 'catalog_product_view_type_simple'];
     $expectedPageHandles = ['default', 'catalog_category_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 = ['default', 'checkout_index_index'];
     $this->_model->removeHandle('catalog_category_default');
     $this->_model->removeHandle('catalog_product_view');
     $this->_model->removeHandle('catalog_product_view_type_simple');
     $this->assertTrue($this->_model->addPageHandles(['default', 'checkout_index_index']));
     $this->assertEquals($expectedPageHandles, $this->_model->getPageHandles());
     $this->assertEquals(array_merge($nonPageHandles, $expectedPageHandles), $this->_model->getHandles());
 }
 /**
  * {@inheritdoc}
  */
 public function getPageHandles()
 {
     $pluginInfo = $this->pluginList->getNext($this->subjectType, 'getPageHandles');
     if (!$pluginInfo) {
         return parent::getPageHandles();
     } else {
         return $this->___callPlugins('getPageHandles', func_get_args(), $pluginInfo);
     }
 }