|
TYPO3 API
SVNRelease
|
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 Lesser General Public License as published by the * 00008 * Free 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 Lesser * 00014 * General Public License for more details. * 00015 * * 00016 * You should have received a copy of the GNU Lesser General Public * 00017 * License along with the script. * 00018 * If not, see http://www.gnu.org/licenses/lgpl.html * 00019 * * 00020 * The TYPO3 project - inspiring people to share! * 00021 * */ 00022 00023 /** 00024 * Testcase for TemplateVariableContainer 00025 * 00026 * @license http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License, version 3 or later 00027 */ 00028 class Tx_Fluid_Tests_Unit_Core_ViewHelper_TemplateVariableContainerTest extends Tx_Extbase_Tests_Unit_BaseTestCase { 00029 00030 /** 00031 * @author Sebastian Kurfürst <sebastian@typo3.org> 00032 */ 00033 public function setUp() { 00034 $this->variableContainer = new Tx_Fluid_Core_ViewHelper_TemplateVariableContainer(); 00035 } 00036 /** 00037 * @author Sebastian Kurfürst <sebastian@typo3.org> 00038 */ 00039 public function tearDown() { 00040 unset($this->variableContainer); 00041 } 00042 00043 /** 00044 * @test 00045 * @author Sebastian Kurfürst <sebastian@typo3.org> 00046 */ 00047 public function addedObjectsCanBeRetrievedAgain() { 00048 $object = "StringObject"; 00049 $this->variableContainer->add("variable", $object); 00050 $this->assertSame($this->variableContainer->get('variable'), $object, 'The retrieved object from the context is not the same as the stored object.'); 00051 } 00052 00053 /** 00054 * @test 00055 * @author Sebastian Kurfürst <sebastian@typo3.org> 00056 */ 00057 public function addedObjectsCanBeRetrievedAgainUsingArrayAccess() { 00058 $object = "StringObject"; 00059 $this->variableContainer['variable'] = $object; 00060 $this->assertSame($this->variableContainer->get('variable'), $object); 00061 $this->assertSame($this->variableContainer['variable'], $object); 00062 } 00063 00064 /** 00065 * @test 00066 * @author Sebastian Kurfürst <sebastian@typo3.org> 00067 */ 00068 public function addedObjectsExistInArray() { 00069 $object = "StringObject"; 00070 $this->variableContainer->add("variable", $object); 00071 $this->assertTrue($this->variableContainer->exists('variable')); 00072 $this->assertTrue(isset($this->variableContainer['variable'])); 00073 } 00074 00075 /** 00076 * @test 00077 * @author Sebastian Kurfürst <sebastian@typo3.org> 00078 */ 00079 public function addedObjectsExistInAllIdentifiers() { 00080 $object = "StringObject"; 00081 $this->variableContainer->add("variable", $object); 00082 $this->assertEquals($this->variableContainer->getAllIdentifiers(), array('variable'), 'Added key is not visible in getAllIdentifiers'); 00083 } 00084 00085 /** 00086 * @test 00087 * @expectedException Tx_Fluid_Core_ViewHelper_Exception_InvalidVariableException 00088 * @author Sebastian Kurfürst <sebastian@typo3.org> 00089 */ 00090 public function duplicateIdentifiersThrowException() { 00091 $this->variableContainer->add('variable', 'string1'); 00092 $this->variableContainer['variable'] = 'string2'; 00093 } 00094 00095 /** 00096 * @test 00097 * @expectedException Tx_Fluid_Core_ViewHelper_Exception_InvalidVariableException 00098 * @author Bastian Waidelich <bastian@typo3.org> 00099 */ 00100 public function addingReservedIdentifiersThrowException() { 00101 $this->variableContainer->add('TrUe', 'someValue'); 00102 } 00103 00104 /** 00105 * @test 00106 * @expectedException Tx_Fluid_Core_ViewHelper_Exception_InvalidVariableException 00107 * @author Sebastian Kurfürst <sebastian@typo3.org> 00108 */ 00109 public function gettingNonexistentValueThrowsException() { 00110 $this->variableContainer->get('nonexistent'); 00111 } 00112 00113 /** 00114 * @test 00115 * @expectedException Tx_Fluid_Core_ViewHelper_Exception_InvalidVariableException 00116 * @author Sebastian Kurfürst <sebastian@typo3.org> 00117 */ 00118 public function deletingNonexistentValueThrowsException() { 00119 $this->variableContainer->remove('nonexistent'); 00120 } 00121 00122 /** 00123 * @test 00124 * @expectedException Tx_Fluid_Core_ViewHelper_Exception_InvalidVariableException 00125 * @author Sebastian Kurfürst <sebastian@typo3.org> 00126 */ 00127 public function removeReallyRemovesVariables() { 00128 $this->variableContainer->add('variable', 'string1'); 00129 $this->variableContainer->remove('variable'); 00130 $this->variableContainer->get('variable'); 00131 } 00132 } 00133 00134 00135 00136 ?>
1.8.0