summaryrefslogtreecommitdiff
path: root/Zend/tests/objects_025.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/tests/objects_025.phpt')
-rw-r--r--Zend/tests/objects_025.phpt46
1 files changed, 46 insertions, 0 deletions
diff --git a/Zend/tests/objects_025.phpt b/Zend/tests/objects_025.phpt
new file mode 100644
index 0000000..110ffc6
--- /dev/null
+++ b/Zend/tests/objects_025.phpt
@@ -0,0 +1,46 @@
+--TEST--
+Testing invalid method names with __call and __callstatic
+--FILE--
+<?php
+
+class foo {
+ public function __call($a, $b) {
+ print "non-static - ok\n";
+ }
+
+ public static function __callstatic($a, $b) {
+ print "static - ok\n";
+ }
+}
+
+$a = new foo;
+$a->foooo();
+$a::foooo();
+
+$b = 'aaaaa1';
+$a->$b();
+$a::$b();
+
+$b = ' ';
+$a->$b();
+$a::$b();
+
+$b = str_repeat('a', 10000);
+$a->$b();
+$a::$b();
+
+$b = NULL;
+$a->$b();
+
+?>
+--EXPECTF--
+non-static - ok
+static - ok
+non-static - ok
+static - ok
+non-static - ok
+static - ok
+non-static - ok
+static - ok
+
+Fatal error: Method name must be a string in %s on line %d