Annotation of embedaddon/php/ext/standard/tests/general_functions/is_string.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Test is_string() function
                      3: --FILE--
                      4: <?php
                      5: /* Prototype: bool is_string ( mixed $var );
                      6:  * Description: Finds whether the given variable is a string
                      7:  */
                      8: 
                      9: echo "*** Testing is_string() with valid string values ***\n";
                     10: // different valid strings 
                     11: 
                     12: /* string created using Heredoc (<<<) */
                     13: $heredoc_string = <<<EOT
                     14: This is string defined
                     15: using heredoc.
                     16: EOT;
                     17: /* heredoc string with only numerics */
                     18: $heredoc_numeric_string = <<<EOT
                     19: 123456 3993
                     20: 4849 string 
                     21: EOT;
                     22: /* null heardoc string */
                     23: $heredoc_empty_string = <<<EOT
                     24: EOT;
                     25: $heredoc_null_string = <<<EOT
                     26: NULL
                     27: EOT;
                     28: 
                     29: $strings = array(
                     30:   "",
                     31:   " ",
                     32:   '',
                     33:   ' ',
                     34:   "string",
                     35:   'string',
                     36:   "NULL",
                     37:   'null',
                     38:   "FALSE",
                     39:   'true',
                     40:   "\x0b",
                     41:   "\0",
                     42:   '\0',
                     43:   '\060',
                     44:   "\070",
                     45:   "0x55F",
                     46:   "055",
                     47:   "@#$#$%%$^^$%^%^$^&",
                     48:   $heredoc_string,
                     49:   $heredoc_numeric_string,
                     50:   $heredoc_empty_string,
                     51:   $heredoc_null_string
                     52: );
                     53: /* loop to check that is_string() recognizes different 
                     54:    strings, expected output bool(true) */
                     55: $loop_counter = 1;
                     56: foreach ($strings as $string ) {
                     57:   echo "-- Iteration $loop_counter --\n"; $loop_counter++;
                     58:   var_dump( is_string($string) );
                     59: }
                     60: 
                     61: echo "\n*** Testing is_string() on non string values ***\n";
                     62: 
                     63: // get a resource type variable
                     64: $fp = fopen (__FILE__, "r");
                     65: $dfp = opendir ( dirname(__FILE__) );
                     66: 
                     67: // unset vars
                     68: $unset_string1 = "string";
                     69: $unset_string2 = 'string';
                     70: $unset_heredoc = <<<EOT
                     71: this is heredoc string
                     72: EOT;
                     73: // unset the vars 
                     74: unset($unset_string1, $unset_string2, $unset_heredoc);
                     75: 
                     76: // other types in a array 
                     77: $not_strings = array (
                     78:   /* integers */
                     79:   0,
                     80:   1,
                     81:   -1,
                     82:   -0,
                     83:   543915,
                     84:   -5322,
                     85:   0x0,
                     86:   0x1,
                     87:   0x55F,
                     88:   -0xCCF,
                     89:   0123,
                     90:   -0654,
                     91:   00,
                     92:   01,
                     93: 
                     94:   /* floats */
                     95:   0.0,
                     96:   1.0,
                     97:   -1.0,
                     98:   10.0000000000000000005,
                     99:   .5e6,
                    100:   -.5E7,
                    101:   .5E+8,
                    102:   -.5e+90,
                    103:   1e5,
                    104:   -1e5,
                    105:   1E5,
                    106:   -1E7,
                    107: 
                    108:   /* objects */
                    109:   new stdclass,
                    110: 
                    111:   /* resources */
                    112:   $fp,
                    113:   $dfp,
                    114: 
                    115:   /* arrays */
                    116:   array(),
                    117:   array(0),
                    118:   array(1),
                    119:   array(NULL),
                    120:   array(null),
                    121:   array("string"),
                    122:   array(true),
                    123:   array(TRUE),
                    124:   array(false),
                    125:   array(FALSE),
                    126:   array(1,2,3,4),
                    127:   array(1 => "One", "two" => 2),
                    128: 
                    129:   /* undefined and unset vars */
                    130:   @$unset_string1,
                    131:   @$unset_string2,
                    132:   @$unset_heredoc,
                    133:   @$undefined_var 
                    134: );
                    135: /* loop through the $not_strings to see working of 
                    136:    is_string() on non string types, expected output bool(false) */
                    137: $loop_counter = 1;
                    138: foreach ($not_strings as $type ) {
                    139:   echo "-- Iteration $loop_counter --\n"; $loop_counter++;
                    140:   var_dump( is_string($type) );
                    141: }
                    142: 
                    143: echo "\n*** Testing error conditions ***\n";
                    144: //Zero argument
                    145: var_dump( is_string() );
                    146: 
                    147: //arguments more than expected 
                    148: var_dump( is_string("string", "test") );
                    149:  
                    150: echo "Done\n";
                    151: 
                    152: // close the resources used
                    153: fclose($fp);
                    154: closedir($dfp);
                    155: 
                    156: ?>
                    157: --EXPECTF--
                    158: *** Testing is_string() with valid string values ***
                    159: -- Iteration 1 --
                    160: bool(true)
                    161: -- Iteration 2 --
                    162: bool(true)
                    163: -- Iteration 3 --
                    164: bool(true)
                    165: -- Iteration 4 --
                    166: bool(true)
                    167: -- Iteration 5 --
                    168: bool(true)
                    169: -- Iteration 6 --
                    170: bool(true)
                    171: -- Iteration 7 --
                    172: bool(true)
                    173: -- Iteration 8 --
                    174: bool(true)
                    175: -- Iteration 9 --
                    176: bool(true)
                    177: -- Iteration 10 --
                    178: bool(true)
                    179: -- Iteration 11 --
                    180: bool(true)
                    181: -- Iteration 12 --
                    182: bool(true)
                    183: -- Iteration 13 --
                    184: bool(true)
                    185: -- Iteration 14 --
                    186: bool(true)
                    187: -- Iteration 15 --
                    188: bool(true)
                    189: -- Iteration 16 --
                    190: bool(true)
                    191: -- Iteration 17 --
                    192: bool(true)
                    193: -- Iteration 18 --
                    194: bool(true)
                    195: -- Iteration 19 --
                    196: bool(true)
                    197: -- Iteration 20 --
                    198: bool(true)
                    199: -- Iteration 21 --
                    200: bool(true)
                    201: -- Iteration 22 --
                    202: bool(true)
                    203: 
                    204: *** Testing is_string() on non string values ***
                    205: -- Iteration 1 --
                    206: bool(false)
                    207: -- Iteration 2 --
                    208: bool(false)
                    209: -- Iteration 3 --
                    210: bool(false)
                    211: -- Iteration 4 --
                    212: bool(false)
                    213: -- Iteration 5 --
                    214: bool(false)
                    215: -- Iteration 6 --
                    216: bool(false)
                    217: -- Iteration 7 --
                    218: bool(false)
                    219: -- Iteration 8 --
                    220: bool(false)
                    221: -- Iteration 9 --
                    222: bool(false)
                    223: -- Iteration 10 --
                    224: bool(false)
                    225: -- Iteration 11 --
                    226: bool(false)
                    227: -- Iteration 12 --
                    228: bool(false)
                    229: -- Iteration 13 --
                    230: bool(false)
                    231: -- Iteration 14 --
                    232: bool(false)
                    233: -- Iteration 15 --
                    234: bool(false)
                    235: -- Iteration 16 --
                    236: bool(false)
                    237: -- Iteration 17 --
                    238: bool(false)
                    239: -- Iteration 18 --
                    240: bool(false)
                    241: -- Iteration 19 --
                    242: bool(false)
                    243: -- Iteration 20 --
                    244: bool(false)
                    245: -- Iteration 21 --
                    246: bool(false)
                    247: -- Iteration 22 --
                    248: bool(false)
                    249: -- Iteration 23 --
                    250: bool(false)
                    251: -- Iteration 24 --
                    252: bool(false)
                    253: -- Iteration 25 --
                    254: bool(false)
                    255: -- Iteration 26 --
                    256: bool(false)
                    257: -- Iteration 27 --
                    258: bool(false)
                    259: -- Iteration 28 --
                    260: bool(false)
                    261: -- Iteration 29 --
                    262: bool(false)
                    263: -- Iteration 30 --
                    264: bool(false)
                    265: -- Iteration 31 --
                    266: bool(false)
                    267: -- Iteration 32 --
                    268: bool(false)
                    269: -- Iteration 33 --
                    270: bool(false)
                    271: -- Iteration 34 --
                    272: bool(false)
                    273: -- Iteration 35 --
                    274: bool(false)
                    275: -- Iteration 36 --
                    276: bool(false)
                    277: -- Iteration 37 --
                    278: bool(false)
                    279: -- Iteration 38 --
                    280: bool(false)
                    281: -- Iteration 39 --
                    282: bool(false)
                    283: -- Iteration 40 --
                    284: bool(false)
                    285: -- Iteration 41 --
                    286: bool(false)
                    287: -- Iteration 42 --
                    288: bool(false)
                    289: -- Iteration 43 --
                    290: bool(false)
                    291: -- Iteration 44 --
                    292: bool(false)
                    293: -- Iteration 45 --
                    294: bool(false)
                    295: 
                    296: *** Testing error conditions ***
                    297: 
                    298: Warning: is_string() expects exactly 1 parameter, 0 given in %s on line %d
                    299: bool(false)
                    300: 
                    301: Warning: is_string() expects exactly 1 parameter, 2 given in %s on line %d
                    302: bool(false)
                    303: Done

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