1
0
mirror of https://github.com/php/php-src.git synced 2026-04-03 06:02:23 +02:00
Files
archived-php-src/ext/date/tests/timezone_offset_get_error.phpt
Máté Kocsis fbe30592d6 Improve type error messages when an object is given
From now on, we always display the given object's type instead of just reporting "object".
Additionally, make the format of return type errors match the format of argument errors.

Closes GH-5625
2020-05-26 19:06:19 +02:00

81 lines
2.5 KiB
PHP

--TEST--
Test timezone_offset_get() function : error conditions
--FILE--
<?php
/* Prototype : int timezone_offset_get ( DateTimeZone $object , DateTime $datetime )
* Description: Returns the timezone offset from GMT
* Source code: ext/date/php_date.c
* Alias to functions: DateTimeZone::getOffset
*/
//Set the default time zone
date_default_timezone_set("GMT");
$tz = timezone_open("Europe/London");
$date = date_create("GMT");
echo "*** Testing timezone_offset_get() : error conditions ***\n";
echo "\n-- Testing timezone_offset_get() function with an invalid values for \$object argument --\n";
$invalid_obj = new stdClass();
try {
var_dump( timezone_offset_get($invalid_obj, $date) );
} catch (Error $ex) {
var_dump($ex->getMessage());
echo "\n";
}
$invalid_obj = 10;
try {
var_dump( timezone_offset_get($invalid_obj, $date) );
} catch (Error $ex) {
var_dump($ex->getMessage());
echo "\n";
}
$invalid_obj = null;
try {
var_dump( timezone_offset_get($invalid_obj, $date) );
} catch (Error $ex) {
var_dump($ex->getMessage());
echo "\n";
}
echo "\n-- Testing timezone_offset_get() function with an invalid values for \$datetime argument --\n";
$invalid_obj = new stdClass();
try {
var_dump( timezone_offset_get($tz, $invalid_obj) );
} catch (Error $ex) {
var_dump($ex->getMessage());
echo "\n";
}
$invalid_obj = 10;
try {
var_dump( timezone_offset_get($tz, $invalid_obj) );
} catch (Error $ex) {
var_dump($ex->getMessage());
echo "\n";
}
$invalid_obj = null;
try {
var_dump( timezone_offset_get($tz, $invalid_obj) );
} catch (Error $ex) {
var_dump($ex->getMessage());
echo "\n";
}
?>
--EXPECT--
*** Testing timezone_offset_get() : error conditions ***
-- Testing timezone_offset_get() function with an invalid values for $object argument --
string(89) "timezone_offset_get(): Argument #1 ($object) must be of type DateTimeZone, stdClass given"
string(84) "timezone_offset_get(): Argument #1 ($object) must be of type DateTimeZone, int given"
string(85) "timezone_offset_get(): Argument #1 ($object) must be of type DateTimeZone, null given"
-- Testing timezone_offset_get() function with an invalid values for $datetime argument --
string(96) "timezone_offset_get(): Argument #2 ($datetime) must be of type DateTimeInterface, stdClass given"
string(91) "timezone_offset_get(): Argument #2 ($datetime) must be of type DateTimeInterface, int given"
string(92) "timezone_offset_get(): Argument #2 ($datetime) must be of type DateTimeInterface, null given"