o1 = Z_PHPTIMEZONE_P(tz1);
o2 = Z_PHPTIMEZONE_P(tz2);
- ZEND_ASSERT(o1->initialized && o2->initialized);
+ if (!o1->initialized || !o2->initialized) {
- php_error_docref(NULL, E_WARNING, "Trying to compare uninitialized DateTimeZone objects");
++ zend_throw_error(NULL, "Trying to compare uninitialized DateTimeZone objects");
+ return 1;
+ }
if (o1->type != o2->type) {
php_error_docref(NULL, E_WARNING, "Trying to compare different kinds of DateTimeZone objects");
var_dump($tz1 > $tz2);
}
-var_dump($tz1 == $tz2);
+ // Test comparison of uninitialized DateTimeZone objects.
+ class MyDateTimeZone extends DateTimeZone {
+ function __construct() {
+ // parent ctor not called
+ }
+ }
+
+ $tz1 = new MyDateTimeZone();
+ $tz2 = new MyDateTimeZone();
++try {
++ var_dump($tz1 == $tz2);
++} catch (Error $e) {
++ echo $e->getMessage(), "\n";
++}
+
?>
--EXPECTF--
compare +0200 with +0200
Warning: main(): Trying to compare different kinds of DateTimeZone objects in %s on line %d
bool(false)
-
-Warning: main(): Trying to compare uninitialized DateTimeZone objects in %s on line %d
-bool(false)
++Trying to compare uninitialized DateTimeZone objects