From cd0b49c72aee33b3e44a9c589fcd93b9e1c7a64f Mon Sep 17 00:00:00 2001 From: Sean Finney Date: Fri, 10 Apr 2009 14:09:48 +0200 Subject: Imported Upstream version 5.2.9.dfsg.1 --- ext/spl/tests/arrayObject___construct_basic4.phpt | 103 ++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 ext/spl/tests/arrayObject___construct_basic4.phpt (limited to 'ext/spl/tests/arrayObject___construct_basic4.phpt') diff --git a/ext/spl/tests/arrayObject___construct_basic4.phpt b/ext/spl/tests/arrayObject___construct_basic4.phpt new file mode 100644 index 000000000..bf7c355ea --- /dev/null +++ b/ext/spl/tests/arrayObject___construct_basic4.phpt @@ -0,0 +1,103 @@ +--TEST-- +SPL: ArrayObject::__construct basic usage with ArrayObject::ARRAY_AS_PROPS. +--XFAIL-- +Will fail until the fix to bug 45622 is backported from PHP53 to PHP52. +--FILE-- + Access prop on instance of ArrayObject with ArrayObject::ARRAY_AS_PROPS:\n"; +$c = new C; +$ao = new ArrayObject($c, ArrayObject::ARRAY_AS_PROPS); +testAccess($c, $ao); + +echo "\n--> Access prop on instance of MyArrayObject with ArrayObject::ARRAY_AS_PROPS:\n"; +$c = new C; +$ao = new MyArrayObject($c, ArrayObject::ARRAY_AS_PROPS); +testAccess($c, $ao); + +function testAccess($c, $ao) { + echo " - Iteration:\n"; + foreach ($ao as $key=>$value) { + echo " $key=>$value\n"; + } + + echo " - Read:\n"; + @var_dump($ao->prop, $ao['prop']); + + echo " - Write:\n"; + $ao->prop = 'changed1'; + $ao['prop'] = 'changed2'; + var_dump($ao->prop, $ao['prop']); + + echo " - Isset:\n"; + var_dump(isset($ao->prop), isset($ao['prop'])); + + echo " - Unset:\n"; + unset($ao->prop); + unset($ao['prop']); + var_dump($ao->prop, $ao['prop']); + + echo " - After:\n"; + var_dump($ao, $c); +} +?> +--EXPECTF-- + +--> Access prop on instance of ArrayObject with ArrayObject::ARRAY_AS_PROPS: + - Iteration: + prop=>C::prop.orig + - Read: +string(12) "C::prop.orig" +string(12) "C::prop.orig" + - Write: +string(8) "changed2" +string(8) "changed2" + - Isset: +bool(true) +bool(true) + - Unset: + +Notice: Undefined index: prop in %s on line 39 + +Notice: Undefined index: prop in %s on line 40 + +Notice: Undefined index: prop in %s on line 40 +NULL +NULL + - After: +object(ArrayObject)#%d (0) { +} +object(C)#%d (0) { +} + +--> Access prop on instance of MyArrayObject with ArrayObject::ARRAY_AS_PROPS: + - Iteration: + prop=>C::prop.orig + - Read: +string(24) "MyArrayObject::prop.orig" +string(12) "C::prop.orig" + - Write: +string(8) "changed1" +string(8) "changed2" + - Isset: +bool(true) +bool(true) + - Unset: + +Notice: Undefined index: prop in %s on line 40 + +Notice: Undefined index: prop in %s on line 40 +NULL +NULL + - After: +object(MyArrayObject)#%d (0) { +} +object(C)#%d (0) { +} -- cgit v1.2.3