Skip to content

Commit 4c22d54

Browse files
author
Zoe Slattery
committed
ReflectionClass constructor tests
1 parent 2d098d1 commit 4c22d54

File tree

2 files changed

+100
-0
lines changed

2 files changed

+100
-0
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
--TEST--
2+
ReflectionClass::__constructor()
3+
--FILE--
4+
<?php
5+
$r1 = new ReflectionClass("stdClass");
6+
7+
$myInstance = new stdClass;
8+
$r2 = new ReflectionClass($myInstance);
9+
10+
class TrickClass {
11+
function __toString() {
12+
//Return the name of another class
13+
return "Exception";
14+
}
15+
}
16+
$myTrickClass = new TrickClass;
17+
$r3 = new ReflectionClass($myTrickClass);
18+
19+
var_dump($r1, $r2, $r3);
20+
?>
21+
--EXPECTF--
22+
object(ReflectionClass)#%d (1) {
23+
["name"]=>
24+
string(8) "stdClass"
25+
}
26+
object(ReflectionClass)#%d (1) {
27+
["name"]=>
28+
string(8) "stdClass"
29+
}
30+
object(ReflectionClass)#%d (1) {
31+
["name"]=>
32+
string(10) "TrickClass"
33+
}
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
--TEST--
2+
ReflectionClass::__constructor() - bad arguments
3+
--FILE--
4+
<?php
5+
try {
6+
var_dump(new ReflectionClass());
7+
} catch (Exception $e) {
8+
echo $e->getMessage() . "\n";
9+
}
10+
11+
try {
12+
var_dump(new ReflectionClass(null));
13+
} catch (Exception $e) {
14+
echo $e->getMessage() . "\n";
15+
}
16+
17+
try {
18+
var_dump(new ReflectionClass(true));
19+
} catch (Exception $e) {
20+
echo $e->getMessage() . "\n";
21+
}
22+
23+
try {
24+
var_dump(new ReflectionClass(1));
25+
} catch (Exception $e) {
26+
echo $e->getMessage() . "\n";
27+
}
28+
29+
try {
30+
var_dump(new ReflectionClass(array(1,2,3)));
31+
} catch (Exception $e) {
32+
echo $e->getMessage() . "\n";
33+
}
34+
35+
try {
36+
var_dump(new ReflectionClass("stdClass", 1));
37+
} catch (Exception $e) {
38+
echo $e->getMessage() . "\n";
39+
}
40+
41+
try {
42+
var_dump(new ReflectionClass("X"));
43+
} catch (Exception $e) {
44+
echo $e->getMessage() . "\n";
45+
}
46+
47+
?>
48+
--EXPECTF--
49+
50+
Warning: ReflectionClass::__construct() expects exactly 1 parameter, 0 given in %s on line 3
51+
object(ReflectionClass)#%d (1) {
52+
["name"]=>
53+
string(0) ""
54+
}
55+
Class does not exist
56+
Class 1 does not exist
57+
Class 1 does not exist
58+
59+
Notice: Array to string conversion in %s on line 27
60+
Class Array does not exist
61+
62+
Warning: ReflectionClass::__construct() expects exactly 1 parameter, 2 given in %s on line 33
63+
object(ReflectionClass)#%d (1) {
64+
["name"]=>
65+
string(0) ""
66+
}
67+
Class X does not exist

0 commit comments

Comments
 (0)