[TASK] Add unittests for t3lib_div::formatSize
authorTolleiv Nietsch <info@tolleiv.de>
Sat, 19 May 2012 11:49:26 +0000 (13:49 +0200)
committerSusanne Moog <typo3@susannemoog.de>
Sat, 19 May 2012 20:24:23 +0000 (22:24 +0200)
Some of the most basic functions should be covered with unit tests.

Change-Id: If9466ebdf9d7177de298db14c5460cddfcc5cbe1
Resolves: #37297
Releases: 6.0
Reviewed-on: http://review.typo3.org/11296
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
Reviewed-by: Susanne Moog
Tested-by: Susanne Moog
tests/Unit/t3lib/class.t3lib_divTest.php

index 42b0ca3..6d26ab0 100644 (file)
@@ -726,6 +726,39 @@ class t3lib_divTest extends tx_phpunit_testcase {
                $this->assertFalse(t3lib_div::isFirstPartOfStr($string, $part));
        }
 
+       ///////////////////////////////
+       // Tests concerning formatSize
+       ///////////////////////////////
+
+       /**
+        * @test
+        * @dataProvider formatSizeDataProvider
+        */
+       public function formatSizeTranslatesBytesToHigherOrderRepresentation($size, $label, $expected) {
+               $this->assertEquals($expected, t3lib_div::formatSize($size, $label));
+       }
+
+       /**
+        * Data provider for formatSizeTranslatesBytesToHigherOrderRepresentation
+        *
+        * @return array
+        */
+       public function formatSizeDataProvider() {
+               return array(
+                       'Bytes keep beeing bytes (min)' => array(1, '', '1 '),
+                       'Bytes keep beeing bytes (max)' => array(899, '', '899 '),
+                       'Kilobytes are detected' => array(1024, '', '1.0 K'),
+                       'Megabytes are detected' => array(1048576, '', '1.0 M'),
+                       'Gigabytes are detected' => array(1073741824, '', '1.0 G'),
+                       'Decimal is omitted for large kilobytes' => array(31080, '', '30 K'),
+                       'Decimal is omitted for large megabytes' => array(31458000, '', '30 M'),
+                       'Decimal is omitted for large gigabytes' => array(32212254720, '', '30 G'),
+                       'Label for bytes can be exchanged' => array(1, ' Foo|||', '1 Foo'),
+                       'Label for kilobytes can be exchanged' => array(1024, '| Foo||', '1.0 Foo'),
+                       'Label for megabyes can be exchanged' => array(1048576, '|| Foo|', '1.0 Foo'),
+                       'Label for gigabytes can be exchanged' => array(1073741824, '||| Foo', '1.0 Foo')
+               );
+       }
 
        ///////////////////////////////
        // Tests concerning splitCalc