summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--application/test/tests/test_filebin_helper.php70
1 files changed, 70 insertions, 0 deletions
diff --git a/application/test/tests/test_filebin_helper.php b/application/test/tests/test_filebin_helper.php
new file mode 100644
index 000000000..edebb13ca
--- /dev/null
+++ b/application/test/tests/test_filebin_helper.php
@@ -0,0 +1,70 @@
+<?php
+/*
+ * Copyright 2016 Florian "Bluewind" Pritz <bluewind@server-speed.net>
+ *
+ * Licensed under AGPLv3
+ * (see COPYING for full license text)
+ *
+ */
+
+namespace test\tests;
+
+class test_filebin_helper extends \test\Test {
+
+ public function __construct()
+ {
+ parent::__construct();
+ }
+
+ public function init()
+ {
+ }
+
+ public function cleanup()
+ {
+ }
+
+ public function test_format_bytes()
+ {
+ $this->t->is(format_bytes(500), "500B", "500B");
+ $this->t->is(format_bytes(1500), "1500B", "1500B");
+ $this->t->is(format_bytes(1500*1024), "1500.00KiB", "1500.00KiB");
+ $this->t->is(format_bytes(1500*1024*1024), "1500.00MiB", "1500.00MiB");
+ $this->t->is(format_bytes(1500*1024*1024*1024), "1500.00GiB", "1500.00GiB");
+ $this->t->is(format_bytes(1500*1024*1024*1024*1024), "1500.00TiB", "1500.00TiB");
+ $this->t->is(format_bytes(1500*1024*1024*1024*1024*1024), "1500.00PiB", "1500.00PiB");
+ }
+
+ public function test_even_odd()
+ {
+ $this->t->is(even_odd(true), "odd", "odd after reset");
+ $this->t->is(even_odd(), "even", "even");
+ $this->t->is(even_odd(), "odd", "odd");
+ $this->t->is(even_odd(true), "odd", "odd after reset");
+ }
+
+ public function test_mb_str_pad()
+ {
+ $this->t->is(mb_str_pad('test', 6), 'test ', 'Simple test with length=6');
+ $this->t->is(mb_str_pad('絫ö', 6), '絫ö ', 'UTF8 test with length=6');
+ }
+
+ public function test_files_are_equal()
+ {
+ $a1 = FCPATH.'/data/tests/message1.bin';
+ $a2 = FCPATH.'/data/tests/message2.bin';
+ $b = FCPATH.'/data/tests/simple.pdf';
+ $this->t->is(files_are_equal($a1, $a2), false, "Same hash, but different file");
+ $this->t->is(files_are_equal($a1, $b), false, "Different filesize");
+ $this->t->is(files_are_equal($a1, $a1), true, "Same file");
+ $this->t->is(files_are_equal($a2, $a2), true, "Same file");
+ }
+
+ public function test_return_bytes()
+ {
+ $this->t->is(return_bytes("1k"), 1*1024, "1k");
+ $this->t->is(return_bytes("1M"), 1*1024*1024, "1M");
+ $this->t->is(return_bytes("1G"), 1*1024*1024*1024, "1G");
+ $this->t->is(return_bytes("1P"), "1P", "unhandled text: 1P");
+ }
+}