helly Wed May 10 21:19:37 2006 UTC
Added files: (Branch: PHP_5_2)
/php-src/tests/classes abstract_user_call.phpt tostring_001.phpt
tostring_002.phpt tostring_003.phpt
Removed files:
/php-src/tests/classes interface_construct.phpt tostring.phpt
Modified files:
/php-src/tests/classes abstract_static.phpt interfaces_003.phpt
type_hinting_001.phpt type_hinting_003.phpt
Log:
- MFH tests
http://cvs.php.net/viewcvs.cgi/php-src/tests/classes/abstract_static.phpt?r1=1.3&r2=1.3.6.1&diff_format=u
Index: php-src/tests/classes/abstract_static.phpt
diff -u php-src/tests/classes/abstract_static.phpt:1.3
php-src/tests/classes/abstract_static.phpt:1.3.6.1
--- php-src/tests/classes/abstract_static.phpt:1.3 Sat Aug 9 14:48:47 2003
+++ php-src/tests/classes/abstract_static.phpt Wed May 10 21:19:37 2006
@@ -1,21 +1,29 @@
--TEST--
-ZE2 A static abstrcat method may not be called
---SKIPIF--
-<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip
ZendEngine 2 needed'); ?>
+ZE2 A static abstrcat methods
--FILE--
<?php
-abstract class fail {
- abstract static function show();
+interface showable
+{
+ static function show();
}
-class pass extends fail {
+class pass implements showable
+{
static function show() {
echo "Call to function show()\n";
}
}
pass::show();
+
+eval('
+class fail
+{
+ abstract static function func();
+}
+');
+
fail::show();
echo "Done\n"; // shouldn't be displayed
@@ -23,4 +31,4 @@
--EXPECTF--
Call to function show()
-Fatal error: Cannot call abstract method fail::show() in %s on line %d
+Fatal error: Static function fail::func() cannot be abstract in %s on line %d
http://cvs.php.net/viewcvs.cgi/php-src/tests/classes/interfaces_003.phpt?r1=1.1.2.2&r2=1.1.2.2.2.1&diff_format=u
Index: php-src/tests/classes/interfaces_003.phpt
diff -u php-src/tests/classes/interfaces_003.phpt:1.1.2.2
php-src/tests/classes/interfaces_003.phpt:1.1.2.2.2.1
--- php-src/tests/classes/interfaces_003.phpt:1.1.2.2 Thu Oct 6 18:34:16 2005
+++ php-src/tests/classes/interfaces_003.phpt Wed May 10 21:19:37 2006
@@ -7,27 +7,20 @@
interface MyInterface
{
- public function __construct(Object $o);
+ public function __construct(MyObject $o);
}
class MyTestClass implements MyInterface
{
- public function __construct(Object $o)
+ public function __construct(MyObject $o)
{
}
}
$obj = new MyTestClass;
-class MyTestFail
-{
- public function __construct()
- {
- }
-}
-
?>
===DONE===
--EXPECTF--
-Fatal error: Argument 1 passed to MyTestClass::__construct() must be an object
of class Object, called in %sinterfaces_003.php on line %d
+Catchable fatal error: Argument 1 passed to MyTestClass::__construct() must be
an object of class MyObject, called in %sinterfaces_003.php on line %d
http://cvs.php.net/viewcvs.cgi/php-src/tests/classes/type_hinting_001.phpt?r1=1.3.2.1&r2=1.3.2.1.2.1&diff_format=u
Index: php-src/tests/classes/type_hinting_001.phpt
diff -u php-src/tests/classes/type_hinting_001.phpt:1.3.2.1
php-src/tests/classes/type_hinting_001.phpt:1.3.2.1.2.1
--- php-src/tests/classes/type_hinting_001.phpt:1.3.2.1 Thu Sep 15 19:49:58 2005
+++ php-src/tests/classes/type_hinting_001.phpt Wed May 10 21:19:37 2006
@@ -35,4 +35,4 @@
?>
--EXPECTF--
-Fatal error: Argument 1 passed to FooBar::a() must implement interface Foo,
called in %s on line 27 and defined in %s on line 12
+Catchable fatal error: Argument 1 passed to FooBar::a() must implement
interface Foo, called in %s on line 27 and defined in %s on line 12
http://cvs.php.net/viewcvs.cgi/php-src/tests/classes/type_hinting_003.phpt?r1=1.1.2.2&r2=1.1.2.2.2.1&diff_format=u
Index: php-src/tests/classes/type_hinting_003.phpt
diff -u php-src/tests/classes/type_hinting_003.phpt:1.1.2.2
php-src/tests/classes/type_hinting_003.phpt:1.1.2.2.2.1
--- php-src/tests/classes/type_hinting_003.phpt:1.1.2.2 Tue Nov 15 21:33:10 2005
+++ php-src/tests/classes/type_hinting_003.phpt Wed May 10 21:19:37 2006
@@ -57,4 +57,4 @@
int(25)
}
-Fatal error: Argument 1 passed to Test::f1() must be an array, called in
%stype_hinting_003.php on line %d and defined in %stype_hinting_003.php on line
%d
+Catchable fatal error: Argument 1 passed to Test::f1() must be an array,
called in %stype_hinting_003.php on line %d and defined in
%stype_hinting_003.php on line %d
http://cvs.php.net/viewcvs.cgi/php-src/tests/classes/abstract_user_call.phpt?view=markup&rev=1.1
Index: php-src/tests/classes/abstract_user_call.phpt
+++ php-src/tests/classes/abstract_user_call.phpt
--TEST--
ZE2 An abstrcat method cannot be called indirectly
--FILE--
<?php
abstract class test_base
{
abstract function func();
}
class test extends test_base
{
function func()
{
echo __METHOD__ . "()\n";
}
}
$o = new test;
$o->func();
call_user_func(array($o, 'test_base::func'));
?>
===DONE===
--EXPECTF--
test::func()
Fatal error: Cannot call abstract method test_base::func() in %s on line %d
http://cvs.php.net/viewcvs.cgi/php-src/tests/classes/tostring_001.phpt?view=markup&rev=1.1
Index: php-src/tests/classes/tostring_001.phpt
+++ php-src/tests/classes/tostring_001.phpt
--TEST--
ZE2 __toString()
--SKIPIF--
<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip
ZendEngine 2 needed'); ?>
--FILE--
<?php
class test1 {
}
class test2 {
function __toString() {
echo __METHOD__ . "()\n";
return "Converted\n";
}
}
echo "====test1====\n";
$o = new test1;
print_r($o);
var_dump((string)$o);
var_dump($o);
echo "====test2====\n";
$o = new test2;
print_r($o);
print $o;
var_dump($o);
echo "====test3====\n";
echo $o;
echo "====test4====\n";
echo "string:".$o;
echo "====test5====\n";
echo 1 . $o;
echo 1 . $o;
echo "====test6====\n";
echo $o.$o;
echo $o,$o;
echo "====test7====\n";
$ar = array();
$ar[$o->__toString()] = "ERROR";
echo $ar[$o];
echo "====test8====\n";
var_dump(trim($o));
var_dump(trim((string)$o));
echo "====test9====\n";
echo sprintf("%s", $o);
?>
====DONE!====
--EXPECTF--
====test1====
test1 Object
(
)
string(12) "Object id #%d"
object(test1)#%d (0) {
}
====test2====
test2 Object
(
)
test2::__toString()
Converted
object(test2)#%d (%d) {
}
====test3====
test2::__toString()
Converted
====test4====
test2::__toString()
string:Converted
====test5====
test2::__toString()
1Converted
test2::__toString()
1Converted
====test6====
test2::__toString()
test2::__toString()
Converted
Converted
test2::__toString()
Converted
test2::__toString()
Converted
====test7====
test2::__toString()
Warning: Illegal offset type in %stostring.php on line %d
====test8====
test2::__toString()
string(9) "Converted"
test2::__toString()
string(9) "Converted"
====test9====
test2::__toString()
Converted
====DONE!====
--UEXPECTF--
====test1====
test1 Object
(
)
string(12) "Object id #%d"
object(test1)#%d (0) {
}
====test2====
test2 Object
(
)
test2::__toString()
Converted
object(test2)#%d (%d) {
}
====test3====
test2::__toString()
Converted
====test4====
test2::__toString()
string:Converted
====test5====
test2::__toString()
1Converted
test2::__toString()
1Converted
====test6====
test2::__toString()
test2::__toString()
Converted
Converted
test2::__toString()
Converted
test2::__toString()
Converted
====test7====
test2::__toString()
Warning: Illegal offset type in %stostring.php on line %d
====test8====
test2::__toString()
unicode(9) "Converted"
test2::__toString()
unicode(9) "Converted"
====test9====
test2::__toString()
Converted
====DONE!====
http://cvs.php.net/viewcvs.cgi/php-src/tests/classes/tostring_002.phpt?view=markup&rev=1.1
Index: php-src/tests/classes/tostring_002.phpt
+++ php-src/tests/classes/tostring_002.phpt
--TEST--
ZE2 __toString() in __destruct
--SKIPIF--
<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip
ZendEngine 2 needed'); ?>
--FILE--
<?php
class Test
{
function __toString()
{
return "Hello\n";
}
function __destruct()
{
echo $this;
}
}
$o = new Test;
$o = NULL;
$o = new Test;
?>
====DONE====
--EXPECTF--
Hello
====DONE====
Hello
http://cvs.php.net/viewcvs.cgi/php-src/tests/classes/tostring_003.phpt?view=markup&rev=1.1
Index: php-src/tests/classes/tostring_003.phpt
+++ php-src/tests/classes/tostring_003.phpt
--TEST--
ZE2 __toString() in __destruct/exception
--SKIPIF--
<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip
ZendEngine 2 needed'); ?>
--FILE--
<?php
class Test
{
function __toString()
{
throw new Exception("Damn!");
return "Hello\n";
}
function __destruct()
{
echo $this;
}
}
try
{
$o = new Test;
$o = NULL;
}
catch(Exception $e)
{
var_dump($e->getMessage());
}
?>
====DONE====
--EXPECTF--
string(5) "Damn!"
====DONE====
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php