コード例 #1
0
ファイル: Manager.php プロジェクト: shabbirvividads/magento2
 /**
  * Add asset to the bundle
  *
  * @param LocalInterface $asset
  * @return bool
  */
 public function addAsset(LocalInterface $asset)
 {
     if (!$this->isValidAsset($asset)) {
         return false;
     }
     $this->bundle->addAsset($asset);
     return true;
 }
コード例 #2
0
 /**
  * @return void
  * @covers \Magento\Framework\View\Asset\Bundle::getAssetKey
  * @covers \Magento\Framework\View\Asset\Bundle::save
  */
 public function testMinSuffix()
 {
     $this->minificationMock->expects($this->any())->method('addMinifiedSign')->withConsecutive(['onefile.js'], ['onefile.js'], ['/js/bundle/bundle0.js'])->willReturnOnConsecutiveCalls('onefile.min.js', 'onefile.min.js', '/js/bundle/bundle0.min.js');
     $contextMock = $this->getMockBuilder('Magento\\Framework\\View\\Asset\\File\\FallbackContext')->disableOriginalConstructor()->getMock();
     $contextMock->expects($this->any())->method('getAreaCode')->willReturn('area');
     $contextMock->expects($this->any())->method('getThemePath')->willReturn('theme-path');
     $contextMock->expects($this->any())->method('getLocale')->willReturn('locale');
     $assetMock = $this->getMockBuilder('Magento\\Framework\\View\\Asset\\LocalInterface')->setMethods(['getContentType', 'getContext'])->getMockForAbstractClass();
     $assetMock->expects($this->any())->method('getContext')->willReturn($contextMock);
     $assetMock->expects($this->any())->method('getContentType')->willReturn('js');
     $assetMock->expects($this->any())->method('getFilePath')->willReturn('onefile.js');
     $writeMock = $this->getMockBuilder('Magento\\Framework\\Filesystem\\Directory\\WriteInterface')->getMockForAbstractClass();
     $writeMock->expects($this->once())->method('writeFile')->with('/js/bundle/bundle0.min.js', $this->stringContains('onefile.min.js'));
     $this->filesystemMock->expects($this->any())->method('getDirectoryWrite')->willReturn($writeMock);
     $this->bundle->addAsset($assetMock);
     $this->bundle->flush();
 }