Annotation of embedaddon/php/ext/standard/tests/url/parse_url_variation_002_32bit.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Test parse_url() function : usage variations - unexpected type for arg 2.
! 3: --SKIPIF--
! 4: <?php if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platforms only"); ?>
! 5: --FILE--
! 6: <?php
! 7: /* Prototype : proto mixed parse_url(string url, [int url_component])
! 8: * Description: Parse a URL and return its components
! 9: * Source code: ext/standard/url.c
! 10: * Alias to functions:
! 11: */
! 12:
! 13: function test_error_handler($err_no, $err_msg, $filename, $linenum, $vars) {
! 14: echo "Error: $err_no - $err_msg, $filename($linenum)\n";
! 15: }
! 16: set_error_handler('test_error_handler');
! 17:
! 18: echo "*** Testing parse_url() : usage variations ***\n";
! 19:
! 20: // Initialise function arguments not being substituted (if any)
! 21: $url = 'http://secret:hideout@www.php.net:80/index.php?test=1&test2=char&test3=mixesCI#some_page_ref123';
! 22:
! 23: //get an unset variable
! 24: $unset_var = 10;
! 25: unset ($unset_var);
! 26:
! 27: //array of values to iterate over
! 28: $values = array(
! 29:
! 30: // float data
! 31: 10.5,
! 32: -10.5,
! 33: 10.1234567e10,
! 34: 10.7654321E-10,
! 35: .5,
! 36:
! 37: // array data
! 38: array(),
! 39: array(0),
! 40: array(1),
! 41: array(1, 2),
! 42: array('color' => 'red', 'item' => 'pen'),
! 43:
! 44: // null data
! 45: NULL,
! 46: null,
! 47:
! 48: // boolean data
! 49: true,
! 50: false,
! 51: TRUE,
! 52: FALSE,
! 53:
! 54: // empty data
! 55: "",
! 56: '',
! 57:
! 58: // string data
! 59: "string",
! 60: 'string',
! 61:
! 62: // object data
! 63: new stdclass(),
! 64:
! 65: // undefined data
! 66: $undefined_var,
! 67:
! 68: // unset data
! 69: $unset_var,
! 70: );
! 71:
! 72: // loop through each element of the array for url_component
! 73:
! 74: foreach($values as $value) {
! 75: echo "\nArg value $value \n";
! 76: var_dump( parse_url($url, $value) );
! 77: };
! 78:
! 79: echo "Done";
! 80: ?>
! 81: --EXPECTF--
! 82: *** Testing parse_url() : usage variations ***
! 83: Error: 8 - Undefined variable: undefined_var, %s(61)
! 84: Error: 8 - Undefined variable: unset_var, %s(64)
! 85:
! 86: Arg value 10.5
! 87: Error: 2 - parse_url(): Invalid URL component identifier 10, %s(71)
! 88: bool(false)
! 89:
! 90: Arg value -10.5
! 91: array(8) {
! 92: ["scheme"]=>
! 93: string(4) "http"
! 94: ["host"]=>
! 95: string(11) "www.php.net"
! 96: ["port"]=>
! 97: int(80)
! 98: ["user"]=>
! 99: string(6) "secret"
! 100: ["pass"]=>
! 101: string(7) "hideout"
! 102: ["path"]=>
! 103: string(10) "/index.php"
! 104: ["query"]=>
! 105: string(31) "test=1&test2=char&test3=mixesCI"
! 106: ["fragment"]=>
! 107: string(16) "some_page_ref123"
! 108: }
! 109:
! 110: Arg value 101234567000
! 111: array(8) {
! 112: ["scheme"]=>
! 113: string(4) "http"
! 114: ["host"]=>
! 115: string(11) "www.php.net"
! 116: ["port"]=>
! 117: int(80)
! 118: ["user"]=>
! 119: string(6) "secret"
! 120: ["pass"]=>
! 121: string(7) "hideout"
! 122: ["path"]=>
! 123: string(10) "/index.php"
! 124: ["query"]=>
! 125: string(31) "test=1&test2=char&test3=mixesCI"
! 126: ["fragment"]=>
! 127: string(16) "some_page_ref123"
! 128: }
! 129:
! 130: Arg value 1.07654321E-9
! 131: string(4) "http"
! 132:
! 133: Arg value 0.5
! 134: string(4) "http"
! 135:
! 136: Arg value Array
! 137: Error: 2 - parse_url() expects parameter 2 to be long, array given, %s(71)
! 138: NULL
! 139:
! 140: Arg value Array
! 141: Error: 2 - parse_url() expects parameter 2 to be long, array given, %s(71)
! 142: NULL
! 143:
! 144: Arg value Array
! 145: Error: 2 - parse_url() expects parameter 2 to be long, array given, %s(71)
! 146: NULL
! 147:
! 148: Arg value Array
! 149: Error: 2 - parse_url() expects parameter 2 to be long, array given, %s(71)
! 150: NULL
! 151:
! 152: Arg value Array
! 153: Error: 2 - parse_url() expects parameter 2 to be long, array given, %s(71)
! 154: NULL
! 155:
! 156: Arg value
! 157: string(4) "http"
! 158:
! 159: Arg value
! 160: string(4) "http"
! 161:
! 162: Arg value 1
! 163: string(11) "www.php.net"
! 164:
! 165: Arg value
! 166: string(4) "http"
! 167:
! 168: Arg value 1
! 169: string(11) "www.php.net"
! 170:
! 171: Arg value
! 172: string(4) "http"
! 173:
! 174: Arg value
! 175: Error: 2 - parse_url() expects parameter 2 to be long, string given, %s(71)
! 176: NULL
! 177:
! 178: Arg value
! 179: Error: 2 - parse_url() expects parameter 2 to be long, string given, %s(71)
! 180: NULL
! 181:
! 182: Arg value string
! 183: Error: 2 - parse_url() expects parameter 2 to be long, string given, %s(71)
! 184: NULL
! 185:
! 186: Arg value string
! 187: Error: 2 - parse_url() expects parameter 2 to be long, string given, %s(71)
! 188: NULL
! 189: Error: 4096 - Object of class stdClass could not be converted to string, %s(70)
! 190:
! 191: Arg value
! 192: Error: 2 - parse_url() expects parameter 2 to be long, object given, %s(71)
! 193: NULL
! 194:
! 195: Arg value
! 196: string(4) "http"
! 197:
! 198: Arg value
! 199: string(4) "http"
! 200: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>