33 private $objectManagerMock;
43 private $filesystemMock;
57 $this->objectManagerMock = $this->getMockBuilder(ObjectManagerInterface::class)
58 ->getMockForAbstractClass();
59 $this->configMock = $this->getMockBuilder(ConfigInterface::class)
60 ->getMockForAbstractClass();
61 $this->filesystemMock = $this->getMockBuilder(Filesystem::class)
62 ->disableOriginalConstructor()
64 $this->directoryMock = $this->getMockBuilder(
Filesystem\Directory\Write::class)
65 ->disableOriginalConstructor()
67 $this->stateMock = $this->getMockBuilder(State::class)
68 ->disableOriginalConstructor()
70 $this->filesystemMock->expects($this->any())
71 ->method(
'getDirectoryWrite')
72 ->willReturn($this->directoryMock);
74 $this->
object = (
new ObjectManager($this))->getObject(MergeService::class, [
75 'objectManager' => $this->objectManagerMock,
76 'config' => $this->configMock,
77 'filesystem' => $this->filesystemMock,
78 'state' => $this->stateMock,
88 $this->
object->getMergedAssets([],
'unknown');
100 $mergedAsset = $this->createMock(AssetInterface::class);
101 $mergeStrategyMock = $this->createMock($mergeStrategy);
103 $this->configMock->expects($this->once())->method(
'isMergeCssFiles')->willReturn(
true);
104 $this->configMock->expects($this->once())->method(
'isMergeJsFiles')->willReturn(
true);
106 $this->objectManagerMock->expects($this->once())
108 ->with(Merged::class, [
'assets' => $assets,
'mergeStrategy' => $mergeStrategyMock])
109 ->willReturn($mergedAsset);
110 $this->objectManagerMock->expects($this->once())
112 ->with($mergeStrategy)
113 ->willReturn($mergeStrategyMock);
114 $this->stateMock->expects($this->once())
116 ->willReturn($appMode);
118 $this->assertSame($mergedAsset, $this->object->getMergedAssets($assets, $contentType));
127 new \Magento\Framework\View\Asset\Remote(
'http://127.0.0.1/magento/script_one.js'),
128 new \Magento\Framework\View\Asset\Remote(
'http://127.0.0.1/magento/script_two.js'),
131 new \Magento\Framework\View\Asset\Remote(
'http://127.0.0.1/magento/style_one.css'),
132 new \Magento\Framework\View\Asset\Remote(
'http://127.0.0.1/magento/style_two.css'),
135 'js production mode' => [
141 'css production mode' => [
147 'js default mode' => [
153 'css default mode' => [
159 'js developer mode' => [
165 'css developer mode' => [
176 $mergedDir = \Magento\Framework\View\Asset\Merged::getRelativeDir();
178 $this->directoryMock->expects($this->once())
182 $this->
object->cleanMergedJsCss();
static getMergedAssetsDataProvider()
testGetMergedAssetsWrongContentType()
testGetMergedAssets(array $assets, $contentType, $appMode, $mergeStrategy)