]> 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:08 +0000 (17:56 +0000)
committerSteve Seear <stevseea@php.net>
Wed, 19 Mar 2008 17:56:08 +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 681fc7a8cd00ceaddd83b1f2b5bf79560b73f1f6..00ab8b149bffde6b1c4112b84cb4a7382c7bcc80 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]=>
@@ -194,9 +194,9 @@ unicode(6) "FooBar"
 unicode(9) "FooBarBaz"
 ===ArrayOverloading===
 ArrayProxy::__construct(0)
-object(ArrayProxy)#1 (2) {
+object(ArrayProxy)#%d (2) {
   [u"object":u"ArrayProxy":private]=>
-  object(Peoples)#2 (1) {
+  object(Peoples)#%d (1) {
     [u"person"]=>
     array(1) {
       [0]=>
@@ -231,9 +231,9 @@ unicode(12) "FooBarBarBaz"
 ArrayProxy::__construct(0)
 ArrayProxy::offsetUnset(0, name)
 ArrayProxy::__construct(0)
-object(ArrayProxy)#1 (2) {
+object(ArrayProxy)#%d (2) {
   [u"object":u"ArrayProxy":private]=>
-  object(Peoples)#2 (1) {
+  object(Peoples)#%d (1) {
     [u"person"]=>
     array(1) {
       [0]=>
index f254870b15486ec3fb1c90522de31e251f8c7b7c..3e6828dbd3a7fbef6a9b1deaddbd5fd59380d259 100755 (executable)
@@ -105,9 +105,9 @@ string(9) "FooBarBaz"
 
 Notice: Array to string conversion in %s on line %d
 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]=>
@@ -181,9 +181,9 @@ ArrayReferenceProxy::offsetUnset(Array, name)
 
 Notice: Array to string conversion in %s on line %d
 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]=>
@@ -224,9 +224,9 @@ unicode(9) "FooBarBaz"
 
 Notice: Array to string conversion in %s on line %d
 ArrayReferenceProxy::__construct(Array)
-object(ArrayReferenceProxy)#1 (2) {
+object(ArrayReferenceProxy)#%d (2) {
   [u"object":u"ArrayReferenceProxy":private]=>
-  object(Peoples)#2 (1) {
+  object(Peoples)#%d (1) {
     [u"person"]=>
     array(1) {
       [0]=>
@@ -300,9 +300,9 @@ ArrayReferenceProxy::offsetUnset(Array, name)
 
 Notice: Array to string conversion in %s on line %d
 ArrayReferenceProxy::__construct(Array)
-object(ArrayReferenceProxy)#1 (2) {
+object(ArrayReferenceProxy)#%d (2) {
   [u"object":u"ArrayReferenceProxy":private]=>
-  object(Peoples)#2 (1) {
+  object(Peoples)#%d (1) {
     [u"person"]=>
     array(1) {
       [0]=>
index 393814cd2e9b39c8195de0560da1c55dbe308d22..8306d6cdebc9f9f11c910666ceb830d7115917ea 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]=>
@@ -191,9 +191,9 @@ unicode(6) "FooBar"
 unicode(9) "FooBarBaz"
 ===ArrayOverloading===
 ArrayAccessReferenceProxy::__construct(0)
-object(ArrayAccessReferenceProxy)#1 (3) {
+object(ArrayAccessReferenceProxy)#%d (3) {
   [u"object":u"ArrayAccessReferenceProxy":private]=>
-  object(Peoples)#2 (1) {
+  object(Peoples)#%d (1) {
     [u"person"]=>
     &array(1) {
       [0]=>
@@ -236,9 +236,9 @@ unicode(12) "FooBarBarBaz"
 ArrayAccessReferenceProxy::__construct(0)
 ArrayAccessReferenceProxy::offsetUnset(0, name)
 ArrayAccessReferenceProxy::__construct(0)
-object(ArrayAccessReferenceProxy)#1 (3) {
+object(ArrayAccessReferenceProxy)#%d (3) {
   [u"object":u"ArrayAccessReferenceProxy":private]=>
-  object(Peoples)#2 (1) {
+  object(Peoples)#%d (1) {
     [u"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..d338fad
--- /dev/null
@@ -0,0 +1,31 @@
+--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--
+Fatal error: Declaration of C::foo() must be compatible with that of A::foo() in %s on line %d
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..3b4fd27
--- /dev/null
@@ -0,0 +1,21 @@
+--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--
+Fatal error: Declaration of B::foo() must be compatible with that of A::foo() in %s on line %d