aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/UtilsTest.php
diff options
context:
space:
mode:
authorArthurHoaro <arthur@hoa.ro>2017-03-10 20:06:01 +0100
committerArthurHoaro <arthur@hoa.ro>2017-04-03 18:53:43 +0200
commit84315a3bad02652e5ea26586fab003eaaf467e30 (patch)
tree6093f77c2af6c57524b7b0a7795089167438f5e5 /tests/UtilsTest.php
parentd9d49b687afcb4c88a88390a7ff30b431ca6be12 (diff)
downloadShaarli-84315a3bad02652e5ea26586fab003eaaf467e30.tar.gz
Shaarli-84315a3bad02652e5ea26586fab003eaaf467e30.tar.zst
Shaarli-84315a3bad02652e5ea26586fab003eaaf467e30.zip
Fix a warning generated in return_bytes function and refactor it
It was multiplying a string containing a letter. Moved function to Utils.php and display a human readable limit size
Diffstat (limited to 'tests/UtilsTest.php')
-rw-r--r--tests/UtilsTest.php80
1 files changed, 80 insertions, 0 deletions
diff --git a/tests/UtilsTest.php b/tests/UtilsTest.php
index e70cc1ae..e95c6248 100644
--- a/tests/UtilsTest.php
+++ b/tests/UtilsTest.php
@@ -4,6 +4,7 @@
4 */ 4 */
5 5
6require_once 'application/Utils.php'; 6require_once 'application/Utils.php';
7require_once 'application/Languages.php';
7require_once 'tests/utils/ReferenceSessionIdHashes.php'; 8require_once 'tests/utils/ReferenceSessionIdHashes.php';
8 9
9// Initialize reference data before PHPUnit starts a session 10// Initialize reference data before PHPUnit starts a session
@@ -326,4 +327,83 @@ class UtilsTest extends PHPUnit_Framework_TestCase
326 $this->assertFalse(format_date([])); 327 $this->assertFalse(format_date([]));
327 $this->assertFalse(format_date(null)); 328 $this->assertFalse(format_date(null));
328 } 329 }
330
331 /**
332 * Test is_integer_mixed with valid values
333 */
334 public function testIsIntegerMixedValid()
335 {
336 $this->assertTrue(is_integer_mixed(12));
337 $this->assertTrue(is_integer_mixed('12'));
338 $this->assertTrue(is_integer_mixed(-12));
339 $this->assertTrue(is_integer_mixed('-12'));
340 $this->assertTrue(is_integer_mixed(0));
341 $this->assertTrue(is_integer_mixed('0'));
342 $this->assertTrue(is_integer_mixed(0x0a));
343 }
344
345 /**
346 * Test is_integer_mixed with invalid values
347 */
348 public function testIsIntegerMixedInvalid()
349 {
350 $this->assertFalse(is_integer_mixed(true));
351 $this->assertFalse(is_integer_mixed(false));
352 $this->assertFalse(is_integer_mixed([]));
353 $this->assertFalse(is_integer_mixed(['test']));
354 $this->assertFalse(is_integer_mixed([12]));
355 $this->assertFalse(is_integer_mixed(new DateTime()));
356 $this->assertFalse(is_integer_mixed('0x0a'));
357 $this->assertFalse(is_integer_mixed('12k'));
358 $this->assertFalse(is_integer_mixed('k12'));
359 $this->assertFalse(is_integer_mixed(''));
360 }
361
362 /**
363 * Test return_bytes
364 */
365 public function testReturnBytes()
366 {
367 $this->assertEquals(2 * 1024, return_bytes('2k'));
368 $this->assertEquals(2 * 1024, return_bytes('2K'));
369 $this->assertEquals(2 * (1024 ** 2), return_bytes('2m'));
370 $this->assertEquals(2 * (1024 ** 2), return_bytes('2M'));
371 $this->assertEquals(2 * (1024 ** 3), return_bytes('2g'));
372 $this->assertEquals(2 * (1024 ** 3), return_bytes('2G'));
373 $this->assertEquals(374, return_bytes('374'));
374 $this->assertEquals(374, return_bytes(374));
375 $this->assertEquals(0, return_bytes('0'));
376 $this->assertEquals(0, return_bytes(0));
377 $this->assertEquals(-1, return_bytes('-1'));
378 $this->assertEquals(-1, return_bytes(-1));
379 $this->assertEquals('', return_bytes(''));
380 }
381
382 /**
383 * Test human_bytes
384 */
385 public function testHumanBytes()
386 {
387 $this->assertEquals('2kiB', human_bytes(2 * 1024));
388 $this->assertEquals('2kiB', human_bytes(strval(2 * 1024)));
389 $this->assertEquals('2MiB', human_bytes(2 * (1024 ** 2)));
390 $this->assertEquals('2MiB', human_bytes(strval(2 * (1024 ** 2))));
391 $this->assertEquals('2GiB', human_bytes(2 * (1024 ** 3)));
392 $this->assertEquals('2GiB', human_bytes(strval(2 * (1024 ** 3))));
393 $this->assertEquals('374B', human_bytes(374));
394 $this->assertEquals('374B', human_bytes('374'));
395 $this->assertEquals('Unlimited', human_bytes('0'));
396 $this->assertEquals('Unlimited', human_bytes(0));
397 $this->assertEquals('Setting not set', human_bytes(''));
398 }
399
400 /**
401 * Test get_max_upload_size
402 */
403 public function testGetMaxUploadSize()
404 {
405 $this->assertEquals('1MiB', get_max_upload_size(2097152, '1024k'));
406 $this->assertEquals('1MiB', get_max_upload_size('1m', '2m'));
407 $this->assertEquals('100B', get_max_upload_size(100, 100));
408 }
329} 409}