wharmby         Wed Jan  7 14:30:06 2009 UTC

  Added files:                 
    /php-src/ext/hash/tests     hash_hmac_file_error.phpt 
                                hash_file_basic1.phpt hash_hmac_error.phpt 
                                hash_hmac_file_basic.phpt hash_algos.phpt 
                                hash_hmac_basic.phpt hash_error.phpt 
  Log:
  New hash extension tests. Tested on Windows, Linux and Linux 64-bit
  
http://cvs.php.net/viewvc.cgi/php-src/ext/hash/tests/hash_hmac_file_error.phpt?view=markup&rev=1.1
Index: php-src/ext/hash/tests/hash_hmac_file_error.phpt
+++ php-src/ext/hash/tests/hash_hmac_file_error.phpt
--TEST--
Test hash_hmac_file() function : basic functionality 
--SKIPIF--
<?php extension_loaded('hash') or die('skip: hash extension not loaded.'); ?>
--FILE--
<?php

/* Prototype  : string hash_hmac_file ( string algo, string filename, string 
key [, bool raw_output] )
 * Description: Generate a keyed hash value using the HMAC method and the 
contents of a given file
 * Source code: ext/hash/hash.c
 * Alias to functions: 
*/

echo "*** Testing hash() : error conditions ***\n";

$file = dirname(__FILE__) . "hash_file.txt";
$key = 'secret';

echo "\n-- Testing hash_hmac_file() function with less than expected no. of 
arguments --\n";
var_dump(hash_hmac_file());
var_dump(hash_hmac_file('crc32'));
var_dump(hash_hmac_file('crc32', $file));

echo "\n-- Testing hash_hmac_file() function with more than expected no. of 
arguments --\n";
$extra_arg = 10; 
hash_hmac_file('crc32', $file, $key, TRUE, $extra_arg);

echo "\n-- Testing hash_hmac_file() function with invalid hash algorithm --\n";
hash_hmac_file('foo', $file, $key, TRUE);

?>
===Done===
--EXPECTF--
*** Testing hash() : error conditions ***

-- Testing hash_hmac_file() function with less than expected no. of arguments --

Warning: hash_hmac_file() expects at least 3 parameters, 0 given in %s on line 
%d
NULL

Warning: hash_hmac_file() expects at least 3 parameters, 1 given in %s on line 
%d
NULL

Warning: hash_hmac_file() expects at least 3 parameters, 2 given in %s on line 
%d
NULL

-- Testing hash_hmac_file() function with more than expected no. of arguments --

Warning: hash_hmac_file() expects at most 4 parameters, 5 given in %s on line %d

-- Testing hash_hmac_file() function with invalid hash algorithm --

Warning: hash_hmac_file(): Unknown hashing algorithm: foo in %s on line %d
===Done===
http://cvs.php.net/viewvc.cgi/php-src/ext/hash/tests/hash_file_basic1.phpt?view=markup&rev=1.1
Index: php-src/ext/hash/tests/hash_file_basic1.phpt
+++ php-src/ext/hash/tests/hash_file_basic1.phpt
--TEST--
Test hash_file() function : basic functionality 
--SKIPIF--
<?php extension_loaded('hash') or die('skip: hash extension not loaded.'); ?>
--FILE--
<?php

/* Prototype  : string hash_file ( string algo, string filename [, bool 
raw_output] )
 * Description: Generate a hash value using the contents of a given file
 * Source code: ext/hash/hash.c
 * Alias to functions: 
*/

echo "*** Testing hash_file() : basic functionality ***\n";

$file = dirname(__FILE__) . "hash_file.txt";
/* Creating a temporary file file */
if (($fp = fopen( $file, "w+")) == FALSE) {
        echo "Cannot create file ($file)";
    exit;
}       

/* Writing into file */ 
$content = b"This is a sample string used to test the hash_file function with 
various hashing algorithms";
if (is_writable($file)) {
  if (fwrite($fp, $content) === FALSE) {
    echo "Cannot write to file ($file)";
    exit;
  }
}

// close the file 
fclose($fp);

