‪TYPO3CMS  11.5
ImageViewHelperTest.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 
22 use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
23 use TYPO3Fluid\Fluid\Core\ViewHelper\Exception;
24 
25 class ‪ImageViewHelperTest extends FunctionalTestCase
26 {
27  public function ‪invalidArgumentsDataProvider(): array
28  {
29  return [
30  [['src' => '', 'image' => null], 1382284106],
31  [['src' => null, 'image' => null], 1382284106],
32  [['src' => '', 'image' => null], 1382284106],
33  [['src' => 'something', 'image' => 'something'], 1382284106],
34  [['src' => 'something', 'image' => null, 'fileExtension' => 'dummy'], 1618989190],
35  ];
36  }
37 
42  public function ‪renderThrowsExceptionOnInvalidArguments(array $arguments, int $expectedExceptionCode): void
43  {
44  $this->expectException(Exception::class);
45  $this->expectExceptionCode($expectedExceptionCode);
46 
47  $viewHelper = new ‪ImageViewHelper();
48  $viewHelper->setArguments($arguments);
49  $viewHelper->render();
50  }
51 
53  {
54  return [
55  'crop false' => [
56  '<f:image src="EXT:fluid/Tests/Functional/Fixtures/ViewHelpers/ImageViewHelperTest.jpg" width="300" height="500" crop="false" />',
57  '@^<img src="typo3temp/assets/_processed_/b/3/csm_ImageViewHelperTest_.*\.jpg" width="300" height="500" alt="" />$@',
58  ],
59  'crop null' => [
60  '<f:image src="EXT:fluid/Tests/Functional/Fixtures/ViewHelpers/ImageViewHelperTest.jpg" width="300" height="500" crop="null" />',
61  '@^<img src="typo3temp/assets/_processed_/b/3/csm_ImageViewHelperTest_.*\.jpg" width="300" height="500" alt="" />$@',
62  ],
63  'crop as array' => [
64  '<f:image src="EXT:fluid/Tests/Functional/Fixtures/ViewHelpers/ImageViewHelperTest.jpg" width="300" height="500" crop="{\'x\': 200, \'y\': 200, \'width\': 200, \'height\': 200}" />',
65  '@^<img src="typo3temp/assets/_processed_/b/3/csm_ImageViewHelperTest_.*\.jpg" width="300" height="500" alt="" />$@',
66  ],
67  'jpg file extension' => [
68  '<f:image src="EXT:fluid/Tests/Functional/Fixtures/ViewHelpers/ImageViewHelperTest.jpg" width="300" height="500" crop="null" fileExtension="jpg" />',
69  '@^<img src="typo3temp/assets/_processed_/b/3/csm_ImageViewHelperTest_.*\.jpg" width="300" height="500" alt="" />$@',
70  ],
71  ];
72  }
73 
78  public function ‪renderReturnsExpectedMarkup(string $template, string $expected): void
79  {
80  $this->setUpBackendUserFromFixture(1);
81  $view = new ‪StandaloneView();
82  $view->setTemplateSource($template);
83  self::assertMatchesRegularExpression($expected, $view->render());
84  }
85 }
‪TYPO3\CMS\Fluid\Tests\Functional\ViewHelpers\ImageViewHelperTest
Definition: ImageViewHelperTest.php:26
‪TYPO3\CMS\Fluid\Tests\Functional\ViewHelpers\ImageViewHelperTest\invalidArgumentsDataProvider
‪invalidArgumentsDataProvider()
Definition: ImageViewHelperTest.php:27
‪TYPO3\CMS\Fluid\Tests\Functional\ViewHelpers
‪TYPO3\CMS\Fluid\ViewHelpers\ImageViewHelper
Definition: ImageViewHelper.php:92
‪TYPO3\CMS\Fluid\Tests\Functional\ViewHelpers\ImageViewHelperTest\renderReturnsExpectedMarkup
‪renderReturnsExpectedMarkup(string $template, string $expected)
Definition: ImageViewHelperTest.php:78
‪TYPO3\CMS\Fluid\Tests\Functional\ViewHelpers\ImageViewHelperTest\renderThrowsExceptionOnInvalidArguments
‪renderThrowsExceptionOnInvalidArguments(array $arguments, int $expectedExceptionCode)
Definition: ImageViewHelperTest.php:42
‪TYPO3\CMS\Fluid\View\StandaloneView
Definition: StandaloneView.php:31
‪TYPO3\CMS\Fluid\Tests\Functional\ViewHelpers\ImageViewHelperTest\renderReturnsExpectedMarkupDataProvider
‪renderReturnsExpectedMarkupDataProvider()
Definition: ImageViewHelperTest.php:52