Subversion-Projekte lars-tiefland.php_share

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
--TEST--
2
DB::DB_Error
3
--SKIPIF--
4
<?php require_once dirname(__FILE__) . '/skipif.inc'; ?>
5
--FILE--
6
<?php // -*- C++ -*-
7
require_once dirname(__FILE__) . '/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 strtolower($e->toString())."\n";
43
$e = new DB_Error("test error"); print strtolower($e->toString())."\n";
44
$e = new DB_Error(DB_OK); print strtolower($e->toString())."\n";
45
$e = new DB_Error(DB_ERROR); print strtolower($e->toString())."\n";
46
$e = new DB_Error(DB_ERROR_SYNTAX); print strtolower($e->toString())."\n";
47
$e = new DB_Error(DB_ERROR_DIVZERO); print strtolower($e->toString())."\n";
48
 
49
print "testing different error modes...\n";
50
$e = new DB_Error(DB_ERROR, PEAR_ERROR_PRINT); print strtolower($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