]> granicus.if.org Git - php/commitdiff
- Add new tests
authorMarcus Boerger <helly@php.net>
Sun, 1 Aug 2004 21:55:58 +0000 (21:55 +0000)
committerMarcus Boerger <helly@php.net>
Sun, 1 Aug 2004 21:55:58 +0000 (21:55 +0000)
tests/classes/__call_002.phpt [new file with mode: 0755]
tests/classes/__set__get_002.phpt [new file with mode: 0755]
tests/classes/__set__get_003.phpt [new file with mode: 0755]
tests/classes/ctor_failure.phpt
tests/classes/destructor_visibility_001.phpt [new file with mode: 0755]
tests/classes/destructor_visibility_002.phpt [new file with mode: 0755]
tests/classes/destructor_visibility_003.phpt [new file with mode: 0755]

diff --git a/tests/classes/__call_002.phpt b/tests/classes/__call_002.phpt
new file mode 100755 (executable)
index 0000000..53a179f
--- /dev/null
@@ -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
diff --git a/tests/classes/__set__get_002.phpt b/tests/classes/__set__get_002.phpt
new file mode 100755 (executable)
index 0000000..71111cc
--- /dev/null
@@ -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
diff --git a/tests/classes/__set__get_003.phpt b/tests/classes/__set__get_003.phpt
new file mode 100755 (executable)
index 0000000..390d303
--- /dev/null
@@ -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
index bbebca2af8e8df7270f831a6bc133ece57f78cd7..b7d3b64dda6b94f619bb39318562d72b1e4625df 100755 (executable)
@@ -1,5 +1,5 @@
 --TEST--
-Do not call destructors if constructor fails
+ZE2 Do not call destructors if constructor fails
 --FILE--
 <?php
 
diff --git a/tests/classes/destructor_visibility_001.phpt b/tests/classes/destructor_visibility_001.phpt
new file mode 100755 (executable)
index 0000000..7674c51
--- /dev/null
@@ -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
diff --git a/tests/classes/destructor_visibility_002.phpt b/tests/classes/destructor_visibility_002.phpt
new file mode 100755 (executable)
index 0000000..2cc8333
--- /dev/null
@@ -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
diff --git a/tests/classes/destructor_visibility_003.phpt b/tests/classes/destructor_visibility_003.phpt
new file mode 100755 (executable)
index 0000000..83e3efe
--- /dev/null
@@ -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===