24 $layoutUtility = new \Magento\Framework\View\Utility\Layout($this);
26 $appState->setAreaCode(\
Magento\Backend\
App\Area\FrontNameResolver::AREA_CODE);
27 $processorMock = $this->getMockBuilder(\
Magento\Framework\View\
Layout\ProcessorInterface::class)
28 ->setMethods([
'isPageLayoutDesignAbstraction'])
29 ->getMockForAbstractClass();
30 $processorMock->expects($this->exactly(2))->method(
'isPageLayoutDesignAbstraction')->will(
31 $this->returnCallback(
32 function ($abstraction) {
33 return $abstraction[
'design_abstraction'] ===
'page_layout';
37 $processorFactoryMock =
38 $this->createPartialMock(\
Magento\Framework\View\
Layout\ProcessorFactory::class, [
'create']);
39 $processorFactoryMock->expects($this->exactly(2))->method(
'create')->will(
40 $this->returnCallback(
41 function (
$data) use ($processorMock, $layoutUtility) {
42 return $data === [] ? $processorMock : $layoutUtility->getLayoutUpdateFromFixture(
43 glob(
__DIR__ .
'/_files/layout/*.xml')
51 $processorFactoryMock,
55 'name' =>
'design_abstractions',
56 'id' =>
'design_abstraction_select',
57 'class' =>
'design-abstraction-select',
58 'title' =>
'Design Abstraction Select' 65 $this->assertXmlStringEqualsXmlFile(
66 __DIR__ .
'/_files/design-abstraction_select.html',
67 $this->_block->toHtml()
defined('TESTS_BP')||define('TESTS_BP' __DIR__
static getObjectManager()