summaryrefslogtreecommitdiff
path: root/ext/hash
diff options
context:
space:
mode:
Diffstat (limited to 'ext/hash')
-rw-r--r--ext/hash/tests/hash_file_basic.phpt44
-rw-r--r--ext/hash/tests/hash_file_error.phpt67
2 files changed, 111 insertions, 0 deletions
diff --git a/ext/hash/tests/hash_file_basic.phpt b/ext/hash/tests/hash_file_basic.phpt
new file mode 100644
index 0000000000..9851c14b91
--- /dev/null
+++ b/ext/hash/tests/hash_file_basic.phpt
@@ -0,0 +1,44 @@
+--TEST--
+Test hash_file() function : basic functionality
+--SKIPIF--
+<?php extension_loaded('hash') or die('skip: hash extension not loaded.'); ?>
+--CREDITS--
+Felix De Vliegher <felix.devliegher@gmail.com>
+--FILE--
+<?php
+/* Prototype : string hash_file(string algo, string filename[, bool raw_output = false])
+ * Description: Generate a hash of a given file
+ * Source code: ext/hash/hash.c
+ * Alias to functions:
+ */
+
+echo "*** Testing hash_file() : basic functionality ***\n";
+
+// Set up file
+$filename = 'hash_file_example.txt';
+file_put_contents( $filename, 'The quick brown fox jumped over the lazy dog.' );
+
+var_dump( hash_file( 'md5', $filename ) );
+var_dump( hash_file( 'sha1', $filename ) );
+var_dump( hash_file( 'sha256', $filename ) );
+var_dump( hash_file( 'sha512', $filename ) );
+
+var_dump( base64_encode( hash_file( 'md5', $filename, true ) ) );
+
+?>
+===DONE===
+--CLEAN--
+<?php
+
+$filename = 'hash_file_example.txt';
+unlink( $filename );
+
+?>
+--EXPECTF--
+*** Testing hash_file() : basic functionality ***
+string(32) "5c6ffbdd40d9556b73a21e63c3e0e904"
+string(40) "c0854fb9fb03c41cce3802cb0d220529e6eef94e"
+string(64) "68b1282b91de2c054c36629cb8dd447f12f096d3e3c587978dc2248444633483"
+string(128) "0a8c150176c2ba391d7f1670ef4955cd99d3c3ec8cf06198cec30d436f2ac0c9b64229b5a54bdbd5563160503ce992a74be528761da9d0c48b7c74627302eb25"
+string(24) "XG/73UDZVWtzoh5jw+DpBA=="
+===DONE===
diff --git a/ext/hash/tests/hash_file_error.phpt b/ext/hash/tests/hash_file_error.phpt
new file mode 100644
index 0000000000..326fbd51a5
--- /dev/null
+++ b/ext/hash/tests/hash_file_error.phpt
@@ -0,0 +1,67 @@
+--TEST--
+Test hash_file() function : error conditions
+--SKIPIF--
+<?php extension_loaded('hash') or die('skip: hash extension not loaded.'); ?>
+--CREDITS--
+Felix De Vliegher <felix.devliegher@gmail.com>
+--FILE--
+<?php
+/* Prototype : string hash_file(string algo, string filename[, bool raw_output = false])
+ * Description: Generate a hash of a given file
+ * Source code: ext/hash/hash.c
+ * Alias to functions:
+ */
+
+echo "*** Testing hash_file() : error conditions ***\n";
+
+// Set up file
+$filename = 'hash_file_example.txt';
+file_put_contents( $filename, 'The quick brown fox jumped over the lazy dog.' );
+
+
+// hash_file() error tests
+echo "\n-- Testing hash_file() function with an unknown algorithm --\n";
+var_dump( hash_file( 'foobar', $filename ) );
+
+echo "\n-- Testing hash_file() function with a non-existant file --\n";
+var_dump( hash_file( 'md5', 'nonexistant.txt' ) );
+
+echo "\n-- Testing hash_file() function with less than expected no. of arguments --\n";
+var_dump( hash_file( 'md5' ) );
+
+echo "\n-- Testing hash_file() function with more than expected no. of arguments --\n";
+$extra_arg = 10;
+var_dump( hash_file( 'md5', $filename, false, $extra_arg ) );
+
+?>
+===DONE===
+--CLEAN--
+<?php
+
+$filename = 'hash_file_example.txt';
+unlink( $filename );
+
+?>
+--EXPECTF--
+*** Testing hash_file() : error conditions ***
+
+-- Testing hash_file() function with an unknown algorithm --
+
+Warning: hash_file(): Unknown hashing algorithm: %s in %s on line %d
+bool(false)
+
+-- Testing hash_file() function with a non-existant file --
+
+Warning: hash_file(%s): failed to open stream: No such file or directory in %s on line %d
+bool(false)
+
+-- Testing hash_file() function with less than expected no. of arguments --
+
+Warning: hash_file() expects at least 2 parameters, 1 given in %s on line %d
+NULL
+
+-- Testing hash_file() function with more than expected no. of arguments --
+
+Warning: hash_file() expects at most 3 parameters, 4 given in %s on line %d
+NULL
+===DONE===