From 13f3e07ff2e2c36c8c02b4db0fc45337e9e218cb Mon Sep 17 00:00:00 2001 From: Marcus Boerger Date: Wed, 29 Sep 2004 09:36:23 +0000 Subject: [PATCH] - Add new tests --- tests/classes/array_access_008.phpt | 58 +++++++++++++++++++ tests/classes/destructor_and_exceptions.phpt | 60 ++++++++++++++++++++ 2 files changed, 118 insertions(+) create mode 100755 tests/classes/array_access_008.phpt create mode 100755 tests/classes/destructor_and_exceptions.phpt diff --git a/tests/classes/array_access_008.phpt b/tests/classes/array_access_008.phpt new file mode 100755 index 0000000000..84ecf08ba8 --- /dev/null +++ b/tests/classes/array_access_008.phpt @@ -0,0 +1,58 @@ +--TEST-- +ZE2 ArrayAccess and ASSIGN_OP operators (.=) +--FILE-- +person = array(array('name'=>'Foo')); + } + + function offsetExists($index) { + return array_key_exists($this->person, $index); + } + + function & offsetGet($index) { + return $this->person[$index]; + } + + function offsetSet($index, $value) { + $this->person[$index] = $value; + } + + function offsetUnset($index) { + unset($this->person[$index]); + } +} + +$people = new Peoples; + +var_dump($people->person[0]['name']); +$people->person[0]['name'] = $people->person[0]['name'] . 'Bar'; +var_dump($people->person[0]['name']); +$people->person[0]['name'] .= 'Baz'; +var_dump($people->person[0]['name']); + +echo "===ArrayOverloading===\n"; + +$people = new Peoples; + +var_dump($people[0]['name']); +$people[0]['name'] = $people->person[0]['name'] . 'Bar'; +var_dump($people[0]['name']); +$people[0]['name'] .= 'Baz'; +var_dump($people[0]['name']); + +?> +===DONE=== +--EXPECT-- +string(3) "Foo" +string(6) "FooBar" +string(9) "FooBarBaz" +===ArrayOverloading=== +string(3) "Foo" +string(6) "FooBar" +string(9) "FooBarBaz" +===DONE=== diff --git a/tests/classes/destructor_and_exceptions.phpt b/tests/classes/destructor_and_exceptions.phpt new file mode 100755 index 0000000000..8100c92465 --- /dev/null +++ b/tests/classes/destructor_and_exceptions.phpt @@ -0,0 +1,60 @@ +--TEST-- +ZE2 catch exception thrown in destructor +--FILE-- +getMessage() . "\n"; +} + +class FatalException extends Exception +{ + function __construct($what) + { + echo __METHOD__ . "\n"; + $o = new FailClass; + unset($o); + echo "Done: " . __METHOD__ . "\n"; + } +} + +try +{ + throw new FatalException("Damn"); +} +catch(Exception $e) +{ + echo "Caught Exception: " . $e->getMessage() . "\n"; +} +catch(FatalException $e) +{ + echo "Caught FatalException: " . $e->getMessage() . "\n"; +} + +?> +===DONE=== +--EXPECTF-- +FailClass::__destruct +Caught: FailClass +FatalException::__construct +FailClass::__destruct +Caught Exception: FailClass +===DONE=== -- 2.50.1