Fixed bug #9779: t3lib_div::trimExplode limit parameter leads to wrong result with...
[Packages/TYPO3.CMS.git] / tests / t3lib / t3lib_div_testcase.php
index 6568458..74dc675 100644 (file)
@@ -68,9 +68,9 @@ class t3lib_div_testcase extends tx_phpunit_testcase {
        /**
         * @test
         */
-       public function checkTrimExplodeLimitsResults() {
+       public function checkTrimExplodeLimitsResultsToFirstXElementsWithPositiveParameter() {
                $testString = ' a , b , c , , d,, ,e ';
-               $expectedArray = array('a', 'b', 'c , , d,, ,e'); // limiting returns the rest of the string as the last element
+               $expectedArray = array('a', 'b', 'c'); // limiting returns the rest of the string as the last element
                $actualArray = t3lib_div::trimExplode(',', $testString, false, 3);
 
                $this->assertEquals($expectedArray, $actualArray);
@@ -79,6 +79,17 @@ class t3lib_div_testcase extends tx_phpunit_testcase {
        /**
         * @test
         */
+       public function checkTrimExplodeLimitsResultsToLastXElementsWithNegativeParameter() {
+               $testString = ' a , b , c , d, ,e, f , , ';
+               $expectedArray = array('a', 'b', 'c'); // limiting returns the rest of the string as the last element
+               $actualArray = t3lib_div::trimExplode(',', $testString, true, -3);
+
+               $this->assertEquals($expectedArray, $actualArray);
+       }
+
+       /**
+        * @test
+        */
        public function checkTrimExplodeKeepsZeroAsString() {
                $testString = 'a , b , c , ,d ,, ,e,f, 0 ,';
                $expectedArray = array('a', 'b', 'c', 'd', 'e', 'f', '0');