wharmby Sun Jan 18 19:37:44 2009 UTC Modified files: /php-src/ext/standard/tests/strings sha1_variation1.phpt sha1_file.phpt sha1_error.phpt sha1_variation2.phpt sha1_basic.phpt Log: New sha1f() tests. Tested on Windows. Linux and Linux 64 bit
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/sha1_variation1.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/strings/sha1_variation1.phpt diff -u /dev/null php-src/ext/standard/tests/strings/sha1_variation1.phpt:1.2 --- /dev/null Sun Jan 18 19:37:44 2009 +++ php-src/ext/standard/tests/strings/sha1_variation1.phpt Sun Jan 18 19:37:43 2009 @@ -0,0 +1,157 @@ +--TEST-- +Test sha1() function : usage variations - unexpected values for 'str' argument +--FILE-- +<?php + +/* Prototype: string sha1 ( string $str [, bool $raw_output ] ) + * Description: Calculate the sha1 hash of a string + */ + +echo "*** Testing sha1() : unexpected values for 'str' ***\n"; + +$raw = false; + +//get an unset variable +$unset_var = 10; +unset ($unset_var); + +//defining class for object variable +class MyClass +{ + public function __toString() + { + return "object"; + } +} + +//resource variable +$fp = fopen(__FILE__, 'r'); + +//different values for 'str' argument +$values = array( + + // int data + 0, + 1, + 12345, + -2345, + + // float data + 10.5, + -10.5, + 10.1234567e10, + 10.1234567E-10, + .5, + + // array data + array(), + array(0), + array(1), + array(1, 2), + array('color' => 'red', 'item' => 'pen'), + + // null data + NULL, + null, + + // boolean data + true, + false, + TRUE, + FALSE, + + // empty data + "", + '', + + // object data + new MyClass(), + + // undefined data + @$undefined_var, + + // unset data + @$unset_var, + + //resource data + $fp +); + +// loop through each element of $values for 'str' argument +for($count = 0; $count < count($values); $count++) { + echo "-- Iteration ".($count+1)." --\n"; + var_dump( sha1($values[$count], $raw) ); +} + +//closing resource +fclose($fp); + +?> +===DONE=== +--EXPECTF-- +*** Testing sha1() : unexpected values for 'str' *** +-- Iteration 1 -- +unicode(40) "b6589fc6ab0dc82cf12099d1c2d40ab994e8410c" +-- Iteration 2 -- +unicode(40) "356a192b7913b04c54574d18c28d46e6395428ab" +-- Iteration 3 -- +unicode(40) "8cb2237d0679ca88db6464eac60da96345513964" +-- Iteration 4 -- +unicode(40) "bc97c643aba3b6c6abe253222f439d4002a87528" +-- Iteration 5 -- +unicode(40) "1287384bc5ef3ab84a36a5ef1d888df2763567f4" +-- Iteration 6 -- +unicode(40) "c9d6e1b691f17c8ae6d458984a5f56f80e62a60b" +-- Iteration 7 -- +unicode(40) "39493e1e645578a655f532e1f9bcff67991f2c2f" +-- Iteration 8 -- +unicode(40) "681b45cae882ad795afd54ccc2a04ad58e056b83" +-- Iteration 9 -- +unicode(40) "1b390cd54a0c0d4f27fa7adf23e3c45536e9f37c" +-- Iteration 10 -- + +Warning: sha1() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d +NULL +-- Iteration 11 -- + +Warning: sha1() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d +NULL +-- Iteration 12 -- + +Warning: sha1() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d +NULL +-- Iteration 13 -- + +Warning: sha1() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d +NULL +-- Iteration 14 -- + +Warning: sha1() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d +NULL +-- Iteration 15 -- +unicode(40) "da39a3ee5e6b4b0d3255bfef95601890afd80709" +-- Iteration 16 -- +unicode(40) "da39a3ee5e6b4b0d3255bfef95601890afd80709" +-- Iteration 17 -- +unicode(40) "356a192b7913b04c54574d18c28d46e6395428ab" +-- Iteration 18 -- +unicode(40) "da39a3ee5e6b4b0d3255bfef95601890afd80709" +-- Iteration 19 -- +unicode(40) "356a192b7913b04c54574d18c28d46e6395428ab" +-- Iteration 20 -- +unicode(40) "da39a3ee5e6b4b0d3255bfef95601890afd80709" +-- Iteration 21 -- +unicode(40) "da39a3ee5e6b4b0d3255bfef95601890afd80709" +-- Iteration 22 -- +unicode(40) "da39a3ee5e6b4b0d3255bfef95601890afd80709" +-- Iteration 23 -- +unicode(40) "1615307cc4523f183e777df67f168c86908e8007" +-- Iteration 24 -- +unicode(40) "da39a3ee5e6b4b0d3255bfef95601890afd80709" +-- Iteration 25 -- +unicode(40) "da39a3ee5e6b4b0d3255bfef95601890afd80709" +-- Iteration 26 -- + +Warning: sha1() expects parameter 1 to be string (Unicode or binary), resource given in %s on line %d +NULL +===DONE=== \ No newline at end of file http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/sha1_file.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/strings/sha1_file.phpt diff -u /dev/null php-src/ext/standard/tests/strings/sha1_file.phpt:1.2 --- /dev/null Sun Jan 18 19:37:44 2009 +++ php-src/ext/standard/tests/strings/sha1_file.phpt Sun Jan 18 19:37:43 2009 @@ -0,0 +1,131 @@ +--TEST-- +Test sha1_file() function with ASCII output and raw binary output. Based on ext/standard/tests/strings/md5_file.phpt +--SKIPIF-- +<?php + +$path = dirname(__FILE__); +$data_file = "$path/EmptyFile.txt"; +$data_file1 = "$path/DataFile.txt"; +if !(($fp = fopen($data_file, 'w')) || ($fp1 = fopen($data_file1, 'w')) { + echo "File could not be created ,hence exiting from testcase due to pre-requisite failure\n"; +} +fclose( $fp ); +fclose( $fp1 ); + +--FILE-- +<?php + +/* Prototype: string sha1_file( string filename[, bool raw_output] ) + * Description: Calculate the sha1 hash of a file + */ + +echo "*** Testing sha1_file() : basic functionality ***\n"; + +/* Creating an empty file */ +if (($handle = fopen( "EmptyFile.txt", "w+")) == FALSE) +return false; + +/* Creating a data file */ +if (($handle2 = fopen( "DataFile.txt", "w+")) == FALSE) +return false; + +/* Writing into file */ +$filename = "DataFile.txt"; +$content = b"Add this to the file\n"; +if (is_writable($filename)) { + if (fwrite($handle2, $content) === FALSE) { + echo "Cannot write to file ($filename)"; + exit; + } +} + +// close the files +fclose($handle); +fclose($handle2); + +/* Testing error conditions */ +echo "\n*** Testing for error conditions ***\n"; + +echo "\n-- No filename --\n"; +var_dump( sha1_file("") ); + +echo "\n-- invalid filename --\n"; +var_dump( sha1_file("a") ); + +echo "\n-- Scalar value as filename --\n"; +var_dump( sha1_file(12) ); + +echo "\n-- NULL as filename --\n"; +var_dump( sha1_file(NULL) ); + +echo "\n-- Zero arguments --\n"; + var_dump ( sha1_file() ); + +echo "\n-- More than valid number of arguments ( valid is 2) --\n"; +var_dump ( sha1_file("EmptyFile.txt", true, NULL) ); + +echo "\n-- Hexadecimal Output for Empty file as Argument --\n"; +var_dump( sha1_file("EmptyFile.txt") ); + +echo "\n-- Raw Binary Output for Empty file as Argument --\n"; +var_dump( bin2hex(sha1_file("EmptyFile.txt", true))); + +echo "\n-- Hexadecimal Output for a valid file with some contents --\n"; +var_dump( sha1_file("DataFile.txt") ); + +echo "\n-- Raw Binary Output for a valid file with some contents --\n"; +var_dump ( bin2hex(sha1_file("DataFile.txt", true))); + +// remove temp files +unlink("DataFile.txt"); +unlink("EmptyFile.txt"); + +?> +===DONE=== +--EXPECTF-- +*** Testing sha1_file() : basic functionality *** + +*** Testing for error conditions *** + +-- No filename -- + +Warning: sha1_file(): Filename cannot be empty in %s on line %d +bool(false) + +-- invalid filename -- + +Warning: sha1_file(a): failed to open stream: No such file or directory in %s on line %d +bool(false) + +-- Scalar value as filename -- + +Warning: sha1_file(12): failed to open stream: No such file or directory in %s on line %d +bool(false) + +-- NULL as filename -- + +Warning: sha1_file(): Filename cannot be empty in %s on line %d +bool(false) + +-- Zero arguments -- + +Warning: sha1_file() expects at least 1 parameter, 0 given in %s on line %d +NULL + +-- More than valid number of arguments ( valid is 2) -- + +Warning: sha1_file() expects at most 2 parameters, 3 given in %s on line %d +NULL + +-- Hexadecimal Output for Empty file as Argument -- +unicode(40) "da39a3ee5e6b4b0d3255bfef95601890afd80709" + +-- Raw Binary Output for Empty file as Argument -- +unicode(40) "da39a3ee5e6b4b0d3255bfef95601890afd80709" + +-- Hexadecimal Output for a valid file with some contents -- +unicode(40) "d16a568ab98233deff7ec8b1668eb4b3d9e53fee" + +-- Raw Binary Output for a valid file with some contents -- +unicode(40) "d16a568ab98233deff7ec8b1668eb4b3d9e53fee" +===DONE=== http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/sha1_error.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/strings/sha1_error.phpt diff -u /dev/null php-src/ext/standard/tests/strings/sha1_error.phpt:1.2 --- /dev/null Sun Jan 18 19:37:44 2009 +++ php-src/ext/standard/tests/strings/sha1_error.phpt Sun Jan 18 19:37:43 2009 @@ -0,0 +1,35 @@ +--TEST-- +Test sha1() function : error conditions +--FILE-- +<?php + + +/* Prototype: string sha1 ( string $str [, bool $raw_output ] ) + * Description: Calculate the sha1 hash of a string + */ + +echo "*** Testing sha1() : error conditions ***\n"; + +echo "\n-- Testing sha1() function with no arguments --\n"; +var_dump( sha1() ); + +echo "\n-- Testing sha1() function with more than expected no. of arguments --\n"; +$extra_arg = 10; +var_dump( sha1("Hello World", true, $extra_arg) ); + + +?> +===DONE=== +--EXPECTF-- +*** Testing sha1() : error conditions *** + +-- Testing sha1() function with no arguments -- + +Warning: sha1() expects at least 1 parameter, 0 given in %s on line %d +NULL + +-- Testing sha1() function with more than expected no. of arguments -- + +Warning: sha1() expects at most 2 parameters, 3 given in %s on line %d +NULL +===DONE=== http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/sha1_variation2.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/strings/sha1_variation2.phpt diff -u /dev/null php-src/ext/standard/tests/strings/sha1_variation2.phpt:1.2 --- /dev/null Sun Jan 18 19:37:44 2009 +++ php-src/ext/standard/tests/strings/sha1_variation2.phpt Sun Jan 18 19:37:43 2009 @@ -0,0 +1,174 @@ +--TEST-- +Test sha1() function : usage variations - unexpected values for 'raw' argument +--FILE-- +<?php + +/* Prototype: string sha1 ( string $str [, bool $raw_output ] ) + * Description: Calculate the sha1 hash of a string + */ + +echo "*** Testing sha1() : unexpected values for 'raw' ***\n"; + +$string = "Hello World"; + +//get an unset variable +$unset_var = 10; +unset ($unset_var); + +//defining class for object variable +class MyClass +{ + public function __toString() + { + return "object"; + } +} + +//resource variable +$fp = fopen(__FILE__, 'r'); + +//different values for 'str' argument +$values = array( + + // int data +/*1*/ 0, + 1, + 12345, + -2345, + + // float data +/*5*/ 10.5, + -10.5, + 10.1234567e10, + 10.1234567E-10, + .5, + + // array data +/*10*/ array(), + array(0), + array(1), + array(1, 2), + array('color' => 'red', 'item' => 'pen'), + + // null data +/*15*/ NULL, + null, + + // string data +/*17*/ "ABC", + 'abc', + "0abc", + "123abc", + + // empty data +/*21*/ "", + '', + + // object data +/*23*/ new MyClass(), + + // undefined data +/*24*/ @$undefined_var, + + // unset data +/*25*/ @$unset_var, + + //resource data +/*26*/ $fp +); + +// loop through each element of $values for 'raw' argument +for($count = 0; $count < count($values); $count++) { + echo "-- Iteration ".($count+1)." --\n"; + // use bin2hex to catch those cases were raw is true + var_dump( bin2hex(sha1($string, $values[$count])) ); +} + +//closing resource +fclose($fp); + +?> +===DONE=== +--EXPECTF-- +*** Testing sha1() : unexpected values for 'raw' *** +-- Iteration 1 -- + +Warning: bin2hex() expects parameter 1 to be strictly a binary string, Unicode string given in %s on line %d +NULL +-- Iteration 2 -- +unicode(40) "0a4d55a8d778e5022fab701977c5d840bbc486d0" +-- Iteration 3 -- +unicode(40) "0a4d55a8d778e5022fab701977c5d840bbc486d0" +-- Iteration 4 -- +unicode(40) "0a4d55a8d778e5022fab701977c5d840bbc486d0" +-- Iteration 5 -- +unicode(40) "0a4d55a8d778e5022fab701977c5d840bbc486d0" +-- Iteration 6 -- +unicode(40) "0a4d55a8d778e5022fab701977c5d840bbc486d0" +-- Iteration 7 -- +unicode(40) "0a4d55a8d778e5022fab701977c5d840bbc486d0" +-- Iteration 8 -- +unicode(40) "0a4d55a8d778e5022fab701977c5d840bbc486d0" +-- Iteration 9 -- +unicode(40) "0a4d55a8d778e5022fab701977c5d840bbc486d0" +-- Iteration 10 -- + +Warning: sha1() expects parameter 2 to be boolean, array given in %s on line %d +unicode(0) "" +-- Iteration 11 -- + +Warning: sha1() expects parameter 2 to be boolean, array given in %s on line %d +unicode(0) "" +-- Iteration 12 -- + +Warning: sha1() expects parameter 2 to be boolean, array given in %s on line %d +unicode(0) "" +-- Iteration 13 -- + +Warning: sha1() expects parameter 2 to be boolean, array given in %s on line %d +unicode(0) "" +-- Iteration 14 -- + +Warning: sha1() expects parameter 2 to be boolean, array given in %s on line %d +unicode(0) "" +-- Iteration 15 -- + +Warning: bin2hex() expects parameter 1 to be strictly a binary string, Unicode string given in %s on line %d +NULL +-- Iteration 16 -- + +Warning: bin2hex() expects parameter 1 to be strictly a binary string, Unicode string given in %s on line %d +NULL +-- Iteration 17 -- +unicode(40) "0a4d55a8d778e5022fab701977c5d840bbc486d0" +-- Iteration 18 -- +unicode(40) "0a4d55a8d778e5022fab701977c5d840bbc486d0" +-- Iteration 19 -- +unicode(40) "0a4d55a8d778e5022fab701977c5d840bbc486d0" +-- Iteration 20 -- +unicode(40) "0a4d55a8d778e5022fab701977c5d840bbc486d0" +-- Iteration 21 -- + +Warning: bin2hex() expects parameter 1 to be strictly a binary string, Unicode string given in %s on line %d +NULL +-- Iteration 22 -- + +Warning: bin2hex() expects parameter 1 to be strictly a binary string, Unicode string given in %s on line %d +NULL +-- Iteration 23 -- + +Warning: sha1() expects parameter 2 to be boolean, object given in %s on line %d +unicode(0) "" +-- Iteration 24 -- + +Warning: bin2hex() expects parameter 1 to be strictly a binary string, Unicode string given in %s on line %d +NULL +-- Iteration 25 -- + +Warning: bin2hex() expects parameter 1 to be strictly a binary string, Unicode string given in %s on line %d +NULL +-- Iteration 26 -- + +Warning: sha1() expects parameter 2 to be boolean, resource given in %s on line %d +unicode(0) "" +===DONE=== \ No newline at end of file http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/sha1_basic.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/strings/sha1_basic.phpt diff -u /dev/null php-src/ext/standard/tests/strings/sha1_basic.phpt:1.2 --- /dev/null Sun Jan 18 19:37:44 2009 +++ php-src/ext/standard/tests/strings/sha1_basic.phpt Sun Jan 18 19:37:43 2009 @@ -0,0 +1,70 @@ +--TEST-- +sha1() with ASCII output. +--FILE-- +<?php + +/* Prototype: string sha1 ( string $str [, bool $raw_output ] ) + * Description: Calculate the sha1 hash of a string + */ + +echo "*** Testing sha1() : basic functionality ***\n"; + +echo "\n-- Without raw argument --\n"; +var_dump(sha1(b"")); +var_dump(sha1(b"a")); +var_dump(sha1(b"abc")); +var_dump(sha1(b"message digest")); +var_dump(sha1(b"abcdefghijklmnopqrstuvwxyz")); +var_dump(sha1(b"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789")); +var_dump(sha1(b"12345678901234567890123456789012345678901234567890123456789012345678901234567890")); + +echo "\n-- With raw == false --\n"; +var_dump(sha1(b"", false)); +var_dump(sha1(b"a", false)); +var_dump(sha1(b"abc", false)); +var_dump(sha1(b"message digest", false)); +var_dump(sha1(b"abcdefghijklmnopqrstuvwxyz", false)); +var_dump(sha1(b"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", false)); +var_dump(sha1(b"12345678901234567890123456789012345678901234567890123456789012345678901234567890", false)); + +echo "\n-- With raw == true --\n"; +var_dump(bin2hex(sha1(b"", true))); +var_dump(bin2hex(sha1(b"a", true))); +var_dump(bin2hex(sha1(b"abc", true))); +var_dump(bin2hex(sha1(b"message digest", true))); +var_dump(bin2hex(sha1(b"abcdefghijklmnopqrstuvwxyz", true))); +var_dump(bin2hex(sha1(b"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", true))); +var_dump(bin2hex(sha1(b"12345678901234567890123456789012345678901234567890123456789012345678901234567890", true))); + +?> +===DONE=== +--EXPECT-- +*** Testing sha1() : basic functionality *** + +-- Without raw argument -- +unicode(40) "da39a3ee5e6b4b0d3255bfef95601890afd80709" +unicode(40) "86f7e437faa5a7fce15d1ddcb9eaeaea377667b8" +unicode(40) "a9993e364706816aba3e25717850c26c9cd0d89d" +unicode(40) "c12252ceda8be8994d5fa0290a47231c1d16aae3" +unicode(40) "32d10c7b8cf96570ca04ce37f2a19d84240d3a89" +unicode(40) "761c457bf73b14d27e9e9265c46f4b4dda11f940" +unicode(40) "50abf5706a150990a08b2c5ea40fa0e585554732" + +-- With raw == false -- +unicode(40) "da39a3ee5e6b4b0d3255bfef95601890afd80709" +unicode(40) "86f7e437faa5a7fce15d1ddcb9eaeaea377667b8" +unicode(40) "a9993e364706816aba3e25717850c26c9cd0d89d" +unicode(40) "c12252ceda8be8994d5fa0290a47231c1d16aae3" +unicode(40) "32d10c7b8cf96570ca04ce37f2a19d84240d3a89" +unicode(40) "761c457bf73b14d27e9e9265c46f4b4dda11f940" +unicode(40) "50abf5706a150990a08b2c5ea40fa0e585554732" + +-- With raw == true -- +unicode(40) "da39a3ee5e6b4b0d3255bfef95601890afd80709" +unicode(40) "86f7e437faa5a7fce15d1ddcb9eaeaea377667b8" +unicode(40) "a9993e364706816aba3e25717850c26c9cd0d89d" +unicode(40) "c12252ceda8be8994d5fa0290a47231c1d16aae3" +unicode(40) "32d10c7b8cf96570ca04ce37f2a19d84240d3a89" +unicode(40) "761c457bf73b14d27e9e9265c46f4b4dda11f940" +unicode(40) "50abf5706a150990a08b2c5ea40fa0e585554732" +===DONE=== \ No newline at end of file
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php