mirror of
https://github.com/php/php-src.git
synced 2024-10-01 23:06:11 +00:00
1c94ff0595
RFC: https://wiki.php.net/rfc/engine_exceptions_for_php7 Pending changes regarding naming of BaseException and whether it should be an interface.
126 lines
3.6 KiB
PHP
126 lines
3.6 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 (EngineException $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 (EngineException $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 (EngineException $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 (EngineException $ex) {
|
|
var_dump($ex->getMessage());
|
|
echo "\n";
|
|
}
|
|
$invalid_obj = 10;
|
|
try {
|
|
var_dump( timezone_offset_get($invalid_obj, $date) );
|
|
} catch (EngineException $ex) {
|
|
var_dump($ex->getMessage());
|
|
echo "\n";
|
|
}
|
|
$invalid_obj = null;
|
|
try {
|
|
var_dump( timezone_offset_get($invalid_obj, $date) );
|
|
} catch (EngineException $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 (EngineException $ex) {
|
|
var_dump($ex->getMessage());
|
|
echo "\n";
|
|
}
|
|
$invalid_obj = 10;
|
|
try {
|
|
var_dump( timezone_offset_get($tz, $invalid_obj) );
|
|
} catch (EngineException $ex) {
|
|
var_dump($ex->getMessage());
|
|
echo "\n";
|
|
}
|
|
$invalid_obj = null;
|
|
try {
|
|
var_dump( timezone_offset_get($tz, $invalid_obj) );
|
|
} catch (EngineException $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, integer 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, integer given"
|
|
|
|
string(%d) "Argument 2 passed to timezone_offset_get() must implement interface DateTimeInterface, null given"
|
|
|
|
===DONE===
|