Annotation of embedaddon/php/ext/standard/tests/url/base64_decode_variation_001.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Test base64_decode() function : usage variations  - unexpected types for arg 1
                      3: --FILE--
                      4: <?php
                      5: /* Prototype  : proto string base64_decode(string str[, bool strict])
                      6:  * Description: Decodes string using MIME base64 algorithm 
                      7:  * Source code: ext/standard/base64.c
                      8:  * Alias to functions: 
                      9:  */
                     10: 
                     11: function test_error_handler($err_no, $err_msg, $filename, $linenum, $vars) {
                     12:        echo "Error: $err_no - $err_msg, $filename($linenum)\n";
                     13: }
                     14: set_error_handler('test_error_handler');
                     15: 
                     16: echo "*** Testing base64_decode() : usage variations ***\n";
                     17: 
                     18: // Initialise function arguments not being substituted (if any)
                     19: $strict = true;
                     20: 
                     21: //getting the resource
                     22: $file_handle = fopen(__FILE__, "r");
                     23: 
                     24: //get an unset variable
                     25: $unset_var = 10;
                     26: unset ($unset_var);
                     27: 
                     28: //array of values to iterate over
                     29: $values =  array (
                     30:        // int data
                     31:        "0" =>  0,
                     32:        "1" =>  1,
                     33:        "12345" =>  12345,
                     34:        "-2345" =>  -2345,
                     35:                
                     36:        // float data
                     37:     "10.5" =>  10.5,
                     38:        "-10.5" => -10.5,
                     39:        "10.1234567e10" =>      10.1234567e10,
                     40:        "10.7654321E-10" => 10.7654321E-10,
                     41:        ".5" => .5,
                     42:                
                     43:     // array data
                     44:     "array()" =>   array(),
                     45:        "array(0)" =>  array(0),
                     46:        "array(1)" =>  array(1),
                     47:        "array(1, 2)" => array(1, 2),
                     48:        "array('color' => 'red', 'item' => 'pen'" => array('color' => 'red', 'item' => 'pen'),
                     49:                
                     50:        // null data
                     51:        "NULL" => NULL,
                     52:        "null" => null,
                     53:                
                     54:        // boolean data
                     55:        "true" => true,
                     56:        "false" => false,
                     57:        "TRUE" => TRUE,
                     58:        "FALSE" => FALSE,
                     59:                
                     60:        // empty data
                     61:        "\"\"" => "",
                     62:        "''" => '',
                     63:                
                     64:        // object data
                     65:        "stdClass object" => new stdclass(),
                     66:                
                     67:        // undefined data
                     68:     "undefined variable" => $undefined_var,
                     69:                
                     70:        // unset data
                     71:        "unset variable" => $unset_var,
                     72:        
                     73:        // resource data
                     74:        "resource" => $file_handle
                     75: );
                     76: 
                     77: // loop through each element of the array for str argument
                     78: 
                     79: foreach($values as $key=>$value) {
                     80:     echo "\n-- Arg value $key --\n";
                     81:     $output =  base64_decode($value, $strict);
                     82:        
                     83:        if (is_string($output)) { 
                     84:                var_dump(bin2hex($output));
                     85:     } else {
                     86:         var_dump($output); 
                     87:     }  
                     88: };
                     89: 
                     90: ?>
                     91: ===Done===
                     92: --EXPECTF--
                     93: *** Testing base64_decode() : usage variations ***
                     94: Error: 8 - Undefined variable: undefined_var, %s(%d)
                     95: Error: 8 - Undefined variable: unset_var, %s(%d)
                     96: 
                     97: -- Arg value 0 --
                     98: string(0) ""
                     99: 
                    100: -- Arg value 1 --
                    101: string(0) ""
                    102: 
                    103: -- Arg value 12345 --
                    104: string(6) "d76df8"
                    105: 
                    106: -- Arg value -2345 --
                    107: bool(false)
                    108: 
                    109: -- Arg value 10.5 --
                    110: bool(false)
                    111: 
                    112: -- Arg value -10.5 --
                    113: bool(false)
                    114: 
                    115: -- Arg value 10.1234567e10 --
                    116: string(18) "d74d76df8e7aef4d34"
                    117: 
                    118: -- Arg value 10.7654321E-10 --
                    119: bool(false)
                    120: 
                    121: -- Arg value .5 --
                    122: bool(false)
                    123: 
                    124: -- Arg value array() --
                    125: Error: 2 - base64_decode() expects parameter 1 to be string, array given, %s(%d)
                    126: NULL
                    127: 
                    128: -- Arg value array(0) --
                    129: Error: 2 - base64_decode() expects parameter 1 to be string, array given, %s(%d)
                    130: NULL
                    131: 
                    132: -- Arg value array(1) --
                    133: Error: 2 - base64_decode() expects parameter 1 to be string, array given, %s(%d)
                    134: NULL
                    135: 
                    136: -- Arg value array(1, 2) --
                    137: Error: 2 - base64_decode() expects parameter 1 to be string, array given, %s(%d)
                    138: NULL
                    139: 
                    140: -- Arg value array('color' => 'red', 'item' => 'pen' --
                    141: Error: 2 - base64_decode() expects parameter 1 to be string, array given, %s(%d)
                    142: NULL
                    143: 
                    144: -- Arg value NULL --
                    145: string(0) ""
                    146: 
                    147: -- Arg value null --
                    148: string(0) ""
                    149: 
                    150: -- Arg value true --
                    151: string(0) ""
                    152: 
                    153: -- Arg value false --
                    154: string(0) ""
                    155: 
                    156: -- Arg value TRUE --
                    157: string(0) ""
                    158: 
                    159: -- Arg value FALSE --
                    160: string(0) ""
                    161: 
                    162: -- Arg value "" --
                    163: string(0) ""
                    164: 
                    165: -- Arg value '' --
                    166: string(0) ""
                    167: 
                    168: -- Arg value stdClass object --
                    169: Error: 2 - base64_decode() expects parameter 1 to be string, object given, %s(%d)
                    170: NULL
                    171: 
                    172: -- Arg value undefined variable --
                    173: string(0) ""
                    174: 
                    175: -- Arg value unset variable --
                    176: string(0) ""
                    177: 
                    178: -- Arg value resource --
                    179: Error: 2 - base64_decode() expects parameter 1 to be string, resource given, %s(%d)
                    180: NULL
                    181: ===Done===

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