1
0
mirror of https://github.com/php/php-src.git synced 2026-03-27 17:52:16 +01:00
Files
archived-php-src/ext/date/tests/timezone_offset_get_error.phpt
Gabriel Caruso ce1d69a1f6 Use int instead of integer in type errors
PHP requires integer typehints to be written "int" and does not
allow "integer" as an alias. This changes type error messages to
match the actual type name and avoids confusing messages like
"must be of the type integer, integer given".
2018-02-04 19:08:23 +01:00

126 lines
3.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");
set_error_handler('err');
function err($errno, $errstr) {
if ($errno === E_RECOVERABLE_ERROR) {
var_dump($errstr);
}
}
echo "*** Testing timezone_offset_get() : error conditions ***\n";
echo "\n-- Testing timezone_offset_get() function with zero arguments --\n";
try {
var_dump( timezone_offset_get() );
} catch (Error $ex) {
var_dump($ex->getMessage());
echo "\n";
}
echo "\n-- Testing timezone_offset_get() function with less than expected no. of arguments --\n";
try {
var_dump( timezone_offset_get($tz) );
} catch (Error $ex) {
var_dump($ex->getMessage());
echo "\n";
}
echo "\n-- Testing timezone_offset_get() function with more than expected no. of arguments --\n";
$extra_arg = 99;
try {
var_dump( timezone_offset_get($tz, $date, $extra_arg) );
} catch (Error $ex) {
var_dump($ex->getMessage());
echo "\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";
}
?>
===DONE===
--EXPECTF--
*** Testing timezone_offset_get() : error conditions ***
-- Testing timezone_offset_get() function with zero arguments --
bool(false)
-- Testing timezone_offset_get() function with less than expected no. of arguments --
bool(false)
-- Testing timezone_offset_get() function with more than expected no. of arguments --
bool(false)
-- Testing timezone_offset_get() function with an invalid values for $object argument --
string(%d) "Argument 1 passed to timezone_offset_get() must be an instance of DateTimeZone, instance of stdClass given"
string(%d) "Argument 1 passed to timezone_offset_get() must be an instance of DateTimeZone, int given"
string(%d) "Argument 1 passed to timezone_offset_get() must be an instance of DateTimeZone, null given"
-- Testing timezone_offset_get() function with an invalid values for $datetime argument --
string(%d) "Argument 2 passed to timezone_offset_get() must implement interface DateTimeInterface, instance of stdClass given"
string(%d) "Argument 2 passed to timezone_offset_get() must implement interface DateTimeInterface, int given"
string(%d) "Argument 2 passed to timezone_offset_get() must implement interface DateTimeInterface, null given"
===DONE===