1--TEST--
2IntlCalendar::before()/after(): bad arguments
3--INI--
4date.timezone=Atlantic/Azores
5--SKIPIF--
6<?php
7if (!extension_loaded('intl'))
8	die('skip intl extension not enabled');
9--FILE--
10<?php
11ini_set("intl.error_level", E_WARNING);
12
13$c = new IntlGregorianCalendar(NULL, 'pt_PT');
14
15function eh($errno, $errstr) {
16echo "error: $errno, $errstr\n";
17}
18set_error_handler('eh');
19
20try {
21	var_dump($c->after());
22} catch (Error $ex) {
23	echo "error: " . $ex->getCode() . ", " . $ex->getMessage() . "\n\n";
24}
25try {
26	var_dump($c->before());
27} catch (Error $ex) {
28	echo "error: " . $ex->getCode() . ", " . $ex->getMessage() . "\n\n";
29}
30
31try {
32	var_dump($c->after(1));
33} catch (Error $ex) {
34	echo "error: " . $ex->getCode() . ", " . $ex->getMessage() . "\n\n";
35}
36try {
37	var_dump($c->before(1));
38} catch (Error $ex) {
39	echo "error: " . $ex->getCode() . ", " . $ex->getMessage() . "\n\n";
40}
41
42try{
43	var_dump($c->after($c, 1));
44} catch (Error $ex) {
45	echo "error: " . $ex->getCode() . ", " . $ex->getMessage() . "\n\n";
46}
47try {
48	var_dump($c->before($c, 1));
49} catch (Error $ex) {
50	echo "error: " . $ex->getCode() . ", " . $ex->getMessage() . "\n\n";
51}
52
53try {
54	var_dump(intlcal_after($c));
55} catch (Error $ex) {
56	echo "error: " . $ex->getCode() . ", " . $ex->getMessage() . "\n\n";
57}
58try {
59	var_dump(intlcal_before($c));
60} catch (Error $ex) {
61	echo "error: " . $ex->getCode() . ", " . $ex->getMessage() . "\n\n";
62}
63--EXPECT--
64error: 2, IntlCalendar::after() expects exactly 1 parameter, 0 given
65error: 2, IntlCalendar::after(): intlcal_before/after: bad arguments
66bool(false)
67error: 2, IntlCalendar::before() expects exactly 1 parameter, 0 given
68error: 2, IntlCalendar::before(): intlcal_before/after: bad arguments
69bool(false)
70error: 0, Argument 1 passed to IntlCalendar::after() must be an instance of IntlCalendar, int given
71
72error: 0, Argument 1 passed to IntlCalendar::before() must be an instance of IntlCalendar, int given
73
74error: 2, IntlCalendar::after() expects exactly 1 parameter, 2 given
75error: 2, IntlCalendar::after(): intlcal_before/after: bad arguments
76bool(false)
77error: 2, IntlCalendar::before() expects exactly 1 parameter, 2 given
78error: 2, IntlCalendar::before(): intlcal_before/after: bad arguments
79bool(false)
80error: 2, intlcal_after() expects exactly 2 parameters, 1 given
81error: 2, intlcal_after(): intlcal_before/after: bad arguments
82bool(false)
83error: 2, intlcal_before() expects exactly 2 parameters, 1 given
84error: 2, intlcal_before(): intlcal_before/after: bad arguments
85bool(false)
86