cvs: php-src /tests/classes __call_002.phpt __set__get_002.phpt __set__get_003.phpt destructor_visibility_001.phpt destructor_visibility_002.phpt
destructor_visibility_003.phpt
| From: | Marcus Boerger | Date: | Mon, 02 Aug 2004 08:30:00 +0000 |
| Subject: | cvs: php-src /tests/classes __call_002.phpt __set__get_002.phpt __set__get_003.phpt destructor_visibility_001.phpt destructor_visibility_002.phpt destructor_visibility_003.phpt |
||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-28135@lists.php.net to get a copy of this message | ||
helly Mon Aug 2 04:30:00 2004 EDT
Modified files:
/php-src/tests/classes __call_002.phpt __set__get_002.phpt
__set__get_003.phpt
destructor_visibility_001.phpt
destructor_visibility_002.phpt
destructor_visibility_003.phpt
Log:
MFB Enforce protocol of magic methods/classes
http://cvs.php.net/diff.php/php-src/tests/classes/__call_002.phpt?r1=1.1&r2=1.2&ty=u
Index: php-src/tests/classes/__call_002.phpt
diff -u /dev/null php-src/tests/classes/__call_002.phpt:1.2
--- /dev/null Mon Aug 2 04:29:59 2004
+++ php-src/tests/classes/__call_002.phpt Mon Aug 2 04:29:59 2004
@@ -0,0 +1,15 @@
+--TEST--
+ZE2 __call() signature check
+--SKIPIF--
+<?php if (version_compare(zend_version(), '2.0.0-dev', '<'))
die('skip ZendEngine 2 needed'); ?>
+--FILE--
+<?php
+
+class Test {
+ function __call() {
+ }
+}
+
+?>
+--EXPECTF--
+Fatal error: Method Test::__call() must take exactly 2 arguments in %s__call_002.php on line %d
http://cvs.php.net/diff.php/php-src/tests/classes/__set__get_002.phpt?r1=1.1&r2=1.2&ty=u
Index: php-src/tests/classes/__set__get_002.phpt
diff -u /dev/null php-src/tests/classes/__set__get_002.phpt:1.2
--- /dev/null Mon Aug 2 04:29:59 2004
+++ php-src/tests/classes/__set__get_002.phpt Mon Aug 2 04:29:59 2004
@@ -0,0 +1,14 @@
+--TEST--
+ZE2 __get() signature check
+--SKIPIF--
+<?php if (version_compare(zend_version(), '2.0.0-dev', '<'))
die('skip ZendEngine 2 needed'); ?>
+--FILE--
+<?php
+class Test {
+ function __get($x,$y) {
+ }
+}
+
+?>
+--EXPECTF--
+Fatal error: Method Test::__get() must take exactly 1 argument in %s__set__get_002.php on line %d
http://cvs.php.net/diff.php/php-src/tests/classes/__set__get_003.phpt?r1=1.1&r2=1.2&ty=u
Index: php-src/tests/classes/__set__get_003.phpt
diff -u /dev/null php-src/tests/classes/__set__get_003.phpt:1.2
--- /dev/null Mon Aug 2 04:29:59 2004
+++ php-src/tests/classes/__set__get_003.phpt Mon Aug 2 04:29:59 2004
@@ -0,0 +1,14 @@
+--TEST--
+ZE2 __set() signature check
+--SKIPIF--
+<?php if (version_compare(zend_version(), '2.0.0-dev', '<'))
die('skip ZendEngine 2 needed'); ?>
+--FILE--
+<?php
+class Test {
+ function __set() {
+ }
+}
+
+?>
+--EXPECTF--
+Fatal error: Method Test::__set() must take exactly 2 arguments in %s__set__get_003.php on line %d
http://cvs.php.net/diff.php/php-src/tests/classes/destructor_visibility_001.phpt?r1=1.1&r2=1.2&ty=u
Index: php-src/tests/classes/destructor_visibility_001.phpt
diff -u /dev/null php-src/tests/classes/destructor_visibility_001.phpt:1.2
--- /dev/null Mon Aug 2 04:30:00 2004
+++ php-src/tests/classes/destructor_visibility_001.phpt Mon Aug 2 04:29:59 2004
@@ -0,0 +1,24 @@
+--TEST--
+ZE2 Ensuring destructor visibility
+--SKIPIF--
+<?php if (version_compare(zend_version(), '2.0.0-dev', '<'))
die('skip ZendEngine 2 needed'); ?>
+--FILE--
+<?php
+
+class Base {
+ private function __destruct() {
+ echo __METHOD__ . "\n";
+ }
+}
+
+class Derived extends Base {
+}
+
+$obj = new Derived;
+
+unset($obj);
+
+?>
+===DONE===
+--EXPECTF--
+Fatal error: Call to private Derived::__destruct() from context '' in
%sdestructor_visibility_001.php on line %d
http://cvs.php.net/diff.php/php-src/tests/classes/destructor_visibility_002.phpt?r1=1.1&r2=1.2&ty=u
Index: php-src/tests/classes/destructor_visibility_002.phpt
diff -u /dev/null php-src/tests/classes/destructor_visibility_002.phpt:1.2
--- /dev/null Mon Aug 2 04:30:00 2004
+++ php-src/tests/classes/destructor_visibility_002.phpt Mon Aug 2 04:29:59 2004
@@ -0,0 +1,24 @@
+--TEST--
+ZE2 Ensuring destructor visibility
+--SKIPIF--
+<?php if (version_compare(zend_version(), '2.0.0-dev', '<'))
die('skip ZendEngine 2 needed'); ?>
+--FILE--
+<?php
+
+class Base {
+ private function __destruct() {
+ echo __METHOD__ . "\n";
+ }
+}
+
+class Derived extends Base {
+}
+
+$obj = new Derived;
+
+?>
+===DONE===
+--EXPECTF--
+===DONE===
+
+Warning: Call to private Derived::__destruct() from context '' during shutdown ignored in
Unknown on line %d
http://cvs.php.net/diff.php/php-src/tests/classes/destructor_visibility_003.phpt?r1=1.1&r2=1.2&ty=u
Index: php-src/tests/classes/destructor_visibility_003.phpt
diff -u /dev/null php-src/tests/classes/destructor_visibility_003.phpt:1.2
--- /dev/null Mon Aug 2 04:30:00 2004
+++ php-src/tests/classes/destructor_visibility_003.phpt Mon Aug 2 04:29:59 2004
@@ -0,0 +1,28 @@
+--TEST--
+ZE2 Ensuring destructor visibility
+--SKIPIF--
+<?php if (version_compare(zend_version(), '2.0.0-dev', '<'))
die('skip ZendEngine 2 needed'); ?>
+--FILE--
+<?php
+
+class Base {
+ private function __destruct() {
+ echo __METHOD__ . "\n";
+ }
+}
+
+class Derived extends Base {
+ public function __destruct() {
+ echo __METHOD__ . "\n";
+ }
+}
+
+$obj = new Derived;
+
+unset($obj); // Derived::__destruct is being called not Base::__destruct
+
+?>
+===DONE===
+--EXPECTF--
+Derived::__destruct
+===DONE===