]> granicus.if.org Git - php/commitdiff
Added some class tests; Replaced some hardcoded instance ids with %d.
authorSteve Seear <stevseea@php.net>
Wed, 19 Mar 2008 17:56:10 +0000 (17:56 +0000)
committerSteve Seear <stevseea@php.net>
Wed, 19 Mar 2008 17:56:10 +0000 (17:56 +0000)
tests/classes/array_access_009.phpt
tests/classes/array_access_010.phpt
tests/classes/array_access_011.phpt
tests/classes/interface_optional_arg_002.phpt [new file with mode: 0644]
tests/classes/method_override_optional_arg_001.phpt [new file with mode: 0644]
tests/classes/method_override_optional_arg_002.phpt [new file with mode: 0644]

index f77dd7bfc5cd3c1edc17c4941403711f511949f3..3862240261f21e8547d042eb33b1725ca2896139 100755 (executable)
@@ -129,9 +129,9 @@ string(6) "FooBar"
 string(9) "FooBarBaz"
 ===ArrayOverloading===
 ArrayProxy::__construct(0)
-object(ArrayProxy)#1 (2) {
+object(ArrayProxy)#%d (2) {
   ["object":"ArrayProxy":private]=>
-  object(Peoples)#2 (1) {
+  object(Peoples)#%d (1) {
     ["person"]=>
     array(1) {
       [0]=>
@@ -166,9 +166,9 @@ string(12) "FooBarBarBaz"
 ArrayProxy::__construct(0)
 ArrayProxy::offsetUnset(0, name)
 ArrayProxy::__construct(0)
-object(ArrayProxy)#1 (2) {
+object(ArrayProxy)#%d (2) {
   ["object":"ArrayProxy":private]=>
-  object(Peoples)#2 (1) {
+  object(Peoples)#%d (1) {
     ["person"]=>
     array(1) {
       [0]=>
index f655217953b6079bd5b70349d264b37426ddd7f4..e60716dc1b2d3dee2776df930a4361d271e7c178 100755 (executable)
@@ -103,9 +103,9 @@ string(6) "FooBar"
 string(9) "FooBarBaz"
 ===ArrayOverloading===
 ArrayReferenceProxy::__construct(Array)
-object(ArrayReferenceProxy)#1 (2) {
+object(ArrayReferenceProxy)#%d (2) {
   ["object":"ArrayReferenceProxy":private]=>
-  object(Peoples)#2 (1) {
+  object(Peoples)#%d (1) {
     ["person"]=>
     array(1) {
       [0]=>
@@ -143,9 +143,9 @@ string(12) "FooBarBarBaz"
 ArrayReferenceProxy::__construct(Array)
 ArrayReferenceProxy::offsetUnset(Array, name)
 ArrayReferenceProxy::__construct(Array)
-object(ArrayReferenceProxy)#1 (2) {
+object(ArrayReferenceProxy)#%d (2) {
   ["object":"ArrayReferenceProxy":private]=>
-  object(Peoples)#2 (1) {
+  object(Peoples)#%d (1) {
     ["person"]=>
     array(1) {
       [0]=>
index 1242edb8afa2efb21ddc33c03cb9630bc39d1ceb..aa20a56d39440ffb4f5d165825c6efa5d89885cd 100755 (executable)
@@ -112,9 +112,9 @@ string(6) "FooBar"
 string(9) "FooBarBaz"
 ===ArrayOverloading===
 ArrayAccessReferenceProxy::__construct(0)
-object(ArrayAccessReferenceProxy)#1 (3) {
+object(ArrayAccessReferenceProxy)#%d (3) {
   ["object":"ArrayAccessReferenceProxy":private]=>
-  object(Peoples)#2 (1) {
+  object(Peoples)#%d (1) {
     ["person"]=>
     &array(1) {
       [0]=>
@@ -157,9 +157,9 @@ string(12) "FooBarBarBaz"
 ArrayAccessReferenceProxy::__construct(0)
 ArrayAccessReferenceProxy::offsetUnset(0, name)
 ArrayAccessReferenceProxy::__construct(0)
-object(ArrayAccessReferenceProxy)#1 (3) {
+object(ArrayAccessReferenceProxy)#%d (3) {
   ["object":"ArrayAccessReferenceProxy":private]=>
-  object(Peoples)#2 (1) {
+  object(Peoples)#%d (1) {
     ["person"]=>
     &array(1) {
       [0]=>
diff --git a/tests/classes/interface_optional_arg_002.phpt b/tests/classes/interface_optional_arg_002.phpt
new file mode 100644 (file)
index 0000000..92980f6
--- /dev/null
@@ -0,0 +1,24 @@
+--TEST--
+default argument value in interface implementation
+--SKIPIF--
+<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?>
+--FILE--
+<?php
+
+interface test {
+       public function bar();
+}
+
+class foo implements test {
+
+       public function bar($arg = 2) {
+               var_dump($arg);
+       }
+}
+
+$foo = new foo;
+$foo->bar();
+
+?>
+--EXPECT--
+int(2)
\ No newline at end of file
diff --git a/tests/classes/method_override_optional_arg_001.phpt b/tests/classes/method_override_optional_arg_001.phpt
new file mode 100644 (file)
index 0000000..53272ff
--- /dev/null
@@ -0,0 +1,33 @@
+--TEST--
+Method override allows optional default argument
+--SKIPIF--
+<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?>
+--FILE--
+<?php
+
+class A {
+       function foo($arg1 = 1) {
+       }
+}
+
+class B extends A {
+       function foo($arg1 = 2, $arg2 = 3) {
+               var_dump($arg1);
+               var_dump($arg2);
+       }
+}
+
+class C extends A {
+       function foo() {
+       }
+}
+
+$b = new B();
+
+$b->foo(1);
+
+?>
+--EXPECTF--
+Strict Standards: Declaration of C::foo() should be compatible with that of A::foo() in %s on line %d
+int(1)
+int(3)
diff --git a/tests/classes/method_override_optional_arg_002.phpt b/tests/classes/method_override_optional_arg_002.phpt
new file mode 100644 (file)
index 0000000..c212b82
--- /dev/null
@@ -0,0 +1,22 @@
+--TEST--
+Omitting optional arg in method inherited from abstract class 
+--FILE--
+<?php
+
+abstract class A {
+       function foo($arg = 1) {}
+}
+
+class B extends A {
+       function foo() {
+               echo "foo\n";
+       }
+}
+
+$b = new B();
+$b->foo();
+
+?>
+--EXPECTF--
+Strict Standards: Declaration of B::foo() should be compatible with that of A::foo() in %s on line %d
+foo