echo "adler32: " . hash_file('adler32', $file) . "\n";
echo "crc32: " . hash_file('crc32', $file) . "\n";
echo "gost: " . hash_file('gost', $file). "\n";
echo "haval128,3: " . hash_file('haval128,3', $file). "\n";
echo "md2: " . hash_file('md2', $file). "\n";
echo "md4: " . hash_file('md4', $file). "\n";
echo "md5: " . hash_file('md5', $file). "\n";
echo "ripemd128: " . hash_file('ripemd128', $file). "\n";
echo "ripemd160: " . hash_file('ripemd160', $file). "\n";
echo "ripemd256: " . hash_file('ripemd256', $file). "\n";
echo "ripemd320: " . hash_file('ripemd320', $file). "\n";
echo "sha1: " . hash_file('sha1', $file). "\n";
echo "sha256: " . hash_file('sha256', $file). "\n";
echo "sha384: " . hash_file('sha384', $file). "\n";
echo "sha512: " . hash_file('sha512', $file). "\n";
echo "snefru: " . hash_file('snefru', $file). "\n";
echo "tiger192,3: " . hash_file('tiger192,3', $file). "\n";
echo "whirlpool: " . hash_file('whirlpool', $file). "\n";

echo "adler32(raw): " . bin2hex(hash_file('adler32', $file, TRUE)) . "\n";
echo "md5(raw): " . bin2hex(hash_file('md5', $file, TRUE)). "\n";
echo "sha256(raw): " . bin2hex(hash_file('sha256', $file, TRUE)). "\n";

unlink($file);

?>
===Done===
--EXPECTF--
*** Testing hash_file() : basic functionality ***
adler32: 2e2287ff
crc32: 61664d33
gost: d9e65f0c0c2ef944e4f8a01f4a46365c4f33a2853756878182a7f03e1490a4cd
haval128,3: 8bb81269aca8b7f87829020d76a4e841
md2: 70f791c0d8fa9edd7d08e32fcba8c354
md4: a9d034b16bb290c57a645afd6f14cd3b
md5: 704bf818448f5bbb94061332d2c889aa
ripemd128: d02a5f320a11c54c7d51f933b0bd8471
ripemd160: 3ff296ca6314313af3ed0437c8fc0ebbd3242d3b
ripemd256: 0edd779587c11cf32781111b264251eb37529832fb207121cd45dd95002e48a8
ripemd320: 
bf162fa2ff20491b3016c5d8190f8ee47d7dcda8c38eaf6779349a243a029d275eec9adf16ec1b35
sha1: 8529b266611e3bd0d208fd9614653c2a8f23d0fe
sha256: a0f5702fa5d3670b80033d668e8732b70550392abb53841355447f8bb0f72245
sha384: 
a35d875ed96d94b6452acad910f97978200faa2398d8a0e6b9cffa33704c3809e3d2e5b0d63700d8f32a0716e7d2d528
sha512: 
1f42adaf938fbf136e381b164bae5f984c7f9fe60c82728bd889c14f187c7d63e81a0305a1731c7e0a8f3ed9fd2ec92a3833a93502bdf269532601f0b8e2bab0
snefru: d414b2345d3e7fa1a31c044cf334bfc1fec24d89e464411998d579d24663895f
tiger192,3: c6fa75a0be4ecf7afa3cafb4e2a08efc3a40534c0e46b971
whirlpool: 
4248b149e000477269a4a5f1a84d97cfc3d0199b7aaf505913e6f010a6f83276029d11a9ad545374bc710eb59c7d958985023ab886ffa9ec9a23852844c764ec
adler32(raw): 2e2287ff
md5(raw): 704bf818448f5bbb94061332d2c889aa
sha256(raw): a0f5702fa5d3670b80033d668e8732b70550392abb53841355447f8bb0f72245
===Done===
http://cvs.php.net/viewvc.cgi/php-src/ext/hash/tests/hash_hmac_error.phpt?view=markup&rev=1.1
Index: php-src/ext/hash/tests/hash_hmac_error.phpt
+++ php-src/ext/hash/tests/hash_hmac_error.phpt
--TEST--
Test hash_hmac() function : basic functionality 
--SKIPIF--
<?php extension_loaded('hash') or die('skip: hash extension not loaded.'); ?>
--FILE--
<?php
/*
* proto string hash_hmac ( string algo, string data, string key [, bool 
raw_output] )
* Function is implemented in ext/hash/hash.c
*/

echo "*** Testing hash_hmac() : error conditions ***\n";

$data = "This is a sample string used to test the hash_hmac function with 
various hashing algorithms";
$key = 'secret';

