summaryrefslogtreecommitdiff
path: root/Zend/tests/bug26166.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/tests/bug26166.phpt')
-rwxr-xr-xZend/tests/bug26166.phpt141
1 files changed, 74 insertions, 67 deletions
diff --git a/Zend/tests/bug26166.phpt b/Zend/tests/bug26166.phpt
index 01344cfb1..60624ed98 100755
--- a/Zend/tests/bug26166.phpt
+++ b/Zend/tests/bug26166.phpt
@@ -1,67 +1,74 @@
---TEST--
-Bug #26166 (__toString() crash when no values returned)
---FILE--
-<?php
-class Foo
-{
- function __toString()
- {
- return "Hello World!\n";
- }
-}
-
-class Bar
-{
- private $obj;
-
- function __construct()
- {
- $this->obj = new Foo();
- }
-
- function __toString()
- {
- return $this->obj->__toString();
- }
-}
-
-$o = new Bar;
-echo $o;
-
-echo "===THROW===\n";
-
-class Error
-{
- function __toString() {
- throw new Exception("This is an error!");
- }
-}
-
-$o = new Error;
-try {
- echo $o;
-}
-catch (Exception $e) {
- echo "Got the exception\n";
-}
-
-echo "===NONE===\n";
-
-class None
-{
- function __toString() {
- }
-}
-
-$o = new None;
-echo $o;
-
-?>
-===DONE===
---EXPECTF--
-Hello World!
-===THROW===
-Got the exception
-===NONE===
-
-Fatal error: Method None::__toString() must return a string value in %sbug26166.php on line %d
+--TEST--
+Bug #26166 (__toString() crash when no values returned)
+--FILE--
+<?php
+
+class Foo
+{
+ function __toString()
+ {
+ return "Hello World!\n";
+ }
+}
+
+class Bar
+{
+ private $obj;
+
+ function __construct()
+ {
+ $this->obj = new Foo();
+ }
+
+ function __toString()
+ {
+ return $this->obj->__toString();
+ }
+}
+
+$o = new Bar;
+echo $o;
+
+echo "===NONE===\n";
+
+function my_error_handler($errno, $errstr, $errfile, $errline) {
+ var_dump($errstr);
+}
+
+set_error_handler('my_error_handler');
+
+class None
+{
+ function __toString() {
+ }
+}
+
+$o = new None;
+echo $o;
+
+echo "===THROW===\n";
+
+class Error
+{
+ function __toString() {
+ throw new Exception("This is an error!");
+ }
+}
+
+$o = new Error;
+try {
+ echo $o;
+}
+catch (Exception $e) {
+ echo "Got the exception\n";
+}
+
+?>
+===DONE===
+--EXPECTF--
+Hello World!
+===NONE===
+string(52) "Method None::__toString() must return a string value"
+===THROW===
+
+Fatal error: Method Error::__toString() must not throw an exception in %sbug26166.php on line %d