summaryrefslogtreecommitdiff
path: root/Zend/tests
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/tests')
-rw-r--r--Zend/tests/debug_info-error-0.0.phpt19
-rw-r--r--Zend/tests/debug_info-error-0.phpt19
-rw-r--r--Zend/tests/debug_info-error-1.0.phpt19
-rw-r--r--Zend/tests/debug_info-error-1.phpt19
-rw-r--r--Zend/tests/debug_info-error-empty_str.phpt19
-rw-r--r--Zend/tests/debug_info-error-false.phpt19
-rw-r--r--Zend/tests/debug_info-error-object.phpt19
-rw-r--r--Zend/tests/debug_info-error-resource.phpt19
-rw-r--r--Zend/tests/debug_info-error-str.phpt19
-rw-r--r--Zend/tests/debug_info-error-true.phpt19
-rw-r--r--Zend/tests/debug_info.phpt17
11 files changed, 205 insertions, 2 deletions
diff --git a/Zend/tests/debug_info-error-0.0.phpt b/Zend/tests/debug_info-error-0.0.phpt
new file mode 100644
index 0000000000..67cbe8a749
--- /dev/null
+++ b/Zend/tests/debug_info-error-0.0.phpt
@@ -0,0 +1,19 @@
+--TEST--
+Testing __debugInfo() magic method with bad returns ZERO (float)
+--FILE--
+<?php
+
+class C {
+ public $val;
+ public function __debugInfo() {
+ return $this->val;
+ }
+ public function __construct($val) {
+ $this->val = $val;
+ }
+}
+
+$c = new C(0.0);
+var_dump($c);
+--EXPECTF--
+Fatal error: __debuginfo() must return an array in %s/Zend/tests/debug_info-error-0.0.php on line %d
diff --git a/Zend/tests/debug_info-error-0.phpt b/Zend/tests/debug_info-error-0.phpt
new file mode 100644
index 0000000000..97352a8017
--- /dev/null
+++ b/Zend/tests/debug_info-error-0.phpt
@@ -0,0 +1,19 @@
+--TEST--
+Testing __debugInfo() magic method with bad returns ZERO
+--FILE--
+<?php
+
+class C {
+ public $val;
+ public function __debugInfo() {
+ return $this->val;
+ }
+ public function __construct($val) {
+ $this->val = $val;
+ }
+}
+
+$c = new C(0);
+var_dump($c);
+--EXPECTF--
+Fatal error: __debuginfo() must return an array in %s/Zend/tests/debug_info-error-0.php on line %d
diff --git a/Zend/tests/debug_info-error-1.0.phpt b/Zend/tests/debug_info-error-1.0.phpt
new file mode 100644
index 0000000000..e89a47c199
--- /dev/null
+++ b/Zend/tests/debug_info-error-1.0.phpt
@@ -0,0 +1,19 @@
+--TEST--
+Testing __debugInfo() magic method with bad returns ONE (float)
+--FILE--
+<?php
+
+class C {
+ public $val;
+ public function __debugInfo() {
+ return $this->val;
+ }
+ public function __construct($val) {
+ $this->val = $val;
+ }
+}
+
+$c = new C(1.0);
+var_dump($c);
+--EXPECTF--
+Fatal error: __debuginfo() must return an array in %s/Zend/tests/debug_info-error-1.0.php on line %d
diff --git a/Zend/tests/debug_info-error-1.phpt b/Zend/tests/debug_info-error-1.phpt
new file mode 100644
index 0000000000..a77500df2c
--- /dev/null
+++ b/Zend/tests/debug_info-error-1.phpt
@@ -0,0 +1,19 @@
+--TEST--
+Testing __debugInfo() magic method with bad returns ONE
+--FILE--
+<?php
+
+class C {
+ public $val;
+ public function __debugInfo() {
+ return $this->val;
+ }
+ public function __construct($val) {
+ $this->val = $val;
+ }
+}
+
+$c = new C(1);
+var_dump($c);
+--EXPECTF--
+Fatal error: __debuginfo() must return an array in %s/Zend/tests/debug_info-error-1.php on line %d
diff --git a/Zend/tests/debug_info-error-empty_str.phpt b/Zend/tests/debug_info-error-empty_str.phpt
new file mode 100644
index 0000000000..ea55b65ecb
--- /dev/null
+++ b/Zend/tests/debug_info-error-empty_str.phpt
@@ -0,0 +1,19 @@
+--TEST--
+Testing __debugInfo() magic method with bad returns EMPTY STRING
+--FILE--
+<?php
+
+class C {
+ public $val;
+ public function __debugInfo() {
+ return $this->val;
+ }
+ public function __construct($val) {
+ $this->val = $val;
+ }
+}
+
+$c = new C("");
+var_dump($c);
+--EXPECTF--
+Fatal error: __debuginfo() must return an array in %s/Zend/tests/debug_info-error-empty_str.php on line %d
diff --git a/Zend/tests/debug_info-error-false.phpt b/Zend/tests/debug_info-error-false.phpt
new file mode 100644
index 0000000000..9e9111326c
--- /dev/null
+++ b/Zend/tests/debug_info-error-false.phpt
@@ -0,0 +1,19 @@
+--TEST--
+Testing __debugInfo() magic method with bad returns FALSE
+--FILE--
+<?php
+
+class C {
+ public $val;
+ public function __debugInfo() {
+ return $this->val;
+ }
+ public function __construct($val) {
+ $this->val = $val;
+ }
+}
+
+$c = new C(false);
+var_dump($c);
+--EXPECTF--
+Fatal error: __debuginfo() must return an array in %s/Zend/tests/debug_info-error-false.php on line %d
diff --git a/Zend/tests/debug_info-error-object.phpt b/Zend/tests/debug_info-error-object.phpt
new file mode 100644
index 0000000000..6562b5b6da
--- /dev/null
+++ b/Zend/tests/debug_info-error-object.phpt
@@ -0,0 +1,19 @@
+--TEST--
+Testing __debugInfo() magic method with bad returns OBJECT
+--FILE--
+<?php
+
+class C {
+ public $val;
+ public function __debugInfo() {
+ return $this->val;
+ }
+ public function __construct($val) {
+ $this->val = $val;
+ }
+}
+
+$c = new C(new stdClass);
+var_dump($c);
+--EXPECTF--
+Fatal error: __debuginfo() must return an array in %s/Zend/tests/debug_info-error-object.php on line %d
diff --git a/Zend/tests/debug_info-error-resource.phpt b/Zend/tests/debug_info-error-resource.phpt
new file mode 100644
index 0000000000..c6d7be4cd9
--- /dev/null
+++ b/Zend/tests/debug_info-error-resource.phpt
@@ -0,0 +1,19 @@
+--TEST--
+Testing __debugInfo() magic method with bad returns RESOURCE
+--FILE--
+<?php
+
+class C {
+ public $val;
+ public function __debugInfo() {
+ return $this->val;
+ }
+ public function __construct($val) {
+ $this->val = $val;
+ }
+}
+
+$c = new C(fopen("data:text/plain,Foo", 'r'));
+var_dump($c);
+--EXPECTF--
+Fatal error: __debuginfo() must return an array in %s/Zend/tests/debug_info-error-resource.php on line %d
diff --git a/Zend/tests/debug_info-error-str.phpt b/Zend/tests/debug_info-error-str.phpt
new file mode 100644
index 0000000000..230ad0e93b
--- /dev/null
+++ b/Zend/tests/debug_info-error-str.phpt
@@ -0,0 +1,19 @@
+--TEST--
+Testing __debugInfo() magic method with bad returns STRING
+--FILE--
+<?php
+
+class C {
+ public $val;
+ public function __debugInfo() {
+ return $this->val;
+ }
+ public function __construct($val) {
+ $this->val = $val;
+ }
+}
+
+$c = new C("foo");
+var_dump($c);
+--EXPECTF--
+Fatal error: __debuginfo() must return an array in %s/Zend/tests/debug_info-error-str.php on line %d
diff --git a/Zend/tests/debug_info-error-true.phpt b/Zend/tests/debug_info-error-true.phpt
new file mode 100644
index 0000000000..886c601286
--- /dev/null
+++ b/Zend/tests/debug_info-error-true.phpt
@@ -0,0 +1,19 @@
+--TEST--
+Testing __debugInfo() magic method with bad returns TRUE
+--FILE--
+<?php
+
+class C {
+ public $val;
+ public function __debugInfo() {
+ return $this->val;
+ }
+ public function __construct($val) {
+ $this->val = $val;
+ }
+}
+
+$c = new C(true);
+var_dump($c);
+--EXPECTF--
+Fatal error: __debuginfo() must return an array in %s/Zend/tests/debug_info-error-true.php on line %d
diff --git a/Zend/tests/debug_info.phpt b/Zend/tests/debug_info.phpt
index c7c9f23be5..c82ddb2143 100644
--- a/Zend/tests/debug_info.phpt
+++ b/Zend/tests/debug_info.phpt
@@ -13,10 +13,21 @@ class Foo {
}
}
+class Bar {
+ public $val = 123;
+
+ public function __debugInfo() {
+ return null;
+ }
+}
+
$f = new Foo;
var_dump($f);
---EXPECT--
-object(Foo)#1 (3) {
+
+$b = new Bar;
+var_dump($b);
+--EXPECTF--
+object(Foo)#%d (3) {
["a"]=>
int(1)
["b":protected]=>
@@ -24,3 +35,5 @@ object(Foo)#1 (3) {
["c":"Foo":private]=>
int(3)
}
+object(Bar)#%d (0) {
+}