TYPO3 API  SVNRelease
DateViewHelperTest.php
Go to the documentation of this file.
00001 <?php
00002 
00003 /*                                                                        *
00004  * This script belongs to the FLOW3 package "Fluid".                      *
00005  *                                                                        *
00006  * It is free software; you can redistribute it and/or modify it under    *
00007  * the terms of the GNU General Public License as published by the Free   *
00008  * Software Foundation, either version 3 of the License, or (at your      *
00009  * option) any later version.                                             *
00010  *                                                                        *
00011  * This script is distributed in the hope that it will be useful, but     *
00012  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN-    *
00013  * TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General      *
00014  * Public License for more details.                                       *
00015  *                                                                        *
00016  * You should have received a copy of the GNU General Public License      *
00017  * along with the script.                                                 *
00018  * If not, see http://www.gnu.org/licenses/gpl.html                       *
00019  *                                                                        *
00020  * The TYPO3 project - inspiring people to share!                         *
00021  *                                                                        */
00022 
00023 /**
00024  */
00025 class Tx_Fluid_Tests_Unit_ViewHelpers_Format_DateViewHelperTest extends Tx_Extbase_Tests_Unit_BaseTestCase {
00026 
00027     /**
00028      * @test
00029      * @author Bastian Waidelich <bastian@typo3.org>
00030      */
00031     public function viewHelperFormatsDateCorrectly() {
00032         $viewHelper = new Tx_Fluid_ViewHelpers_Format_DateViewHelper();
00033         $actualResult = $viewHelper->render(new DateTime('1980-12-13'));
00034         $this->assertEquals('1980-12-13', $actualResult);
00035     }
00036 
00037     /**
00038      * @test
00039      * @author Bastian Waidelich <bastian@typo3.org>
00040      */
00041     public function viewHelperFormatsDateStringCorrectly() {
00042         $viewHelper = new Tx_Fluid_ViewHelpers_Format_DateViewHelper();
00043         $actualResult = $viewHelper->render('1980-12-13');
00044         $this->assertEquals('1980-12-13', $actualResult);
00045     }
00046 
00047     /**
00048      * @test
00049      * @author Bastian Waidelich <bastian@typo3.org>
00050      */
00051     public function viewHelperRespectsCustomFormat() {
00052         $viewHelper = new Tx_Fluid_ViewHelpers_Format_DateViewHelper();
00053         $actualResult = $viewHelper->render(new DateTime('1980-02-01'), 'd.m.Y');
00054         $this->assertEquals('01.02.1980', $actualResult);
00055     }
00056 
00057     /**
00058      * @test
00059      * @author Bastian Waidelich <bastian@typo3.org>
00060      */
00061     public function viewHelperReturnsEmptyStringIfNULLIsGiven() {
00062         $viewHelper = $this->getMock('Tx_Fluid_ViewHelpers_Format_DateViewHelper', array('renderChildren'));
00063         $viewHelper->expects($this->once())->method('renderChildren')->will($this->returnValue(NULL));
00064         $actualResult = $viewHelper->render();
00065         $this->assertEquals('', $actualResult);
00066     }
00067 
00068     /**
00069      * @test
00070      * @expectedException Tx_Fluid_Core_ViewHelper_Exception
00071      * @author Bastian Waidelich <bastian@typo3.org>
00072      */
00073     public function viewHelperThrowsExceptionIfDateStringCantBeParsed() {
00074         $viewHelper = new Tx_Fluid_ViewHelpers_Format_DateViewHelper();
00075         $viewHelper->render('foo');
00076     }
00077 
00078     /**
00079      * @test
00080      * @author Bastian Waidelich <bastian@typo3.org>
00081      */
00082     public function viewHelperUsesChildNodesIfDateAttributeIsNotSpecified() {
00083         $viewHelper = $this->getMock('Tx_Fluid_ViewHelpers_Format_DateViewHelper', array('renderChildren'));
00084         $viewHelper->expects($this->once())->method('renderChildren')->will($this->returnValue(new DateTime('1980-12-13')));
00085         $actualResult = $viewHelper->render();
00086         $this->assertEquals('1980-12-13', $actualResult);
00087     }
00088 
00089     /**
00090      * @test
00091      * @author Bastian Waidelich <bastian@typo3.org>
00092      */
00093     public function dateArgumentHasPriorityOverChildNodes() {
00094         $viewHelper = $this->getMock('Tx_Fluid_ViewHelpers_Format_DateViewHelper', array('renderChildren'));
00095         $viewHelper->expects($this->never())->method('renderChildren');
00096         $actualResult = $viewHelper->render('1980-12-12');
00097         $this->assertEquals('1980-12-12', $actualResult);
00098     }
00099 }
00100 ?>