]> granicus.if.org Git - php/commitdiff
ReflectionClass constructor tests
authorZoe Slattery <zoe@php.net>
Mon, 9 Jul 2007 13:22:10 +0000 (13:22 +0000)
committerZoe Slattery <zoe@php.net>
Mon, 9 Jul 2007 13:22:10 +0000 (13:22 +0000)
ext/reflection/tests/reflectionClass_constructor_001.phpt [new file with mode: 0644]
ext/reflection/tests/reflectionClass_constructor_002.phpt [new file with mode: 0644]

diff --git a/ext/reflection/tests/reflectionClass_constructor_001.phpt b/ext/reflection/tests/reflectionClass_constructor_001.phpt
new file mode 100644 (file)
index 0000000..1a70fe1
--- /dev/null
@@ -0,0 +1,33 @@
+--TEST--
+ReflectionClass::__constructor()
+--FILE--
+<?php
+$r1 = new ReflectionClass("stdClass");
+
+$myInstance = new stdClass;
+$r2 = new ReflectionClass($myInstance);
+
+class TrickClass {
+       function __toString() {
+               //Return the name of another class
+               return "Exception";
+       }
+}
+$myTrickClass = new TrickClass;
+$r3 = new ReflectionClass($myTrickClass);
+
+var_dump($r1, $r2, $r3);
+?>
+--EXPECTF--
+object(ReflectionClass)#%d (1) {
+  ["name"]=>
+  string(8) "stdClass"
+}
+object(ReflectionClass)#%d (1) {
+  ["name"]=>
+  string(8) "stdClass"
+}
+object(ReflectionClass)#%d (1) {
+  ["name"]=>
+  string(10) "TrickClass"
+}
diff --git a/ext/reflection/tests/reflectionClass_constructor_002.phpt b/ext/reflection/tests/reflectionClass_constructor_002.phpt
new file mode 100644 (file)
index 0000000..3685c63
--- /dev/null
@@ -0,0 +1,67 @@
+--TEST--
+ReflectionClass::__constructor() - bad arguments
+--FILE--
+<?php
+try {
+       var_dump(new ReflectionClass());
+} catch (Exception $e) {
+       echo $e->getMessage() . "\n";  
+}
+
+try {
+       var_dump(new ReflectionClass(null));
+} catch (Exception $e) {
+       echo $e->getMessage() . "\n";  
+}
+
+try {
+       var_dump(new ReflectionClass(true));
+} catch (Exception $e) {
+       echo $e->getMessage() . "\n";  
+}
+
+try {
+       var_dump(new ReflectionClass(1));
+} catch (Exception $e) {
+       echo $e->getMessage() . "\n";  
+}
+
+try {
+       var_dump(new ReflectionClass(array(1,2,3)));
+} catch (Exception $e) {
+       echo $e->getMessage() . "\n";  
+}
+
+try {
+       var_dump(new ReflectionClass("stdClass", 1));
+} catch (Exception $e) {
+       echo $e->getMessage() . "\n";  
+}
+
+try {
+       var_dump(new ReflectionClass("X"));
+} catch (Exception $e) {
+       echo $e->getMessage() . "\n";  
+}
+
+?>
+--EXPECTF--
+
+Warning: ReflectionClass::__construct() expects exactly 1 parameter, 0 given in %s on line 3
+object(ReflectionClass)#%d (1) {
+  ["name"]=>
+  string(0) ""
+}
+Class  does not exist
+Class 1 does not exist
+Class 1 does not exist
+
+Notice: Array to string conversion in %s on line 27
+Class Array does not exist
+
+Warning: ReflectionClass::__construct() expects exactly 1 parameter, 2 given in %s on line 33
+object(ReflectionClass)#%d (1) {
+  ["name"]=>
+  string(0) ""
+}
+Class X does not exist
\ No newline at end of file