Annotation of embedaddon/php/ext/standard/tests/strings/md5_file.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Test md5_file() function with ASCII output and raw binary output
                      3: --FILE--
                      4: <?php
                      5: 
                      6: /* Prototype: string md5_file( string filename[, bool raw_output] )
                      7:  * Description: Calculate the MD5 hash of a given file
                      8:  */
                      9: 
                     10: /* Creating an empty file */
                     11: if (($handle = fopen( "EmptyFile.txt", "w+")) == FALSE)
                     12: return false;
                     13: 
                     14: /* Creating a data file */
                     15: if (($handle2 = fopen( "DataFile.txt", "w+")) == FALSE)
                     16: return false;
                     17: 
                     18: /* Writing into file */ 
                     19: $filename = "DataFile.txt";
                     20: $content = "Add this to the file\n";
                     21: if (is_writable($filename)) {
                     22:   if (fwrite($handle2, $content) === FALSE) {
                     23:     echo "Cannot write to file ($filename)";
                     24:     exit;
                     25:   }
                     26: }
                     27: 
                     28: // close the files 
                     29: fclose($handle);
                     30: fclose($handle2);
                     31: 
                     32: /* Testing error conditions */
                     33: echo "\n*** Testing foe error conditions ***\n";
                     34: 
                     35: /* No filename */
                     36: var_dump( md5_file("") );
                     37: 
                     38: /* invalid filename */
                     39: var_dump( md5_file("a") );
                     40: 
                     41: /* Scalar value as filename  */
                     42: var_dump( md5_file(12) );
                     43: 
                     44: /* NULL as filename */
                     45: var_dump( md5_file(NULL) );
                     46: 
                     47: /* Zero arguments */
                     48:  var_dump ( md5_file() );
                     49: 
                     50: /* More than valid number of arguments ( valid is 2)  */
                     51: var_dump ( md5_file("EmptyFile.txt", true, NULL) );
                     52: 
                     53: /* Hexadecimal Output for Empty file as input */
                     54: echo "\n*** Hexadecimal Output for Empty file as Argument ***\n";
                     55: var_dump( md5_file("EmptyFile.txt") );
                     56: 
                     57: /* Raw Binary Output for Empty file as input */
                     58: echo "\n*** Raw Binary Output for Empty file as Argument ***\n";
                     59: var_dump( md5_file("EmptyFile.txt", true) );
                     60: 
                     61: /* Normal operation with hexadecimal output */
                     62: echo "\n*** Hexadecimal Output for a valid file with some contents ***\n";
                     63: var_dump( md5_file("DataFile.txt") );
                     64: 
                     65: /* Normal operation with raw binary output */
                     66: echo "\n*** Raw Binary Output for a valid file with some contents ***\n";
                     67: var_dump ( md5_file("DataFile.txt", true) );
                     68: 
                     69: // remove temp files
                     70: unlink("DataFile.txt");
                     71: unlink("EmptyFile.txt");
                     72: 
                     73: echo "\nDone";
                     74: ?>
                     75: --EXPECTF--
                     76: *** Testing foe error conditions ***
                     77: 
                     78: Warning: md5_file(): Filename cannot be empty in %s on line %d
                     79: bool(false)
                     80: 
                     81: Warning: md5_file(a): failed to open stream: No such file or directory in %s on line %d
                     82: bool(false)
                     83: 
                     84: Warning: md5_file(12): failed to open stream: No such file or directory in %s on line %d
                     85: bool(false)
                     86: 
                     87: Warning: md5_file(): Filename cannot be empty in %s on line %d
                     88: bool(false)
                     89: 
                     90: Warning: md5_file() expects at least 1 parameter, 0 given in %s on line %d
                     91: NULL
                     92: 
                     93: Warning: md5_file() expects at most 2 parameters, 3 given in %s on line %d
                     94: NULL
                     95: 
                     96: *** Hexadecimal Output for Empty file as Argument ***
                     97: string(32) "d41d8cd98f00b204e9800998ecf8427e"
                     98: 
                     99: *** Raw Binary Output for Empty file as Argument ***
                    100: string(16) "ُ B~"
                    101: 
                    102: *** Hexadecimal Output for a valid file with some contents ***
                    103: string(32) "7f28ec647825e2a70bf67778472cd4a2"
                    104: 
                    105: *** Raw Binary Output for a valid file with some contents ***
                    106: string(16) "(dx%wxG,Ԣ"
                    107: 
                    108: Done
                    109: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>