php-src/ext/spl/tests/ArrayObject_illegal_offset.phpt
Nikita Popov 7a4b594c6f Convert SPL illegal offset type into TypeError
Make this consistent with the corresponding engine behavior.
Also adjust the messages to match.
2020-08-03 11:17:49 +02:00

40 lines
680 B
PHP

--TEST--
ArrayObject illegal offset
--FILE--
<?php
$ao = new ArrayObject([1, 2, 3]);
try {
var_dump($ao[[]]);
} catch (TypeError $e) {
echo $e->getMessage(), "\n";
}
try {
$ao[[]] = new stdClass;
} catch (TypeError $e) {
echo $e->getMessage(), "\n";
}
try {
$ref =& $ao[[]];
} catch (TypeError $e) {
echo $e->getMessage(), "\n";
}
try {
var_dump(isset($ao[[]]));
} catch (TypeError $e) {
echo $e->getMessage(), "\n";
}
try {
unset($ao[[]]);
} catch (TypeError $e) {
echo $e->getMessage(), "\n";
}
?>
--EXPECT--
Illegal offset type
Illegal offset type
Illegal offset type
Illegal offset type in isset or empty
Illegal offset type in unset