@@ -68,6 +68,25 @@ public function testClassBasename()
68
68
{
69
69
$ this ->assertSame ('Baz ' , class_basename ('Foo\Bar\Baz ' ));
70
70
$ this ->assertSame ('Baz ' , class_basename ('Baz ' ));
71
+ // back-slash
72
+ $ this ->assertSame ('Baz ' , class_basename ('\Baz ' ));
73
+ $ this ->assertSame ('Baz ' , class_basename ('\\\\Baz \\' ));
74
+ $ this ->assertSame ('Baz ' , class_basename ('\Foo\Bar\Baz \\' ));
75
+ $ this ->assertSame ('Baz ' , class_basename ('\Foo/Bar\Baz/ ' ));
76
+ // forward-slash
77
+ $ this ->assertSame ('Baz ' , class_basename ('/Foo/Bar/Baz/ ' ));
78
+ $ this ->assertSame ('Baz ' , class_basename ('/Foo///Bar/Baz// ' ));
79
+ // accepts objects
80
+ $ this ->assertSame ('stdClass ' , class_basename (new stdClass ()));
81
+ // edge-cases
82
+ $ this ->assertSame ('1 ' , class_basename (1 ));
83
+ $ this ->assertSame ('1 ' , class_basename ('1 ' ));
84
+ $ this ->assertSame ('' , class_basename ('' ));
85
+ $ this ->assertSame ('' , class_basename ('\\' ));
86
+ $ this ->assertSame ('' , class_basename ('\\\\' ));
87
+ $ this ->assertSame ('' , class_basename ('/ ' ));
88
+ $ this ->assertSame ('' , class_basename ('/// ' ));
89
+ $ this ->assertSame ('.. ' , class_basename ('\Foo\Bar\Baz \\.. \\' ));
71
90
}
72
91
73
92
public function testFilled ()
@@ -87,6 +106,15 @@ public function testFilled()
87
106
88
107
public function testValue ()
89
108
{
109
+ $ callable = new class
110
+ {
111
+ public function __call ($ method , $ arguments )
112
+ {
113
+ return $ arguments ;
114
+ }
115
+ };
116
+
117
+ $ this ->assertSame ($ callable , value ($ callable , 'foo ' ));
90
118
$ this ->assertSame ('foo ' , value ('foo ' ));
91
119
$ this ->assertSame ('foo ' , value (function () {
92
120
return 'foo ' ;
0 commit comments