echo "\n-- Testing hash_hmac() function with less than expected no. of 
arguments --\n";
var_dump(hash_hmac());
var_dump(hash_hmac('crc32'));
var_dump(hash_hmac('crc32', $data));

echo "\n-- Testing hash_hmac() function with more than expected no. of 
arguments --\n";
$extra_arg = 10;
var_dump(hash_hmac('crc32', $data, $key, TRUE, $extra_arg));

echo "\n-- Testing hash_hmac() function with invalid hash algorithm --\n";
var_dump(hash_hmac('foo', $data, $key));

?>
===Done===
--EXPECTF--
*** Testing hash_hmac() : error conditions ***

-- Testing hash_hmac() function with less than expected no. of arguments --

Warning: hash_hmac() expects at least 3 parameters, 0 given in %s on line %d
NULL

Warning: hash_hmac() expects at least 3 parameters, 1 given in %s on line %d
NULL

Warning: hash_hmac() expects at least 3 parameters, 2 given in %s on line %d
NULL

-- Testing hash_hmac() function with more than expected no. of arguments --

Warning: hash_hmac() expects at most 4 parameters, 5 given in %s on line %d
NULL

-- Testing hash_hmac() function with invalid hash algorithm --

Warning: hash_hmac(): Unknown hashing algorithm: foo in %s on line %d
bool(false)
===Done===
http://cvs.php.net/viewvc.cgi/php-src/ext/hash/tests/hash_hmac_file_basic.phpt?view=markup&rev=1.1
Index: php-src/ext/hash/tests/hash_hmac_file_basic.phpt
+++ php-src/ext/hash/tests/hash_hmac_file_basic.phpt
--TEST--
Test hash_hmac_file() function : basic functionality 
--SKIPIF--
<?php extension_loaded('hash') or die('skip: hash extension not loaded.'); ?>
--FILE--
<?php


/* Prototype  : string hash_hmac_file ( string algo, string filename, string 
key [, bool raw_output] )
 * Description: Generate a keyed hash value using the HMAC method and the 
contents of a given file
 * Source code: ext/hash/hash.c
 * Alias to functions: 
*/

echo "*** Testing hash_hmac_file() : basic functionality ***\n";

$file = dirname(__FILE__) . "hash_hmac_file.txt";
/* Creating a temporary file file */
if (($fp = fopen( $file, "w+")) == FALSE) {
        echo "Cannot create file ($file)";
    exit;
}       

/* Writing into file */ 
$content = b"This is a sample string used to test the hash_hmac_file function 
with various hashing algorithms";
if (is_writable($file)) {
  if (fwrite($fp, $content) === FALSE) {
    echo "Cannot write to file ($file)";
    exit;
  }
}

// close the files 
fclose($fp);

$key = 'secret';


echo "adler32: " . hash_hmac_file('adler32', $file, $key) . "\n";
echo "crc32: " . hash_hmac_file('crc32', $file, $key) . "\n";
echo "gost: " . hash_hmac_file('gost', $file, $key) . "\n";
echo "haval128,3: " . hash_hmac_file('haval128,3', $file, $key) . "\n";
echo "md2: " . hash_hmac_file('md2', $file, $key) . "\n";
echo "md4: " . hash_hmac_file('md4', $file, $key) . "\n";
echo "md5: " . hash_hmac_file('md5', $file, $key) . "\n";
echo "ripemd128: " . hash_hmac_file('ripemd128', $file, $key) . "\n";
echo "ripemd160: " . hash_hmac_file('ripemd160', $file, $key) . "\n";
echo "ripemd256: " . hash_hmac_file('ripemd256', $file, $key) . "\n";
echo "ripemd320: " . hash_hmac_file('ripemd320', $file, $key) . "\n";
echo "sha1: " . hash_hmac_file('sha1', $file, $key) . "\n";
echo "sha256: " . hash_hmac_file('sha256', $file, $key) . "\n";
echo "sha384: " . hash_hmac_file('sha384', $file, $key) . "\n";
echo "sha512: " . hash_hmac_file('sha512', $file, $key) . "\n";
echo "snefru: " . hash_hmac_file('snefru', $file, $key) . "\n";
echo "tiger192,3: " . hash_hmac_file('tiger192,3', $file, $key) . "\n";
echo "whirlpool: " . hash_hmac_file('whirlpool', $file, $key) . "\n";

