‪TYPO3CMS  11.5
ClosureFinisherTest.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 
20 use Prophecy\Argument;
21 use Prophecy\PhpUnit\ProphecyTrait;
25 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
26 
30 class ‪ClosureFinisherTest extends UnitTestCase
31 {
32  use ProphecyTrait;
33 
38  {
39  $closure = static function (‪FinisherContext $finisherContext) {
40  return 'foobar';
41  };
42 
43  $mockClosureFinisher = $this->getAccessibleMock(ClosureFinisher::class, ['dummy'], [], '', false);
44  $mockClosureFinisher->_set('options', [
45  'closure' => $closure,
46  ]);
47 
48  $finisherContextProphecy = $this->prophesize(FinisherContext::class);
49  $formRuntimeProphecy = $this->prophesize(FormRuntime::class);
50  $finisherContextProphecy->getFormRuntime(Argument::cetera())->willReturn($formRuntimeProphecy->reveal());
51 
52  $revealedFinisherContext = $finisherContextProphecy->reveal();
53 
54  $mockClosureFinisher->_set('finisherContext', $revealedFinisherContext);
55  $closure = $mockClosureFinisher->_call('parseOption', 'closure');
56 
57  self::assertSame('foobar', $closure($revealedFinisherContext));
58  }
59 }
‪TYPO3\CMS\Form\Domain\Finishers\ClosureFinisher
Definition: ClosureFinisher.php:42
‪TYPO3\CMS\Form\Tests\Unit\Domain\Finishers\ClosureFinisherTest\closureOptionForFinisherCanBeSetAndIsFunctional
‪closureOptionForFinisherCanBeSetAndIsFunctional()
Definition: ClosureFinisherTest.php:36
‪TYPO3\CMS\Form\Domain\Finishers\FinisherContext
Definition: FinisherContext.php:38
‪TYPO3\CMS\Form\Tests\Unit\Domain\Finishers\ClosureFinisherTest
Definition: ClosureFinisherTest.php:31
‪TYPO3\CMS\Form\Domain\Runtime\FormRuntime
Definition: FormSession.php:18
‪TYPO3\CMS\Form\Tests\Unit\Domain\Finishers
Definition: AbstractFinisherTest.php:18