summaryrefslogtreecommitdiff
path: root/pear/tests/pear_error4.phpt
blob: 0d6754c88bcf5618458f3b77576a04cb496ca88c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
--TEST--
PEAR_Error: expected errors
--SKIPIF--
<?php
if (!getenv('PHP_PEAR_RUNTESTS')) {
    echo 'skip';
}
?>
--FILE--
<?php // -*- PHP -*-

// Test for: PEAR.php
// Parts tested: - PEAR_Error class
//               - PEAR::expectError
//               - PEAR::popExpect

include_once "PEAR.php";

error_reporting(E_ALL);

function errorhandler($eobj)
{
    if (PEAR::isError($eobj)) {
        print "error: ".$eobj->getMessage()."\n";
    } else {
        print "errorhandler called without error object\n";
    }
}

$obj = new PEAR;
$obj->setErrorHandling(PEAR_ERROR_CALLBACK, "errorhandler");

print "subtest 1\n";
$obj->expectError(1);
$obj->raiseError("1", 1);
$obj->popExpect();
$obj->raiseError("2", 2);

print "subtest 2\n";
$obj->expectError(3);
$obj->expectError(2);
$obj->raiseError("3", 3);

print "subtest 3\n";
$obj->popExpect();
$obj->raiseError("3", 3);
$obj->popExpect();

print "subtest 4\n";
$obj->expectError(array(1,2,3,4,5));
$obj->raiseError("0", 0);
$obj->raiseError("1", 1);
$obj->raiseError("2", 2);
$obj->raiseError("3", 3);
$obj->raiseError("4", 4);
$obj->raiseError("5", 5);
$obj->raiseError("6", 6);
$obj->raiseError("error");
$obj->popExpect();

print "subtest 5\n";
$obj->expectError("*");
$obj->raiseError("42", 42);
$obj->raiseError("75", 75);
$obj->raiseError("13", 13);
$obj->popExpect();

print "subtest 6\n";
$obj->expectError();
$obj->raiseError("123", 123);
$obj->raiseError("456", 456);
$obj->raiseError("789", 789);
$obj->popExpect();

print "subtest 7\n";
$obj->expectError("syntax error");
$obj->raiseError("type mismatch");
$obj->raiseError("syntax error");
$obj->popExpect();

print "subtest 8\n";
$obj->expectError(array(1, 2, 3));
$obj->expectError(array(3, 4, 5));
$obj->raiseError(4);
$obj->delExpect(2);
$obj->raiseError(3);
$obj->delExpect(1, 3, 4, 5);
$err = $obj->delExpect(2);

?>
--EXPECT--
subtest 1
error: 2
subtest 2
error: 3
subtest 3
subtest 4
error: 0
error: 6
error: error
subtest 5
subtest 6
subtest 7
error: type mismatch
subtest 8
error: 4
error: 3
error: The expected error you submitted does not exist