echo "adler32(raw): " . bin2hex(hash_hmac_file('adler32', $file, $key, TRUE)) . 
"\n";
echo "md5(raw): " . bin2hex(hash_hmac_file('md5', $file, $key, TRUE)). "\n";
echo "sha256(raw): " . bin2hex(hash_hmac_file('sha256', $file, $key, TRUE)). 
"\n";

echo "Error cases:\n";
hash_hmac_file();
hash_hmac_file('foo', $file);
hash_hmac_file('foo', $file, $key, TRUE, 10);

unlink($file);

?>
===Done===
--EXPECTF--
*** Testing hash_hmac_file() : basic functionality ***
adler32: 9f037811
crc32: f2a60b9c
gost: 94c39a40d5db852a8dc3d24e37eebf2d53e3d711457c59cd02b614f792a9d918
haval128,3: e8fcff647f1a675acb429130fb94a17e
md2: a685475e600314bb549ab4f33c3b27cb
md4: cbc6bff781f48f57378d3effa27553e4
md5: 8bddf39dd1c566c27acc7fa85ec36acf
ripemd128: 03269b76bf61d508c50f038cbe9ba691
ripemd160: 94652211292268d97eb63344a3a05d3009f9d2d3
ripemd256: b6ab414cc1630e1e474fefa41976d252f38ca7cf401552774e71736165e512e7
ripemd320: 
71271a649265740eed4b9931417f979fd81eba6288f4e08ff2997bc3dd6858da054d53a9f1fffe8c
sha1: 7f338d17b72371091abd28f451bc8d1f3a9eb3b6
sha256: 9135286ca4c84dec711e4b831f6cd39e672e5ff93d011321274eb76733cc1e40
sha384: 
364fdc45a4c742763366ab5d3d1c17c24057e6c3b641607a36d969f00c88da25b19c8b88c8632411e3a0a02397f88aca
sha512: 
d460aabdf0353655059ed0d408efa91f19c4cda46acc2a4e0adf4764b06951c899fbb2ed41519db78b58ff7be17b1b2910aebe674a56861b232143571b35c83f
snefru: 7b79787e1c1d926b6cc98327f05c5d04ba6227ab51c1398661861196016ef34c
tiger192,3: 5577f21e2af269fff41e023db30e2b01bfd8b8f669177929
whirlpool: 
37a0fbb90547690d5e5e11c046f6654ffdb7bab15e16d9d79c7d85765cc4bdcbfd9df8db7a3ce9558f3f244fead00ca29cf05297f75596555195a0683f15d69f
adler32(raw): 9f037811
md5(raw): 8bddf39dd1c566c27acc7fa85ec36acf
sha256(raw): 9135286ca4c84dec711e4b831f6cd39e672e5ff93d011321274eb76733cc1e40
Error cases:

Warning: hash_hmac_file() expects at least 3 parameters, 0 given in %s on line 
%d

Warning: hash_hmac_file() expects at least 3 parameters, 2 given in %s on line 
%d

Warning: hash_hmac_file() expects at most 4 parameters, 5 given in %s on line %d
===Done===
http://cvs.php.net/viewvc.cgi/php-src/ext/hash/tests/hash_algos.phpt?view=markup&rev=1.1
Index: php-src/ext/hash/tests/hash_algos.phpt
+++ php-src/ext/hash/tests/hash_algos.phpt
--TEST--
Test hash_algos() function : basic functionality 
--SKIPIF--
<?php extension_loaded('hash') or die('skip: hash extension not loaded.'); ?>
--FILE--
<?php

/* Prototype  : array hash_algos (void)
 * Description: Return a list of registered hashing algorithms
 * Source code: ext/hash/hash.c
 * Alias to functions: 
*/

echo "*** Testing hash_algos() : basic functionality ***\n";
var_dump(hash_algos());

