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

Reply via email to