Skip to content

Commit e28510d

Browse files
Add test for class_basename and value global helpers (#44610)
1 parent 1469ff7 commit e28510d

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

tests/Support/SupportHelpersTest.php

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,25 @@ public function testClassBasename()
6868
{
6969
$this->assertSame('Baz', class_basename('Foo\Bar\Baz'));
7070
$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\\..\\'));
7190
}
7291

7392
public function testFilled()
@@ -87,6 +106,15 @@ public function testFilled()
87106

88107
public function testValue()
89108
{
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'));
90118
$this->assertSame('foo', value('foo'));
91119
$this->assertSame('foo', value(function () {
92120
return 'foo';

0 commit comments

Comments
 (0)