?>
===Done===
--EXPECTF--
*** Testing hash_algos() : basic functionality ***
array(42) {
  [0]=>
  unicode(3) "md2"
  [1]=>
  unicode(3) "md4"
  [2]=>
  unicode(3) "md5"
  [3]=>
  unicode(4) "sha1"
  [4]=>
  unicode(6) "sha224"
  [5]=>
  unicode(6) "sha256"
  [6]=>
  unicode(6) "sha384"
  [7]=>
  unicode(6) "sha512"
  [8]=>
  unicode(9) "ripemd128"
  [9]=>
  unicode(9) "ripemd160"
  [10]=>
  unicode(9) "ripemd256"
  [11]=>
  unicode(9) "ripemd320"
  [12]=>
  unicode(9) "whirlpool"
  [13]=>
  unicode(10) "tiger128,3"
  [14]=>
  unicode(10) "tiger160,3"
  [15]=>
  unicode(10) "tiger192,3"
  [16]=>
  unicode(10) "tiger128,4"
  [17]=>
  unicode(10) "tiger160,4"
  [18]=>
  unicode(10) "tiger192,4"
  [19]=>
  unicode(6) "snefru"
  [20]=>
  unicode(9) "snefru256"
  [21]=>
  unicode(4) "gost"
  [22]=>
  unicode(7) "adler32"
  [23]=>
  unicode(5) "crc32"
  [24]=>
  unicode(6) "crc32b"
  [25]=>
  unicode(7) "salsa10"
  [26]=>
  unicode(7) "salsa20"
  [27]=>
  unicode(10) "haval128,3"
  [28]=>
  unicode(10) "haval160,3"
  [29]=>
  unicode(10) "haval192,3"
  [30]=>
  unicode(10) "haval224,3"
  [31]=>
  unicode(10) "haval256,3"
  [32]=>
  unicode(10) "haval128,4"
  [33]=>
  unicode(10) "haval160,4"
  [34]=>
  unicode(10) "haval192,4"
  [35]=>
  unicode(10) "haval224,4"
  [36]=>
  unicode(10) "haval256,4"
  [37]=>
  unicode(10) "haval128,5"
  [38]=>
  unicode(10) "haval160,5"
  [39]=>
  unicode(10) "haval192,5"
  [40]=>
  unicode(10) "haval224,5"
  [41]=>
  unicode(10) "haval256,5"
}
===Done===
http://cvs.php.net/viewvc.cgi/php-src/ext/hash/tests/hash_hmac_basic.phpt?view=markup&rev=1.1
Index: php-src/ext/hash/tests/hash_hmac_basic.phpt
+++ php-src/ext/hash/tests/hash_hmac_basic.phpt
--TEST--
Test hash_file() function : basic functionality 
--SKIPIF--
<?php extension_loaded('hash') or die('skip: hash extension not loaded.'); ?>
--FILE--
<?php

/* Prototype  : string hash_hmac  ( string $algo  , string $data  , string $key 
 [, bool $raw_output  ] )
 * Description: Generate a keyed hash value using the HMAC method
 * Source code: ext/hash/hash.c
 * Alias to functions: 
*/

echo "*** Testing hash_hmac() : basic functionality ***\n";

$content = "This is a sample string used to test the hash_hmac function with 
various hashing algorithms";
$key = 'secret';

echo "adler32: " . hash_hmac('adler32', $content, $key) . "\n";
echo "crc32: " . hash_hmac('crc32', $content, $key) . "\n";
echo "gost: " . hash_hmac('gost', $content, $key) . "\n";
echo "haval128,3: " . hash_hmac('haval128,3', $content, $key) . "\n";
echo "md2: " . hash_hmac('md2', $content, $key) . "\n";
echo "md4: " . hash_hmac('md4', $content, $key) . "\n";
echo "md5: " . hash_hmac('md5', $content, $key) . "\n";
echo "ripemd128: " . hash_hmac('ripemd128', $content, $key) . "\n";
echo "ripemd160: " . hash_hmac('ripemd160', $content, $key) . "\n";
echo "ripemd256: " . hash_hmac('ripemd256', $content, $key) . "\n";
echo "ripemd320: " . hash_hmac('ripemd320', $content, $key) . "\n";
echo "sha1: " . hash_hmac('sha1', $content, $key) . "\n";
echo "sha256: " . hash_hmac('sha256', $content, $key) . "\n";
echo "sha384: " . hash_hmac('sha384', $content, $key) . "\n";
echo "sha512: " . hash_hmac('sha512', $content, $key) . "\n";
echo "snefru: " . hash_hmac('snefru', $content, $key) . "\n";
echo "tiger192,3: " . hash_hmac('tiger192,3', $content, $key) . "\n";
echo "whirlpool: " . hash_hmac('whirlpool', $content, $key) . "\n";
echo "adler32(raw): " . bin2hex(hash_hmac('adler32', $content, $key, TRUE)) . 
"\n";
echo "md5(raw): " . bin2hex(hash_hmac('md5', $content, $key, TRUE)) . "\n";
echo "sha256(raw): " . bin2hex(hash_hmac('sha256', $content, $key, TRUE)) . 
"\n";

