mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
49 lines
1.5 KiB
PHP
49 lines
1.5 KiB
PHP
--TEST--
|
|
SPL: ArrayObject with bad iterator class.
|
|
--FILE--
|
|
<?php
|
|
try {
|
|
$ao = new ArrayObject(array('a'=>1,'b'=>2,'c'=>3));
|
|
$ao->setIteratorClass("nonExistentClass");
|
|
foreach($ao as $key=>$value) {
|
|
echo " $key=>$value\n";
|
|
}
|
|
} catch (TypeError $e) {
|
|
var_dump($e->getMessage());
|
|
}
|
|
|
|
try {
|
|
$ao = new ArrayObject(array('a'=>1,'b'=>2,'c'=>3));
|
|
$ao->setIteratorClass("stdClass");
|
|
foreach($ao as $key=>$value) {
|
|
echo " $key=>$value\n";
|
|
}
|
|
} catch (TypeError $e) {
|
|
var_dump($e->getMessage());
|
|
}
|
|
|
|
|
|
try {
|
|
$ao = new ArrayObject(array('a'=>1,'b'=>2,'c'=>3), 0, "nonExistentClass");
|
|
foreach($ao as $key=>$value) {
|
|
echo " $key=>$value\n";
|
|
}
|
|
} catch (TypeError $e) {
|
|
var_dump($e->getMessage());
|
|
}
|
|
|
|
try {
|
|
$ao = new ArrayObject(array('a'=>1,'b'=>2,'c'=>3), 0, "stdClass");
|
|
foreach($ao as $key=>$value) {
|
|
echo " $key=>$value\n";
|
|
}
|
|
} catch (TypeError $e) {
|
|
var_dump($e->getMessage());
|
|
}
|
|
|
|
?>
|
|
--EXPECT--
|
|
string(133) "ArrayObject::setIteratorClass(): Argument #1 ($iteratorClass) must be a class name derived from ArrayIterator, nonExistentClass given"
|
|
string(125) "ArrayObject::setIteratorClass(): Argument #1 ($iteratorClass) must be a class name derived from ArrayIterator, stdClass given"
|
|
string(128) "ArrayObject::__construct(): Argument #3 ($iteratorClass) must be a class name derived from ArrayIterator, nonExistentClass given"
|
|
string(120) "ArrayObject::__construct(): Argument #3 ($iteratorClass) must be a class name derived from ArrayIterator, stdClass given"
|