9 class ThemeTest extends \PHPUnit\Framework\TestCase
18 $theme = $this->getMockForAbstractClass(\
Magento\Framework\View\Design\ThemeInterface::class);
19 $theme->expects($this->once())->method(
'getArea')->will($this->returnValue(
'area'));
20 $layoutMergeFactory = $this->_getLayoutMergeFactory(
$theme, $layoutStr);
21 $assetRepo = $this->createPartialMock(\
Magento\Framework\View\Asset\Repository::class, [
'createAsset']);
22 $assetRepo->expects($this->any())
23 ->method(
'createAsset')
24 ->will($this->returnArgument(0));
25 $helper = new \Magento\Theme\Helper\Theme(
26 $this->createMock(\
Magento\Framework\
App\Helper\Context::class),
31 $this->assertSame($expectedResult,
$result);
43 '<block class="Magento\Theme\Block\Html\Head" name="head"> 44 <block class="Magento\Theme\Block\Html\Head\Css" name="magento-loader-js"> 45 <arguments><argument name="file" xsi:type="string">test1.css</argument></arguments> 48 [
'test1.css' =>
'test1.css'],
51 '<block class="Magento\Theme\Block\Html\Head" name="head"> 52 <block class="Magento\Theme\Block\Html\Head\Css" name="magento-loader-js"> 54 <argument name="file" xsi:type="string">Magento_Theme::test3.css</argument> 58 [
'Magento_Theme::test3.css' =>
'Magento_Theme::test3.css'],
61 '<block class="Magento\Theme\Block\Html\Head" name="head"> 62 <block class="Magento\Theme\Block\Html\Head\Css" name="magento-loader-js"> 63 <arguments><argument name="file" xsi:type="string">test.css</argument></arguments> 65 <block class="Magento\Theme\Block\Html\Head\Css" name="magento-loader-js"> 67 <argument name="file" xsi:type="string">Magento_Theme::test.css</argument> 71 <referenceBlock name="head"> 72 <block class="Magento\Theme\Block\Html\Head\Css" name="magento-loader-js"> 73 <arguments><argument name="file" xsi:type="string">testh.css</argument></arguments> 75 <block class="Magento\Theme\Block\Html\Head\Css" name="magento-loader-js"> 76 <arguments><argument name="file" xsi:type="string">Magento_Theme::test.css</argument></arguments> 79 <block type="Some_Block_Class"> 80 <block class="Magento\Theme\Block\Html\Head\Css" name="magento-loader-js"> 81 <arguments><argument name="file" xsi:type="string">testa.css</argument></arguments> 83 <block class="Magento\Theme\Block\Html\Head\Css" name="magento-loader-js"> 85 <argument name="file" xsi:type="string">Magento_Theme::testa.css</argument> 89 <referenceBlock name="some_block_name"> 90 <block class="Magento\Theme\Block\Html\Head\Css" name="magento-loader-js"> 91 <arguments><argument name="file" xsi:type="string">testb.css</argument></arguments> 93 <block class="Magento\Theme\Block\Html\Head\Css" name="magento-loader-js"> 95 <argument name="file" xsi:type="string">Magento_Theme::testb.css</argument> 100 'Magento_Theme::test.css' =>
'Magento_Theme::test.css',
101 'test.css' =>
'test.css',
102 'testh.css' =>
'testh.css',
114 protected function _getLayoutMergeFactory(
$theme, $layoutStr)
117 $layoutProcessor = $this->getMockBuilder(\
Magento\Framework\View\Layout\ProcessorInterface::class)
118 ->getMockForAbstractClass();
119 $xml =
'<layouts xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">' . $layoutStr .
'</layouts>';
120 $layoutElement = simplexml_load_string($xml);
121 $layoutProcessor->expects(
124 'getFileLayoutUpdatesXml' 126 $this->returnValue($layoutElement)
131 \
Magento\Framework\View\Layout\ProcessorFactory::class,
136 ->with([
'theme' =>
$theme])
137 ->will($this->returnValue($layoutProcessor));
getCssAssetsDataProvider()
testGetCssAssets($layoutStr, $expectedResult)