1--TEST--
2Test timezone_offset_get() function : error conditions
3--FILE--
4<?php
5/* Prototype  : int timezone_offset_get  ( DateTimeZone $object  , DateTime $datetime  )
6 * Description: Returns the timezone offset from GMT
7 * Source code: ext/date/php_date.c
8 * Alias to functions: DateTimeZone::getOffset
9 */
10
11//Set the default time zone
12date_default_timezone_set("GMT");
13$tz = timezone_open("Europe/London");
14$date = date_create("GMT");
15
16echo "*** Testing timezone_offset_get() : error conditions ***\n";
17
18echo "\n-- Testing timezone_offset_get() function with zero arguments --\n";
19try {
20	var_dump( timezone_offset_get() );
21} catch (Error $ex) {
22	var_dump($ex->getMessage());
23	echo "\n";
24}
25
26echo "\n-- Testing timezone_offset_get() function with less than expected no. of arguments --\n";
27try {
28	var_dump( timezone_offset_get($tz) );
29} catch (Error $ex) {
30	var_dump($ex->getMessage());
31	echo "\n";
32}
33
34echo "\n-- Testing timezone_offset_get() function with more than expected no. of arguments --\n";
35$extra_arg = 99;
36try {
37	var_dump( timezone_offset_get($tz, $date, $extra_arg) );
38} catch (Error $ex) {
39	var_dump($ex->getMessage());
40	echo "\n";
41}
42
43echo "\n-- Testing timezone_offset_get() function with an invalid values for \$object argument --\n";
44$invalid_obj = new stdClass();
45try {
46	var_dump( timezone_offset_get($invalid_obj, $date) );
47} catch (Error $ex) {
48	var_dump($ex->getMessage());
49	echo "\n";
50}
51$invalid_obj = 10;
52try {
53	var_dump( timezone_offset_get($invalid_obj, $date) );
54} catch (Error $ex) {
55	var_dump($ex->getMessage());
56	echo "\n";
57}
58$invalid_obj = null;
59try {
60	var_dump( timezone_offset_get($invalid_obj, $date) );
61} catch (Error $ex) {
62	var_dump($ex->getMessage());
63	echo "\n";
64}
65
66echo "\n-- Testing timezone_offset_get() function with an invalid values for \$datetime argument --\n";
67$invalid_obj = new stdClass();
68try {
69	var_dump( timezone_offset_get($tz, $invalid_obj) );
70} catch (Error $ex) {
71	var_dump($ex->getMessage());
72	echo "\n";
73}
74$invalid_obj = 10;
75try {
76	var_dump( timezone_offset_get($tz, $invalid_obj) );
77} catch (Error $ex) {
78	var_dump($ex->getMessage());
79	echo "\n";
80}
81$invalid_obj = null;
82try {
83	var_dump( timezone_offset_get($tz, $invalid_obj) );
84} catch (Error $ex) {
85	var_dump($ex->getMessage());
86	echo "\n";
87}
88?>
89===DONE===
90--EXPECTF--
91*** Testing timezone_offset_get() : error conditions ***
92
93-- Testing timezone_offset_get() function with zero arguments --
94
95Warning: timezone_offset_get() expects exactly 2 parameters, 0 given in %s on line %d
96bool(false)
97
98-- Testing timezone_offset_get() function with less than expected no. of arguments --
99
100Warning: timezone_offset_get() expects exactly 2 parameters, 1 given in %s on line %d
101bool(false)
102
103-- Testing timezone_offset_get() function with more than expected no. of arguments --
104
105Warning: timezone_offset_get() expects exactly 2 parameters, 3 given in %s on line %d
106bool(false)
107
108-- Testing timezone_offset_get() function with an invalid values for $object argument --
109string(%d) "Argument 1 passed to timezone_offset_get() must be an instance of DateTimeZone, instance of stdClass given"
110
111string(%d) "Argument 1 passed to timezone_offset_get() must be an instance of DateTimeZone, int given"
112
113string(%d) "Argument 1 passed to timezone_offset_get() must be an instance of DateTimeZone, null given"
114
115
116-- Testing timezone_offset_get() function with an invalid values for $datetime argument --
117string(%d) "Argument 2 passed to timezone_offset_get() must implement interface DateTimeInterface, instance of stdClass given"
118
119string(%d) "Argument 2 passed to timezone_offset_get() must implement interface DateTimeInterface, int given"
120
121string(%d) "Argument 2 passed to timezone_offset_get() must implement interface DateTimeInterface, null given"
122
123===DONE===
124