function it_searches_for_files(FinderFactoryInterface $finderFactory, Finder $finder, SplFileInfo $firstSplFileInfo, SplFileInfo $secondSplFileInfo) { $finderFactory->create()->willReturn($finder); $finder->name('readme.md')->shouldBeCalled()->willReturn($finder); $finder->in(['/search/path/'])->shouldBeCalled()->willReturn($finder); $finder->ignoreUnreadableDirs()->shouldBeCalled()->willReturn($finder); $finder->files()->shouldBeCalled()->willReturn($finder); $finder->getIterator()->willReturn(new \ArrayIterator([$firstSplFileInfo->getWrappedObject(), $secondSplFileInfo->getWrappedObject()])); $finder->count()->willReturn(2); $firstSplFileInfo->getPathname()->willReturn('/search/path/nested1/readme.md'); $secondSplFileInfo->getPathname()->willReturn('/search/path/nested2/readme.md'); $this->locateFilesNamed('readme.md')->shouldReturn(['/search/path/nested1/readme.md', '/search/path/nested2/readme.md']); }
function it_should_filter_by_a_list_of_files(SplFileInfo $file1, SplFileInfo $file2) { $file1->getPathname()->willReturn('path1/file.php'); $file2->getPathname()->willReturn('path2/file.php'); $iterator = new \ArrayIterator(array($file1->getWrappedObject())); $result = $this->filterByFileList($iterator); $result->count()->shouldBe(1); $files = $result->toArray(); $files[0]->shouldBe($file1); }
function it_silences_finder_exceptions_even_if_searching_in_multiple_sources(FinderFactoryInterface $finderFactory, Finder $firstFinder, Finder $secondFinder, SplFileInfo $splFileInfo) { $this->beConstructedWith($finderFactory, ['/search/path/first/', '/search/path/second/']); $finderFactory->create()->willReturn($firstFinder, $secondFinder); $firstFinder->name('readme.md')->shouldBeCalled()->willReturn($firstFinder); $firstFinder->in('/search/path/first/')->shouldBeCalled()->willReturn($firstFinder); $firstFinder->ignoreUnreadableDirs()->shouldBeCalled()->willReturn($firstFinder); $firstFinder->files()->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); $firstFinder->getIterator()->willReturn(new \ArrayIterator([$splFileInfo->getWrappedObject()])); $secondFinder->getIterator()->willThrow(\InvalidArgumentException::class); $splFileInfo->getPathname()->willReturn('/search/path/first/nested/readme.md'); $this->locateFilesNamed('readme.md')->shouldReturn(['/search/path/first/nested/readme.md']); }