mirror of
https://github.com/DirectoryLister/DirectoryLister.git
synced 2025-08-25 15:01:16 +02:00
Fixed breadcrumbs omitting directories named '0'
This commit is contained in:
@@ -41,7 +41,9 @@ class Breadcrumbs extends ViewFunction
|
||||
{
|
||||
$breadcrumbs = Str::explode($path, $this->directorySeparator)->diff(
|
||||
explode($this->directorySeparator, $this->container->get('base_path'))
|
||||
)->filter();
|
||||
)->filter(function ($value): bool {
|
||||
return $value !== null;
|
||||
});
|
||||
|
||||
return $breadcrumbs->filter(function (string $crumb) {
|
||||
return $crumb !== '.';
|
||||
|
@@ -46,19 +46,6 @@ class BreadcrumbsTest extends TestCase
|
||||
]), $breadcrumbs('foo/bar&baz'));
|
||||
}
|
||||
|
||||
public function test_it_can_parse_breadcrumbs_from_a_subdirectory(): void
|
||||
{
|
||||
$_SERVER['SCRIPT_NAME'] = '/some/dir/index.php';
|
||||
|
||||
$breadcrumbs = new Breadcrumbs($this->container);
|
||||
|
||||
$this->assertEquals(Collection::make([
|
||||
'foo' => '?dir=foo',
|
||||
'bar' => '?dir=foo/bar',
|
||||
'baz' => '?dir=foo/bar/baz',
|
||||
]), $breadcrumbs('foo/bar/baz'));
|
||||
}
|
||||
|
||||
public function test_it_can_parse_breadcrumbs_from_the_path_with_back_slashes(): void
|
||||
{
|
||||
$breadcrumbs = new Breadcrumbs($this->container, '\\');
|
||||
@@ -69,4 +56,15 @@ class BreadcrumbsTest extends TestCase
|
||||
'baz' => '?dir=foo\bar\baz',
|
||||
]), $breadcrumbs('foo\bar\baz'));
|
||||
}
|
||||
|
||||
public function test_it_can_parse_breadcrumbs_from_the_path_with_zeros(): void
|
||||
{
|
||||
$breadcrumbs = new Breadcrumbs($this->container, '\\');
|
||||
|
||||
$this->assertEquals(Collection::make([
|
||||
'foo' => '?dir=foo',
|
||||
'0' => '?dir=foo\0',
|
||||
'bar' => '?dir=foo\0\bar',
|
||||
]), $breadcrumbs('foo\0\bar'));
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user