home *** CD-ROM | disk | FTP | other *** search
/ Enter 2004 June / ENTER.ISO / files / xampp-win32-1.4.5-installer.exe / xampp / db_error.phpt < prev    next >
Encoding:
Text File  |  2004-03-24  |  3.0 KB  |  80 lines

  1. --TEST--
  2. DB::DB_Error
  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_error_handler($errno, $errmsg, $file, $line, $vars) {
  11.     if (defined('E_STRICT')) {
  12.         if ($errno & E_STRICT
  13.             && (error_reporting() & E_STRICT) != E_STRICT) {
  14.             // Ignore E_STRICT notices unless they have been turned on
  15.             return;
  16.         }
  17.     } else {
  18.         define('E_STRICT', 2048);
  19.     }
  20.     $errortype = array (
  21.         E_ERROR => 'Error',
  22.         E_WARNING => 'Warning',
  23.         E_PARSE => 'Parsing Error',
  24.         E_NOTICE => 'Notice',
  25.         E_CORE_ERROR => 'Core Error',
  26.         E_CORE_WARNING => 'Core Warning',
  27.         E_COMPILE_ERROR => 'Compile Error',
  28.         E_COMPILE_WARNING => 'Compile Warning',
  29.         E_USER_ERROR => 'User Error',
  30.         E_USER_WARNING => 'User Warning',
  31.         E_USER_NOTICE => 'User Notice',
  32.         E_STRICT => 'Strict Notice',
  33.     );
  34.     $prefix = $errortype[$errno];
  35.     print "\n$prefix: $errmsg in " . basename($file) . " on line XXX\n";
  36. }
  37.  
  38. error_reporting(E_ALL);
  39. set_error_handler('test_error_handler');
  40.  
  41. print "testing different error codes...\n";
  42. $e = new DB_Error(); print $e->toString()."\n";
  43. $e = new DB_Error("test error"); print $e->toString()."\n";
  44. $e = new DB_Error(DB_OK); print $e->toString()."\n";
  45. $e = new DB_Error(DB_ERROR); print $e->toString()."\n";
  46. $e = new DB_Error(DB_ERROR_SYNTAX); print $e->toString()."\n";
  47. $e = new DB_Error(DB_ERROR_DIVZERO); print $e->toString()."\n";
  48.  
  49. print "testing different error modes...\n";
  50. $e = new DB_Error(DB_ERROR, PEAR_ERROR_PRINT); print $e->toString()."\n";
  51. $e = new DB_Error(DB_ERROR_SYNTAX, PEAR_ERROR_TRIGGER);
  52.  
  53. print "testing different error serverities...\n";
  54. $e = new DB_Error(DB_ERROR_SYNTAX, PEAR_ERROR_TRIGGER, E_USER_NOTICE);
  55. $e = new DB_Error(DB_ERROR_SYNTAX, PEAR_ERROR_TRIGGER, E_USER_WARNING);
  56. $e = new DB_Error(DB_ERROR_SYNTAX, PEAR_ERROR_TRIGGER, E_USER_ERROR);
  57.  
  58. ?>
  59. --GET--
  60. --POST--
  61. --EXPECT--
  62. testing different error codes...
  63. [db_error: message="DB Error: unknown error" code=-1 mode=return level=notice prefix="" info=""]
  64. [db_error: message="DB Error: test error" code=-1 mode=return level=notice prefix="" info=""]
  65. [db_error: message="DB Error: no error" code=1 mode=return level=notice prefix="" info=""]
  66. [db_error: message="DB Error: unknown error" code=-1 mode=return level=notice prefix="" info=""]
  67. [db_error: message="DB Error: syntax error" code=-2 mode=return level=notice prefix="" info=""]
  68. [db_error: message="DB Error: division by zero" code=-13 mode=return level=notice prefix="" info=""]
  69. testing different error modes...
  70. DB Error: unknown error[db_error: message="DB Error: unknown error" code=-1 mode=print level=notice prefix="" info=""]
  71.  
  72. User Notice: DB Error: syntax error in PEAR.php on line XXX
  73. testing different error serverities...
  74.  
  75. User Notice: DB Error: syntax error in PEAR.php on line XXX
  76.  
  77. User Warning: DB Error: syntax error in PEAR.php on line XXX
  78.  
  79. User Error: DB Error: syntax error in PEAR.php on line XXX
  80.