diff options
author | Felipe Pena <felipe@php.net> | 2008-06-03 15:36:59 +0000 |
---|---|---|
committer | Felipe Pena <felipe@php.net> | 2008-06-03 15:36:59 +0000 |
commit | cde37a23b06a04a76e5f226495643306ee0b94f8 (patch) | |
tree | b13ed24fb23807a206fa9073091accaabbfd5e79 /Zend | |
parent | 15ec44e0bde2ce00fbfe26ddf4249b9f4681d160 (diff) | |
download | php-git-cde37a23b06a04a76e5f226495643306ee0b94f8.tar.gz |
- New tests
Diffstat (limited to 'Zend')
-rw-r--r-- | Zend/tests/call_static_002.phpt | 28 | ||||
-rw-r--r-- | Zend/tests/call_static_003.phpt | 40 | ||||
-rw-r--r-- | Zend/tests/call_static_004.phpt | 23 | ||||
-rw-r--r-- | Zend/tests/call_static_005.phpt | 17 | ||||
-rw-r--r-- | Zend/tests/call_static_006.phpt | 32 | ||||
-rw-r--r-- | Zend/tests/call_static_007.phpt | 36 |
6 files changed, 176 insertions, 0 deletions
diff --git a/Zend/tests/call_static_002.phpt b/Zend/tests/call_static_002.phpt new file mode 100644 index 0000000000..ba8fc6eee3 --- /dev/null +++ b/Zend/tests/call_static_002.phpt @@ -0,0 +1,28 @@ +--TEST-- +Testing __call and __callstatic with callbacks +--XFAIL-- +http://bugs.php.net/bug.php?id=45089 +--FILE-- +<?php + +class Foo { + public function __call($a, $b) { + print "nonstatic\n"; + var_dump($a); + } + static public function __callStatic($a, $b) { + print "static\n"; + var_dump($a); + } +} + +$a = new Foo; +call_user_func(array($a, 'aAa')); +call_user_func(array('Foo', 'aAa')); + +?> +--EXPECTF-- +nonstatic +unicode(3) "aAa" +static +unicode(3) "aAa" diff --git a/Zend/tests/call_static_003.phpt b/Zend/tests/call_static_003.phpt new file mode 100644 index 0000000000..f4128bdebb --- /dev/null +++ b/Zend/tests/call_static_003.phpt @@ -0,0 +1,40 @@ +--TEST-- +Testing method name case +--XFAIL-- +http://bugs.php.net/bug.php?id=45089 +--FILE-- +<?php + +class Foo { + public function __call($a, $b) { + print "nonstatic\n"; + var_dump($a); + } + static public function __callStatic($a, $b) { + print "static\n"; + var_dump($a); + } + public function test() { + $this->fOoBaR(); + self::foOBAr(); + $this::fOOBAr(); + } +} + +$a = new Foo; +$a->test(); +$a::bAr(); +foo::BAZ(); + +?> +--EXPECT-- +nonstatic +unicode(6) "fOoBaR" +nonstatic +unicode(6) "foOBAr" +nonstatic +unicode(6) "fOOBAr" +static +unicode(3) "bAr" +static +unicode(3) "BAZ" diff --git a/Zend/tests/call_static_004.phpt b/Zend/tests/call_static_004.phpt new file mode 100644 index 0000000000..40d65cfa94 --- /dev/null +++ b/Zend/tests/call_static_004.phpt @@ -0,0 +1,23 @@ +--TEST-- +Invalid method name in dynamic static call +--XFAIL-- +http://bugs.php.net/bug.php?id=45089 +--FILE-- +<?php + +class foo { + static function __callstatic($a, $b) { + var_dump($a); + } +} + +foo::AaA(); + +$a = 1; +foo::$a(); + +?> +--EXPECTF-- +unicode(3) "AaA" + +Fatal error: Function name must be a string in %s on line %d diff --git a/Zend/tests/call_static_005.phpt b/Zend/tests/call_static_005.phpt new file mode 100644 index 0000000000..7259857e55 --- /dev/null +++ b/Zend/tests/call_static_005.phpt @@ -0,0 +1,17 @@ +--TEST-- +Invalid method name in dynamic static call +--FILE-- +<?php + +class foo { + static function __callstatic($a, $b) { + var_dump($a); + } +} + +$a = 'foo::'; +$a(); + +?> +--EXPECTF-- +Fatal error: Call to undefined function foo::() in %s on line %d diff --git a/Zend/tests/call_static_006.phpt b/Zend/tests/call_static_006.phpt new file mode 100644 index 0000000000..f5df139dd0 --- /dev/null +++ b/Zend/tests/call_static_006.phpt @@ -0,0 +1,32 @@ +--TEST-- +Testing __callStatic +--XFAIL-- +http://bugs.php.net/bug.php?id=45089 +--FILE-- +<?php + +class foo { + public function aa() { + print "ok\n"; + } + static function __callstatic($a, $b) { + var_dump($a); + } +} + +foo::aa(); + +$b = 'AA'; +foo::$b(); + +foo::__construct(); + +?> +--EXPECTF-- +Strict Standards: Non-static method foo::aa() should not be called statically in %s on line %d +ok + +Strict Standards: Non-static method foo::aa() should not be called statically in %s on line %d +ok + +Fatal error: Can not call constructor in %s on line %d diff --git a/Zend/tests/call_static_007.phpt b/Zend/tests/call_static_007.phpt new file mode 100644 index 0000000000..3b2b027d25 --- /dev/null +++ b/Zend/tests/call_static_007.phpt @@ -0,0 +1,36 @@ +--TEST-- +Testing __call and __callstatic +--XFAIL-- +http://bugs.php.net/bug.php?id=45089 +--FILE-- +<?php + +class a { + public function __call($a, $b) { + print "__call: ". $a ."\n"; + } + static public function __callStatic($a, $b) { + print "__callstatic: ". $a ."\n"; + } + public function baz() { + self::Bar(); + } +} + + +$a = new a; + +$b = 'Test'; +$a::$b(); +$a->$b(); + +$a->baz(); + +a::Foo(); + +?> +--EXPECT-- +__callstatic: Test +__call: Test +__call: Bar +__callstatic: Foo |