mirror of
https://github.com/php/php-src.git
synced 2026-03-26 09:12:14 +01:00
Introduces a ZEND_PARSE_PARAMS_THROW flag for zpp, which forces to report FAILURE errors using a TypeException instead of a Warning, like it would happen in strict mode. Adds a zend_parse_parameters_throw() convenience function, which invokes zpp with this flag. Converts all cases I could identify, where we currently have throwing zpp usage in constructors and replaces them with this API. Error handling is still replaced to EH_THROW in some cases to handle other, domain-specific errors in constructors.
32 lines
835 B
PHP
32 lines
835 B
PHP
--TEST--
|
|
Test new DateTimeZone() : error conditions
|
|
--FILE--
|
|
<?php
|
|
/* Prototype : DateTimeZone::__construct ( string $timezone )
|
|
* Description: Returns new DateTimeZone object
|
|
* Source code: ext/date/php_date.c
|
|
* Alias to functions:
|
|
*/
|
|
//Set the default time zone
|
|
date_default_timezone_set("GMT");
|
|
|
|
echo "*** Testing DateTimeZone() : error conditions ***\n";
|
|
|
|
echo "\n-- Testing new DateTimeZone() with more than expected no. of arguments --\n";
|
|
$timezone = "GMT";
|
|
$extra_arg = 99;
|
|
try {
|
|
new DateTimeZone($timezone, $extra_arg);
|
|
} catch (TypeException $e) {
|
|
echo $e->getMessage(), "\n";
|
|
}
|
|
|
|
?>
|
|
===DONE===
|
|
--EXPECTF--
|
|
*** Testing DateTimeZone() : error conditions ***
|
|
|
|
-- Testing new DateTimeZone() with more than expected no. of arguments --
|
|
DateTimeZone::__construct() expects exactly 1 parameter, 2 given
|
|
===DONE===
|