File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / url / parse_url_variation_001.phpt
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 23:48:04 2012 UTC (12 years, 5 months ago) by misho
Branches: php, MAIN
CVS tags: v5_3_10, HEAD
php

    1: --TEST--
    2: Test parse_url() function : usage variations  - unexpected type for arg 1.
    3: --FILE--
    4: <?php
    5: /* Prototype  : proto mixed parse_url(string url, [int url_component])
    6:  * Description: Parse a URL and return its components 
    7:  * Source code: ext/standard/url.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 parse_url() : usage variations ***\n";
   17: 
   18: //get an unset variable
   19: $unset_var = 10;
   20: unset ($unset_var);
   21: 
   22: //array of values to iterate over
   23: $values = array(
   24: 
   25:       // int data
   26:       0,
   27:       1,
   28:       12345,
   29:       -2345,
   30: 
   31:       // float data
   32:       10.5,
   33:       -10.5,
   34:       10.1234567e10,
   35:       10.7654321E-10,
   36:       .5,
   37: 
   38:       // array data
   39:       array(),
   40:       array(0),
   41:       array(1),
   42:       array(1, 2),
   43:       array('color' => 'red', 'item' => 'pen'),
   44: 
   45:       // null data
   46:       NULL,
   47:       null,
   48: 
   49:       // boolean data
   50:       true,
   51:       false,
   52:       TRUE,
   53:       FALSE,
   54: 
   55:       // empty data
   56:       "",
   57:       '',
   58: 
   59:       // object data
   60:       new stdclass(),
   61: 
   62:       // undefined data
   63:       $undefined_var,
   64: 
   65:       // unset data
   66:       $unset_var,
   67: );
   68: 
   69: // loop through each element of the array for url
   70: 
   71: foreach($values as $value) {
   72:       echo "\nArg value $value \n";
   73:       var_dump( parse_url($value) );
   74: };
   75: 
   76: echo "Done";
   77: ?>
   78: --EXPECTF--
   79: *** Testing parse_url() : usage variations ***
   80: Error: 8 - Undefined variable: undefined_var, %s(60)
   81: Error: 8 - Undefined variable: unset_var, %s(63)
   82: 
   83: Arg value 0 
   84: array(1) {
   85:   ["path"]=>
   86:   string(1) "0"
   87: }
   88: 
   89: Arg value 1 
   90: array(1) {
   91:   ["path"]=>
   92:   string(1) "1"
   93: }
   94: 
   95: Arg value 12345 
   96: array(1) {
   97:   ["path"]=>
   98:   string(5) "12345"
   99: }
  100: 
  101: Arg value -2345 
  102: array(1) {
  103:   ["path"]=>
  104:   string(5) "-2345"
  105: }
  106: 
  107: Arg value 10.5 
  108: array(1) {
  109:   ["path"]=>
  110:   string(4) "10.5"
  111: }
  112: 
  113: Arg value -10.5 
  114: array(1) {
  115:   ["path"]=>
  116:   string(5) "-10.5"
  117: }
  118: 
  119: Arg value 101234567000 
  120: array(1) {
  121:   ["path"]=>
  122:   string(12) "101234567000"
  123: }
  124: 
  125: Arg value 1.07654321E-9 
  126: array(1) {
  127:   ["path"]=>
  128:   string(13) "1.07654321E-9"
  129: }
  130: 
  131: Arg value 0.5 
  132: array(1) {
  133:   ["path"]=>
  134:   string(3) "0.5"
  135: }
  136: 
  137: Arg value Array 
  138: Error: 2 - parse_url() expects parameter 1 to be string, array given, %s(70)
  139: NULL
  140: 
  141: Arg value Array 
  142: Error: 2 - parse_url() expects parameter 1 to be string, array given, %s(70)
  143: NULL
  144: 
  145: Arg value Array 
  146: Error: 2 - parse_url() expects parameter 1 to be string, array given, %s(70)
  147: NULL
  148: 
  149: Arg value Array 
  150: Error: 2 - parse_url() expects parameter 1 to be string, array given, %s(70)
  151: NULL
  152: 
  153: Arg value Array 
  154: Error: 2 - parse_url() expects parameter 1 to be string, array given, %s(70)
  155: NULL
  156: 
  157: Arg value  
  158: array(1) {
  159:   ["path"]=>
  160:   string(0) ""
  161: }
  162: 
  163: Arg value  
  164: array(1) {
  165:   ["path"]=>
  166:   string(0) ""
  167: }
  168: 
  169: Arg value 1 
  170: array(1) {
  171:   ["path"]=>
  172:   string(1) "1"
  173: }
  174: 
  175: Arg value  
  176: array(1) {
  177:   ["path"]=>
  178:   string(0) ""
  179: }
  180: 
  181: Arg value 1 
  182: array(1) {
  183:   ["path"]=>
  184:   string(1) "1"
  185: }
  186: 
  187: Arg value  
  188: array(1) {
  189:   ["path"]=>
  190:   string(0) ""
  191: }
  192: 
  193: Arg value  
  194: array(1) {
  195:   ["path"]=>
  196:   string(0) ""
  197: }
  198: 
  199: Arg value  
  200: array(1) {
  201:   ["path"]=>
  202:   string(0) ""
  203: }
  204: Error: 4096 - Object of class stdClass could not be converted to string, %s(69)
  205: 
  206: Arg value  
  207: Error: 2 - parse_url() expects parameter 1 to be string, object given, %s(70)
  208: NULL
  209: 
  210: Arg value  
  211: array(1) {
  212:   ["path"]=>
  213:   string(0) ""
  214: }
  215: 
  216: Arg value  
  217: array(1) {
  218:   ["path"]=>
  219:   string(0) ""
  220: }
  221: Done

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