18 use TYPO3\TestingFramework\Fluid\Unit\ViewHelpers\ViewHelperBaseTestcase;
19 use TYPO3Fluid\Fluid\Core\ViewHelper\Exception;
43 protected function setUp()
46 $this->timezone = @date_default_timezone_get();
47 $GLOBALS[
'TYPO3_CONF_VARS'][
'SYS'][
'ddmmyy'] =
'Y-m-d';
49 $this->injectDependenciesIntoViewHelper($this->viewHelper);
54 date_default_timezone_set($this->timezone);
63 $this->setArgumentsUnderTest(
66 'date' =>
new \DateTime(
'1980-12-13')
69 $actualResult = $this->viewHelper->initializeArgumentsAndRender();
70 $this->assertEquals(
'1980-12-13', $actualResult);
78 $this->setArgumentsUnderTest(
81 'date' =>
'1980-12-13'
84 $actualResult = $this->viewHelper->initializeArgumentsAndRender();
85 $this->assertEquals(
'1980-12-13', $actualResult);
93 $this->setArgumentsUnderTest(
96 'date' =>
new \DateTime(
'1980-02-01'),
100 $actualResult = $this->viewHelper->initializeArgumentsAndRender();
101 $this->assertEquals(
'01.02.1980', $actualResult);
109 $this->setArgumentsUnderTest(
112 'date' =>
new \DateTimeImmutable(
'1980-02-01'),
116 $actualResult = $this->viewHelper->initializeArgumentsAndRender();
117 $this->assertEquals(
'01.02.1980', $actualResult);
125 $this->viewHelper->setRenderChildrenClosure(
130 $this->setArgumentsUnderTest(
135 $actualResult = $this->viewHelper->initializeArgumentsAndRender();
136 $this->assertEquals(
'', $actualResult);
144 $this->setArgumentsUnderTest(
150 $actualResult = $this->viewHelper->initializeArgumentsAndRender();
151 $expectedResult = date(
'Y-m-d',
$GLOBALS[
'EXEC_TIME']);
152 self::assertEquals($expectedResult, $actualResult);
160 $this->viewHelper->setRenderChildrenClosure(
165 $this->setArgumentsUnderTest(
170 $actualResult = $this->viewHelper->initializeArgumentsAndRender();
171 $expectedResult = date(
'Y-m-d',
$GLOBALS[
'EXEC_TIME']);
172 self::assertEquals($expectedResult, $actualResult);
180 $GLOBALS[
'TYPO3_CONF_VARS'][
'SYS'][
'ddmmyy'] =
'';
181 $this->setArgumentsUnderTest(
184 'date' =>
'@1391876733'
187 $actualResult = $this->viewHelper->initializeArgumentsAndRender();
188 $this->assertEquals(
'2014-02-08', $actualResult);
196 $GLOBALS[
'TYPO3_CONF_VARS'][
'SYS'][
'ddmmyy'] =
'l, j. M y';
197 $this->setArgumentsUnderTest(
200 'date' =>
'@1391876733'
203 $actualResult = $this->viewHelper->initializeArgumentsAndRender();
204 $this->assertEquals(
'Saturday, 8. Feb 14', $actualResult);
212 $this->expectException(Exception::class);
213 $this->expectExceptionCode(1241722579);
215 $this->setArgumentsUnderTest(
221 $this->viewHelper->initializeArgumentsAndRender();
229 $this->viewHelper->setRenderChildrenClosure(
231 return new \DateTime(
'1980-12-13');
234 $this->setArgumentsUnderTest(
239 $actualResult = $this->viewHelper->initializeArgumentsAndRender();
240 $this->assertEquals(
'1980-12-13', $actualResult);
248 $this->viewHelper->setRenderChildrenClosure(
250 return '1359891658' . LF;
253 $this->setArgumentsUnderTest(
258 $actualResult = $this->viewHelper->initializeArgumentsAndRender();
259 $this->assertEquals(
'2013-02-03', $actualResult);
267 $this->setArgumentsUnderTest(
270 'date' =>
'1980-12-12'
273 $actualResult = $this->viewHelper->initializeArgumentsAndRender();
274 $this->assertEquals(
'1980-12-12', $actualResult);
282 $this->setArgumentsUnderTest(
289 $actualResult = $this->viewHelper->initializeArgumentsAndRender();
290 $this->assertEquals(date(
'Y'), $actualResult);
298 $this->setArgumentsUnderTest(
303 'base' =>
'2017-01-01'
306 $actualResult = $this->viewHelper->initializeArgumentsAndRender();
307 $this->assertEquals(
'2016', $actualResult);
315 $this->setArgumentsUnderTest(
320 'base' =>
new \DateTime(
'2017-01-01')
323 $actualResult = $this->viewHelper->initializeArgumentsAndRender();
324 $this->assertEquals(
'2016', $actualResult);
332 $this->setArgumentsUnderTest(
335 'date' =>
'@1435784732',
340 $actualResult = $this->viewHelper->initializeArgumentsAndRender();
341 $this->assertEquals(
'2015', $actualResult);
370 $format =
'Y-m-d H:i';
373 $this->setArgumentsUnderTest(
380 $actualResult = $this->viewHelper->initializeArgumentsAndRender();
381 $this->assertEquals($expected, $actualResult);
392 'Europe/Berlin UTC' => [
397 'Europe/Berlin Moscow' => [
399 '03/Oct/2000:14:55:36 +0400',
402 'Asia/Riyadh UTC' => [
407 'Asia/Riyadh Moscow' => [
409 '03/Oct/2000:14:55:36 +0400',
422 $format =
'Y-m-d H:i';
424 date_default_timezone_set($timeZone);
425 $this->setArgumentsUnderTest(
432 $actualResult = $this->viewHelper->initializeArgumentsAndRender();
433 $this->assertEquals($expected, $actualResult);