[ Index ] |
|
Code source de SPIP Agora 1.4 |
1 --TEST-- 2 DB::parseDSN 3 --SKIPIF-- 4 <?php chdir(dirname(__FILE__)); require_once './skipif.inc'; ?> 5 --FILE-- 6 <?php // -*- C++ -*- 7 require_once './include.inc'; 8 require_once 'DB.php'; 9 10 function test($dsn) { 11 echo "DSN: $dsn\n"; 12 print_r(DB::parseDSN($dsn)); 13 } 14 15 function testArray($dsn) { 16 echo "DSN: array\n"; 17 print_r(DB::parseDSN($dsn)); 18 } 19 20 print "testing DB::parseDSN...\n\n"; 21 22 test("mysql"); 23 test("odbc(mssql)"); 24 test('odbc(db2)://user:password@/database'); 25 test('odbc(access):///database'); 26 test('odbc://admin@/datasourceName'); 27 test("mysql://localhost"); 28 test("mysql://remote.host.com/db"); 29 test("oci8://system:manager@"); 30 test("oci8://user:pass@tns-name"); 31 test("odbc(solid)://foo:bar@tcp+localhost+1313"); // deprecated 32 test("pgsql://user@unix+localhost/pear"); // deprecated 33 test("ibase://user%40domain:password@host"); 34 test("ibase://user@domain:pass@word@/database"); // also supported 35 test("ifx://user@domain:pass@word@host.com//usr/db/general.db"); 36 test('ifx://remote.host.com/c:\windows\my.db'); 37 test('oci8://SHOOTOUT:******@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.101.161)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=TIS)))'); 38 39 // new formats 40 test("odbc(solid)://foo:bar@localhost:1313"); 41 test("pgsql://user@unix()/pear"); 42 test("mysql://user@unix(/path/to/socket)/pear"); 43 test("pgsql://user@tcp()/pear"); 44 test("pgsql://user@tcp(somehost)/pear"); 45 test("pgsql://user:pass@word@tcp(somehost:7777)/pear"); 46 47 // special backend options 48 test('ibase://user:pass@localhost//var/lib/dbase.dbf?role=foo'); 49 test('dbase://@/?role=foo&dialect=bar'); 50 test('sqlite:////unix/path/to/database?option=value&anotheroption=anothervalue'); 51 test('sqlite:///c:/win/path/to/database?option=value'); 52 53 // some examples from manual 54 test('mysql://username@hostspec'); 55 test('mysql://hostspec/database'); 56 test('mysql://hostspec'); 57 test('mysql:///database'); 58 59 // array tests 60 $array = array( 61 'phptype' => 'mysql', 62 'hostspec' => 'foobar', 63 ); 64 testArray($array); 65 66 ?> 67 --GET-- 68 --POST-- 69 --EXPECT-- 70 testing DB::parseDSN... 71 72 DSN: mysql 73 Array 74 ( 75 [phptype] => mysql 76 [dbsyntax] => mysql 77 [username] => 78 [password] => 79 [protocol] => 80 [hostspec] => 81 [port] => 82 [socket] => 83 [database] => 84 ) 85 DSN: odbc(mssql) 86 Array 87 ( 88 [phptype] => odbc 89 [dbsyntax] => mssql 90 [username] => 91 [password] => 92 [protocol] => 93 [hostspec] => 94 [port] => 95 [socket] => 96 [database] => 97 ) 98 DSN: odbc(db2)://user:password@/database 99 Array 100 ( 101 [phptype] => odbc 102 [dbsyntax] => db2 103 [username] => user 104 [password] => password 105 [protocol] => tcp 106 [hostspec] => 107 [port] => 108 [socket] => 109 [database] => database 110 ) 111 DSN: odbc(access):///database 112 Array 113 ( 114 [phptype] => odbc 115 [dbsyntax] => access 116 [username] => 117 [password] => 118 [protocol] => tcp 119 [hostspec] => 120 [port] => 121 [socket] => 122 [database] => database 123 ) 124 DSN: odbc://admin@/datasourceName 125 Array 126 ( 127 [phptype] => odbc 128 [dbsyntax] => odbc 129 [username] => admin 130 [password] => 131 [protocol] => tcp 132 [hostspec] => 133 [port] => 134 [socket] => 135 [database] => datasourceName 136 ) 137 DSN: mysql://localhost 138 Array 139 ( 140 [phptype] => mysql 141 [dbsyntax] => mysql 142 [username] => 143 [password] => 144 [protocol] => tcp 145 [hostspec] => localhost 146 [port] => 147 [socket] => 148 [database] => 149 ) 150 DSN: mysql://remote.host.com/db 151 Array 152 ( 153 [phptype] => mysql 154 [dbsyntax] => mysql 155 [username] => 156 [password] => 157 [protocol] => tcp 158 [hostspec] => remote.host.com 159 [port] => 160 [socket] => 161 [database] => db 162 ) 163 DSN: oci8://system:manager@ 164 Array 165 ( 166 [phptype] => oci8 167 [dbsyntax] => oci8 168 [username] => system 169 [password] => manager 170 [protocol] => tcp 171 [hostspec] => 172 [port] => 173 [socket] => 174 [database] => 175 ) 176 DSN: oci8://user:pass@tns-name 177 Array 178 ( 179 [phptype] => oci8 180 [dbsyntax] => oci8 181 [username] => user 182 [password] => pass 183 [protocol] => tcp 184 [hostspec] => tns-name 185 [port] => 186 [socket] => 187 [database] => 188 ) 189 DSN: odbc(solid)://foo:bar@tcp+localhost+1313 190 Array 191 ( 192 [phptype] => odbc 193 [dbsyntax] => solid 194 [username] => foo 195 [password] => bar 196 [protocol] => tcp 197 [hostspec] => localhost+1313 198 [port] => 199 [socket] => 200 [database] => 201 ) 202 DSN: pgsql://user@unix+localhost/pear 203 Array 204 ( 205 [phptype] => pgsql 206 [dbsyntax] => pgsql 207 [username] => user 208 [password] => 209 [protocol] => unix 210 [hostspec] => 211 [port] => 212 [socket] => localhost 213 [database] => pear 214 ) 215 DSN: ibase://user%40domain:password@host 216 Array 217 ( 218 [phptype] => ibase 219 [dbsyntax] => ibase 220 [username] => user@domain 221 [password] => password 222 [protocol] => tcp 223 [hostspec] => host 224 [port] => 225 [socket] => 226 [database] => 227 ) 228 DSN: ibase://user@domain:pass@word@/database 229 Array 230 ( 231 [phptype] => ibase 232 [dbsyntax] => ibase 233 [username] => user@domain 234 [password] => pass@word 235 [protocol] => tcp 236 [hostspec] => 237 [port] => 238 [socket] => 239 [database] => database 240 ) 241 DSN: ifx://user@domain:pass@word@host.com//usr/db/general.db 242 Array 243 ( 244 [phptype] => ifx 245 [dbsyntax] => ifx 246 [username] => user@domain 247 [password] => pass@word 248 [protocol] => tcp 249 [hostspec] => host.com 250 [port] => 251 [socket] => 252 [database] => /usr/db/general.db 253 ) 254 DSN: ifx://remote.host.com/c:\windows\my.db 255 Array 256 ( 257 [phptype] => ifx 258 [dbsyntax] => ifx 259 [username] => 260 [password] => 261 [protocol] => tcp 262 [hostspec] => remote.host.com 263 [port] => 264 [socket] => 265 [database] => c:\windows\my.db 266 ) 267 DSN: oci8://SHOOTOUT:******@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.101.161)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=TIS))) 268 Array 269 ( 270 [phptype] => oci8 271 [dbsyntax] => oci8 272 [username] => SHOOTOUT 273 [password] => ****** 274 [protocol] => tcp 275 [hostspec] => (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.101.161)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=TIS))) 276 [port] => 277 [socket] => 278 [database] => 279 ) 280 DSN: odbc(solid)://foo:bar@localhost:1313 281 Array 282 ( 283 [phptype] => odbc 284 [dbsyntax] => solid 285 [username] => foo 286 [password] => bar 287 [protocol] => tcp 288 [hostspec] => localhost 289 [port] => 1313 290 [socket] => 291 [database] => 292 ) 293 DSN: pgsql://user@unix()/pear 294 Array 295 ( 296 [phptype] => pgsql 297 [dbsyntax] => pgsql 298 [username] => user 299 [password] => 300 [protocol] => unix 301 [hostspec] => 302 [port] => 303 [socket] => 304 [database] => pear 305 ) 306 DSN: mysql://user@unix(/path/to/socket)/pear 307 Array 308 ( 309 [phptype] => mysql 310 [dbsyntax] => mysql 311 [username] => user 312 [password] => 313 [protocol] => unix 314 [hostspec] => 315 [port] => 316 [socket] => /path/to/socket 317 [database] => pear 318 ) 319 DSN: pgsql://user@tcp()/pear 320 Array 321 ( 322 [phptype] => pgsql 323 [dbsyntax] => pgsql 324 [username] => user 325 [password] => 326 [protocol] => tcp 327 [hostspec] => 328 [port] => 329 [socket] => 330 [database] => pear 331 ) 332 DSN: pgsql://user@tcp(somehost)/pear 333 Array 334 ( 335 [phptype] => pgsql 336 [dbsyntax] => pgsql 337 [username] => user 338 [password] => 339 [protocol] => tcp 340 [hostspec] => somehost 341 [port] => 342 [socket] => 343 [database] => pear 344 ) 345 DSN: pgsql://user:pass@word@tcp(somehost:7777)/pear 346 Array 347 ( 348 [phptype] => pgsql 349 [dbsyntax] => pgsql 350 [username] => user 351 [password] => pass@word 352 [protocol] => tcp 353 [hostspec] => somehost 354 [port] => 7777 355 [socket] => 356 [database] => pear 357 ) 358 DSN: ibase://user:pass@localhost//var/lib/dbase.dbf?role=foo 359 Array 360 ( 361 [phptype] => ibase 362 [dbsyntax] => ibase 363 [username] => user 364 [password] => pass 365 [protocol] => tcp 366 [hostspec] => localhost 367 [port] => 368 [socket] => 369 [database] => /var/lib/dbase.dbf 370 [role] => foo 371 ) 372 DSN: dbase://@/?role=foo&dialect=bar 373 Array 374 ( 375 [phptype] => dbase 376 [dbsyntax] => dbase 377 [username] => 378 [password] => 379 [protocol] => tcp 380 [hostspec] => 381 [port] => 382 [socket] => 383 [database] => 384 [role] => foo 385 [dialect] => bar 386 ) 387 DSN: sqlite:////unix/path/to/database?option=value&anotheroption=anothervalue 388 Array 389 ( 390 [phptype] => sqlite 391 [dbsyntax] => sqlite 392 [username] => 393 [password] => 394 [protocol] => tcp 395 [hostspec] => 396 [port] => 397 [socket] => 398 [database] => /unix/path/to/database 399 [option] => value 400 [anotheroption] => anothervalue 401 ) 402 DSN: sqlite:///c:/win/path/to/database?option=value 403 Array 404 ( 405 [phptype] => sqlite 406 [dbsyntax] => sqlite 407 [username] => 408 [password] => 409 [protocol] => tcp 410 [hostspec] => 411 [port] => 412 [socket] => 413 [database] => c:/win/path/to/database 414 [option] => value 415 ) 416 DSN: mysql://username@hostspec 417 Array 418 ( 419 [phptype] => mysql 420 [dbsyntax] => mysql 421 [username] => username 422 [password] => 423 [protocol] => tcp 424 [hostspec] => hostspec 425 [port] => 426 [socket] => 427 [database] => 428 ) 429 DSN: mysql://hostspec/database 430 Array 431 ( 432 [phptype] => mysql 433 [dbsyntax] => mysql 434 [username] => 435 [password] => 436 [protocol] => tcp 437 [hostspec] => hostspec 438 [port] => 439 [socket] => 440 [database] => database 441 ) 442 DSN: mysql://hostspec 443 Array 444 ( 445 [phptype] => mysql 446 [dbsyntax] => mysql 447 [username] => 448 [password] => 449 [protocol] => tcp 450 [hostspec] => hostspec 451 [port] => 452 [socket] => 453 [database] => 454 ) 455 DSN: mysql:///database 456 Array 457 ( 458 [phptype] => mysql 459 [dbsyntax] => mysql 460 [username] => 461 [password] => 462 [protocol] => tcp 463 [hostspec] => 464 [port] => 465 [socket] => 466 [database] => database 467 ) 468 DSN: array 469 Array 470 ( 471 [phptype] => mysql 472 [dbsyntax] => mysql 473 [username] => 474 [password] => 475 [protocol] => 476 [hostspec] => foobar 477 [port] => 478 [socket] => 479 [database] => 480 )
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Sat Feb 24 14:40:03 2007 | par Balluche grâce à PHPXref 0.7 |