mirror of
https://github.com/php/php-src.git
synced 2025-01-25 05:04:20 +08:00
- New tests
This commit is contained in:
parent
402fb5285d
commit
6ff90104aa
28
Zend/tests/call_static_002.phpt
Normal file
28
Zend/tests/call_static_002.phpt
Normal file
@ -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
|
||||
string(3) "aAa"
|
||||
static
|
||||
string(3) "aAa"
|
40
Zend/tests/call_static_003.phpt
Normal file
40
Zend/tests/call_static_003.phpt
Normal file
@ -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
|
||||
string(6) "fOoBaR"
|
||||
nonstatic
|
||||
string(6) "foOBAr"
|
||||
nonstatic
|
||||
string(6) "fOOBAr"
|
||||
static
|
||||
string(3) "bAr"
|
||||
static
|
||||
string(3) "BAZ"
|
23
Zend/tests/call_static_004.phpt
Normal file
23
Zend/tests/call_static_004.phpt
Normal file
@ -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
|
17
Zend/tests/call_static_005.phpt
Normal file
17
Zend/tests/call_static_005.phpt
Normal file
@ -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
|
29
Zend/tests/call_static_006.phpt
Normal file
29
Zend/tests/call_static_006.phpt
Normal file
@ -0,0 +1,29 @@
|
||||
--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--
|
||||
ok
|
||||
ok
|
||||
|
||||
Fatal error: Can not call constructor in %s on line %d
|
36
Zend/tests/call_static_007.phpt
Normal file
36
Zend/tests/call_static_007.phpt
Normal file
@ -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
|
Loading…
Reference in New Issue
Block a user