?>
===Done===
--EXPECTF--
*** Testing hash_hmac() : basic functionality ***
adler32: 9e033311
crc32: 96859101
gost: a4a3c80bdf3f8665bf07376a34dc9c1b11af7c813f4928f62e39f0c0dc564dad
haval128,3: 82cd0f4bd36729b5c80c33efa8c13ac5
md2: 6d111dab563025e4cb5f4425c991fa12
md4: 10cdbfe843000c623f8b8da0d5d20b0b
md5: 2a632783e2812cf23de100d7d6a463ae
ripemd128: 26c2f694a65b1928b668cf55f65529b4
ripemd160: 4b3433ba596ec39692bb7ce760a9ee5fb818113f
ripemd256: 4e4e5ec19322895a727f272dfe68f87bc1af66cc6ce27c6c1360a5ee78a14b30
ripemd320: 
f10a8ff82e828b92a5ff0a02fc9032bc61352d0d824821fc42f7e09cf5b5f41ee59fd33a730d7469
sha1: 5bfdb62b97e2c987405463e9f7c193139c0e1fd0
sha256: 49bde3496b9510a17d0edd8a4b0ac70148e32a1d51e881ec76faa96534125838
sha384: 
b781415b856744834e532b9899e1aa0bec5a82cf09a838f0a833470468e2a42648a52428cfd9012385d04de5cd9bd122
sha512: 
7de05636b18e2b0ca3427e03f53074af3a48a7b9df226daba4f22324c570638e7d7b26430e214799c9ce0db5ee88dad3292ca0f38bf99b8eaebed59b3a9c140a
snefru: 67af483046f9cf16fe19f9087929ccfc6ad176ade3290b4d33f43e0ddb07e711
tiger192,3: 82779797cdc439e886884953ba21fa38e35679041e95ee27
whirlpool: 
4a0f1582b21b7aff59bfba7f9c29131c69741b2ce80acdc7d314040f3b768cf5a17e30b74cceb86fbc6b34b1692e0addd5bfd7cfc043d40c0621f1b97e26fa49
adler32(raw): 9e033311
md5(raw): 2a632783e2812cf23de100d7d6a463ae
sha256(raw): 49bde3496b9510a17d0edd8a4b0ac70148e32a1d51e881ec76faa96534125838
===Done===
http://cvs.php.net/viewvc.cgi/php-src/ext/hash/tests/hash_error.phpt?view=markup&rev=1.1
Index: php-src/ext/hash/tests/hash_error.phpt
+++ php-src/ext/hash/tests/hash_error.phpt
--TEST--
Test hash() function : error conditions 
--SKIPIF--
<?php extension_loaded('hash') or die('skip: hash extension not loaded.'); ?>
--FILE--
<?php

/* Prototype  : string hash  ( string $algo  , string $data  [, bool 
$raw_output  ] )
 * Description: Generate a hash value (message digest)
 * Source code: ext/hash/hash.c
 * Alias to functions: 
*/
echo "*** Testing hash() : error conditions ***\n";

echo "\n-- Testing hash() function with less than expected no. of arguments 
--\n";
var_dump(hash());
var_dump(hash('adler32'));

echo "\n-- Testing hash() function with more than expected no. of arguments 
--\n";
$extra_arg= 10; 
var_dump(hash('adler32', '', false, $extra_arg));

echo "\n-- Testing hash() function with invalid hash algorithm --\n";
var_dump(hash('foo', ''));

?>
===Done===
--EXPECTF--
*** Testing hash() : error conditions ***

-- Testing hash() function with less than expected no. of arguments --

Warning: hash() expects at least 2 parameters, 0 given in %s on line %d
NULL

Warning: hash() expects at least 2 parameters, 1 given in %s on line %d
NULL

-- Testing hash() function with more than expected no. of arguments --

Warning: hash() expects at most 3 parameters, 4 given in %s on line %d
NULL

-- Testing hash() function with invalid hash algorithm --

Warning: hash(): Unknown hashing algorithm: foo in %s on line %d
bool(false)
===Done===
-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to