Skip to content

Commit

Permalink
Follow symlinks in themes/
Browse files Browse the repository at this point in the history
  • Loading branch information
jacquesbh committed Jul 13, 2020
1 parent c07ee21 commit a1446a9
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 0 deletions.
9 changes: 9 additions & 0 deletions spec/Locator/RecursiveFileLocatorSpec.php
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ function it_searches_for_file(FinderFactoryInterface $finderFactory, Finder $fin
$finder->in('/search/path/')->shouldBeCalled()->willReturn($finder);
$finder->ignoreUnreadableDirs()->shouldBeCalled()->willReturn($finder);
$finder->files()->shouldBeCalled()->willReturn($finder);
$finder->followLinks()->shouldBeCalled()->willReturn($finder);

$finder->getIterator()->willReturn(new \ArrayIterator([
$splFileInfo->getWrappedObject(),
Expand All @@ -61,6 +62,7 @@ function it_searches_for_files(
$finder->in('/search/path/')->shouldBeCalled()->willReturn($finder);
$finder->ignoreUnreadableDirs()->shouldBeCalled()->willReturn($finder);
$finder->files()->shouldBeCalled()->willReturn($finder);
$finder->followLinks()->shouldBeCalled()->willReturn($finder);

$finder->getIterator()->willReturn(new \ArrayIterator([
$firstSplFileInfo->getWrappedObject(),
Expand Down Expand Up @@ -90,6 +92,7 @@ function it_searches_for_files_at_a_maximum_depth(
$finder->in('/search/path/')->shouldBeCalled()->willReturn($finder);
$finder->ignoreUnreadableDirs()->shouldBeCalled()->willReturn($finder);
$finder->files()->shouldBeCalled()->willReturn($finder);
$finder->followLinks()->shouldBeCalled()->willReturn($finder);

$finder->getIterator()->willReturn(new \ArrayIterator([
$secondSplFileInfo->getWrappedObject(),
Expand Down Expand Up @@ -123,6 +126,7 @@ function it_throws_an_exception_if_there_is_no_file_that_matches_the_given_name(
$finder->in('/search/path/')->shouldBeCalled()->willReturn($finder);
$finder->ignoreUnreadableDirs()->shouldBeCalled()->willReturn($finder);
$finder->files()->shouldBeCalled()->willReturn($finder);
$finder->followLinks()->shouldBeCalled()->willReturn($finder);

$finder->getIterator()->willReturn(new \ArrayIterator());

Expand All @@ -139,6 +143,7 @@ function it_throws_an_exception_if_there_is_there_are_not_any_files_that_matches
$finder->in('/search/path/')->shouldBeCalled()->willReturn($finder);
$finder->ignoreUnreadableDirs()->shouldBeCalled()->willReturn($finder);
$finder->files()->shouldBeCalled()->willReturn($finder);
$finder->followLinks()->shouldBeCalled()->willReturn($finder);

$finder->getIterator()->willReturn(new \ArrayIterator());

Expand All @@ -159,11 +164,13 @@ function it_isolates_finding_paths_from_multiple_sources(
$firstFinder->in('/search/path/first/')->shouldBeCalled()->willReturn($firstFinder);
$firstFinder->ignoreUnreadableDirs()->shouldBeCalled()->willReturn($firstFinder);
$firstFinder->files()->shouldBeCalled()->willReturn($firstFinder);
$firstFinder->followLinks()->shouldBeCalled()->willReturn($firstFinder);

$secondFinder->name('readme.md')->shouldBeCalled()->willReturn($secondFinder);
$secondFinder->in('/search/path/second/')->shouldBeCalled()->willReturn($secondFinder);
$secondFinder->ignoreUnreadableDirs()->shouldBeCalled()->willReturn($secondFinder);
$secondFinder->files()->shouldBeCalled()->willReturn($secondFinder);
$secondFinder->followLinks()->shouldBeCalled()->willReturn($secondFinder);

$firstFinder->getIterator()->willReturn(new \ArrayIterator([$splFileInfo->getWrappedObject()]));
$secondFinder->getIterator()->willReturn(new \ArrayIterator());
Expand All @@ -189,11 +196,13 @@ function it_silences_finder_exceptions_even_if_searching_in_multiple_sources(
$firstFinder->in('/search/path/first/')->shouldBeCalled()->willReturn($firstFinder);
$firstFinder->ignoreUnreadableDirs()->shouldBeCalled()->willReturn($firstFinder);
$firstFinder->files()->shouldBeCalled()->willReturn($firstFinder);
$firstFinder->followLinks()->shouldBeCalled()->willReturn($firstFinder);

$secondFinder->name('readme.md')->shouldBeCalled()->willReturn($secondFinder);
$secondFinder->in('/search/path/second/')->shouldBeCalled()->willReturn($secondFinder);
$secondFinder->ignoreUnreadableDirs()->shouldBeCalled()->willReturn($secondFinder);
$secondFinder->files()->shouldBeCalled()->willReturn($secondFinder);
$secondFinder->followLinks()->shouldBeCalled()->willReturn($secondFinder);

$firstFinder->getIterator()->willReturn(new \ArrayIterator([$splFileInfo->getWrappedObject()]));
$secondFinder->getIterator()->willThrow(\InvalidArgumentException::class);
Expand Down
1 change: 1 addition & 0 deletions src/Locator/RecursiveFileLocator.php
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ private function doLocateFilesNamed(string $name): \Generator

$finder
->files()
->followLinks()
->name($name)
->ignoreUnreadableDirs()
->in($path);
Expand Down

0 comments on commit a1446a9

Please sign in to comment.