diff options
author | Zoe Slattery <zoe@php.net> | 2008-10-17 14:40:13 +0000 |
---|---|---|
committer | Zoe Slattery <zoe@php.net> | 2008-10-17 14:40:13 +0000 |
commit | 75fcb938c58272db44ca49ad084cd3b123832372 (patch) | |
tree | b7e118342e1f0229e85951659cb9001cf6a38b31 /ext/spl/tests/arrayObject_setFlags_basic1.phpt | |
parent | f870cd858954b3fddf9a9d7a229a8db2723b2791 (diff) | |
download | php-git-75fcb938c58272db44ca49ad084cd3b123832372.tar.gz |
Committing for Robin Fernandes
Diffstat (limited to 'ext/spl/tests/arrayObject_setFlags_basic1.phpt')
-rw-r--r-- | ext/spl/tests/arrayObject_setFlags_basic1.phpt | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/ext/spl/tests/arrayObject_setFlags_basic1.phpt b/ext/spl/tests/arrayObject_setFlags_basic1.phpt new file mode 100644 index 0000000000..465e1621fc --- /dev/null +++ b/ext/spl/tests/arrayObject_setFlags_basic1.phpt @@ -0,0 +1,51 @@ +--TEST-- +SPL: ArrayObject::setFlags basic usage with ArrayObject::ARRAY_AS_PROPS. Currently fails on php.net due to bug 45622. +--FILE-- +<?php +class C extends ArrayObject { + public $p = 'object property'; +} + +function access_p($ao) { + // isset + var_dump(isset($ao->p)); + // read + var_dump($ao->p); + // write + $ao->p = $ao->p . '.changed'; + var_dump($ao->p); +} + +$ao = new C(array('p'=>'array element')); +$ao->setFlags(ArrayObject::ARRAY_AS_PROPS); + +echo "\n--> Access the real property:\n"; +access_p($ao); + +echo "\n--> Remove the real property and access the array element:\n"; +unset($ao->p); +access_p($ao); + +echo "\n--> Remove the array element and try access again:\n"; +unset($ao->p); +access_p($ao); +?> +--EXPECTF-- +--> Access the real property: +bool(true) +unicode(15) "object property" +unicode(23) "object property.changed" + +--> Remove the real property and access the array element: +bool(true) +unicode(13) "array element" +unicode(21) "array element.changed" + +--> Remove the array element and try access again: +bool(false) + +Notice: Undefined index: p in %s on line 10 +NULL + +Notice: Undefined index: p in %s on line 12 +unicode(8) ".changed" |