‪TYPO3CMS  11.5
LocalPreviewHelperTest.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
23 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
24 
28 class ‪LocalPreviewHelperTest extends UnitTestCase
29 {
34  {
35  $file = $this->createMock(File::class);
36  // Use size slightly larger than default size to ensure processing
37  $file->method('getProperty')->willReturnMap([
38  ['width', 65],
39  ['height', 65],
40  ]);
41 
42  $task = $this->createMock(TaskInterface::class);
43  $task->expects(self::once())->method('getSourceFile')->willReturn($file);
44  $task->expects(self::once())->method('getConfiguration')->willReturn([]);
45 
46  $localPreviewHelper = $this->getMockBuilder(LocalPreviewHelper::class)
47  ->disableOriginalConstructor()
48  ->onlyMethods(['getTemporaryFilePath', 'generatePreviewFromFile'])
49  ->getMock();
50  $localPreviewHelper->expects(self::once())->method('getTemporaryFilePath')->willReturn('test/file');
51  // Assert that by default 64x64 is used as preview size
52  $localPreviewHelper->expects(self::once())->method('generatePreviewFromFile')
53  ->with($file, ['width' => 64, 'height' => 64], 'test/file');
54 
55  $localPreviewHelper->process($task);
56  }
57 
61  public function ‪processDoesNotScaleUpImages(): void
62  {
63  $file = $this->createMock(File::class);
64  $file->method('getProperty')->willReturnMap([
65  ['width', 20],
66  ['height', 20],
67  ]);
68 
69  $localPreviewHelper = $this->getMockBuilder(LocalPreviewHelper::class)
70  ->disableOriginalConstructor()
71  ->addMethods(['dummy'])
72  ->getMock();
73 
74  $task = $this->createMock(TaskInterface::class);
75  $task->expects(self::once())->method('getSourceFile')->willReturn($file);
76  $task->expects(self::once())->method('getConfiguration')->willReturn(['width' => 30, 'height' => 30]);
77 
78  self::assertNull($localPreviewHelper->process($task));
79  }
80 
85  {
86  $file = $this->createMock(File::class);
87  $file->method('getProperty')->willReturnMap([
88  ['width', 0],
89  ['height', 0],
90  ]);
91 
92  $task = $this->createMock(TaskInterface::class);
93  $task->expects(self::once())->method('getSourceFile')->willReturn($file);
94  $task->expects(self::once())->method('getConfiguration')->willReturn([]);
95 
96  $localPreviewHelper = $this->getMockBuilder(LocalPreviewHelper::class)
97  ->disableOriginalConstructor()
98  ->onlyMethods(['getTemporaryFilePath', 'generatePreviewFromFile'])
99  ->getMock();
100  $expectedResult = ['width' => 20, 'height' => 20, 'filePath' => 'test/file'];
101  $localPreviewHelper->expects(self::once())->method('generatePreviewFromFile')->willReturn($expectedResult);
102  $localPreviewHelper->expects(self::once())->method('getTemporaryFilePath')->willReturn('foo_file');
103 
104  self::assertEquals($expectedResult, $localPreviewHelper->process($task));
105  }
106 }
‪TYPO3\CMS\Core\Resource\Processing\LocalPreviewHelper
Definition: LocalPreviewHelper.php:29
‪TYPO3\CMS\Core\Tests\Unit\Resource\Processing\LocalPreviewHelperTest
Definition: LocalPreviewHelperTest.php:29
‪TYPO3\CMS\Core\Resource\Processing\TaskInterface
Definition: TaskInterface.php:33
‪TYPO3\CMS\Core\Tests\Unit\Resource\Processing\LocalPreviewHelperTest\processGeneratesPreviewEvenIfSourceFileHasNoSize
‪processGeneratesPreviewEvenIfSourceFileHasNoSize()
Definition: LocalPreviewHelperTest.php:84
‪TYPO3\CMS\Core\Tests\Unit\Resource\Processing\LocalPreviewHelperTest\processDoesNotScaleUpImages
‪processDoesNotScaleUpImages()
Definition: LocalPreviewHelperTest.php:61
‪TYPO3\CMS\Core\Tests\Unit\Resource\Processing
Definition: LocalPreviewHelperTest.php:18
‪TYPO3\CMS\Core\Resource\File
Definition: File.php:24
‪TYPO3\CMS\Core\Tests\Unit\Resource\Processing\LocalPreviewHelperTest\processProvidesDefaultSizeIfNotConfigured
‪processProvidesDefaultSizeIfNotConfigured()
Definition: LocalPreviewHelperTest.php:33