![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/framework/Image/Test/Unit/Adapter/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); /** * Test class for \Magento\Framework\Image\Adapter\AbstractAdapter. */ namespace Magento\Framework\Image\Test\Unit\Adapter; use Magento\Framework\Filesystem; use Magento\Framework\Filesystem\Directory\Write; use Magento\Framework\Image\Adapter\AbstractAdapter; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; use Psr\Log\LoggerInterface; class AbstractTest extends TestCase { /** * @var AbstractAdapter */ protected $_model; /** * @var MockObject|Write */ protected $directoryWriteMock; /** * @var MockObject|Filesystem */ protected $filesystemMock; /** * @var MockObject|LoggerInterface */ protected $loggerMock; protected function setUp(): void { $this->directoryWriteMock = $this->createMock(Write::class); $this->filesystemMock = $this->getMockBuilder(Filesystem::class) ->addMethods(['createDirectory']) ->onlyMethods(['getDirectoryWrite']) ->disableOriginalConstructor() ->getMock(); $this->filesystemMock->expects( $this->once() )->method( 'getDirectoryWrite' )->willReturn( $this->directoryWriteMock ); $this->loggerMock = $this->getMockBuilder(LoggerInterface::class) ->getMock(); $this->_model = $this->getMockForAbstractClass( AbstractAdapter::class, [$this->filesystemMock, $this->loggerMock] ); } protected function tearDown(): void { $this->directoryWriteMock = null; $this->_model = null; $this->filesystemMock = null; $this->loggerMock = null; } /** * Test adaptResizeValues with null as a value one of parameters * * @dataProvider adaptResizeValuesDataProvider */ public function testAdaptResizeValues($width, $height, $expectedResult) { $method = new \ReflectionMethod($this->_model, '_adaptResizeValues'); $method->setAccessible(true); $result = $method->invoke($this->_model, $width, $height); $this->assertEquals($expectedResult, $result); } /** * @return array */ public function adaptResizeValuesDataProvider() { $expected = [ 'src' => ['x' => 0, 'y' => 0], 'dst' => ['x' => 0, 'y' => 0, 'width' => 135, 'height' => 135], 'frame' => ['width' => 135, 'height' => 135], ]; return [[135, null, $expected], [null, 135, $expected]]; } /** * @dataProvider prepareDestinationDataProvider */ public function testPrepareDestination($destination, $newName, $expectedResult) { $property = new \ReflectionProperty(get_class($this->_model), '_fileSrcPath'); $property->setAccessible(true); $property->setValue($this->_model, '_fileSrcPath'); $property = new \ReflectionProperty(get_class($this->_model), '_fileSrcName'); $property->setAccessible(true); $property->setValue($this->_model, '_fileSrcName'); $method = new \ReflectionMethod($this->_model, '_prepareDestination'); $method->setAccessible(true); $result = $method->invoke($this->_model, $destination, $newName); $this->assertEquals($expectedResult, $result); } /** * @return array */ public function prepareDestinationDataProvider() { return [ [__DIR__, 'name.txt', __DIR__ . '/name.txt'], [__DIR__ . '/name.txt', null, __DIR__ . '/name.txt'], [null, 'name.txt', '_fileSrcPath' . '/name.txt'], [null, null, '_fileSrcPath' . '/_fileSrcName'] ]; } }