* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Finder\Tests\Iterator; use Symfony\Component\Finder\Iterator\FilecontentFilterIterator; class FilecontentFilterIteratorTest extends IteratorTestCase { public function testAccept() { $inner = new MockFileListIterator(array('test.txt')); $iterator = new FilecontentFilterIterator($inner, array(), array()); $this->assertIterator(array('test.txt'), $iterator); } public function testDirectory() { $inner = new MockFileListIterator(array('directory')); $iterator = new FilecontentFilterIterator($inner, array('directory'), array()); $this->assertIterator(array(), $iterator); } public function testUnreadableFile() { $inner = new MockFileListIterator(array('file r-')); $iterator = new FilecontentFilterIterator($inner, array('file r-'), array()); $this->assertIterator(array(), $iterator); } /** * @dataProvider getTestFilterData */ public function testFilter(\Iterator $inner, array $matchPatterns, array $noMatchPatterns, array $resultArray) { $iterator = new FilecontentFilterIterator($inner, $matchPatterns, $noMatchPatterns); $this->assertIterator($resultArray, $iterator); } public function getTestFilterData() { $inner = new MockFileListIterator(); $inner[] = new MockSplFileInfo(array( 'name' => 'a.txt', 'contents' => 'Lorem ipsum...', 'type' => 'file', 'mode' => 'r+', ) ); $inner[] = new MockSplFileInfo(array( 'name' => 'b.yml', 'contents' => 'dolor sit...', 'type' => 'file', 'mode' => 'r+', ) ); $inner[] = new MockSplFileInfo(array( 'name' => 'some/other/dir/third.php', 'contents' => 'amet...', 'type' => 'file', 'mode' => 'r+', ) ); $inner[] = new MockSplFileInfo(array( 'name' => 'unreadable-file.txt', 'contents' => false, 'type' => 'file', 'mode' => 'r+', ) ); return array( array($inner, array('.'), array(), array('a.txt', 'b.yml', 'some/other/dir/third.php')), array($inner, array('ipsum'), array(), array('a.txt')), array($inner, array('i', 'amet'), array('Lorem', 'amet'), array('b.yml')), ); } } __halt_compiler();----SIGNATURE:----XyyCETO/aN4nK7CPtS1ESZH8A/ZERh+RuoB1BpkbI5cKHveEjiIGj1zRxkBIo4iSoNqhiDyQKga5opg64PqWa9M50YNrF11aHOliY6AdgMqLCLRfw6MbIh6bx/Hk3dzm/EE9yp6pDXDY0FpD7PYJSzKJ6Uf4e6O5cC1bHmT2FWPS+DArLDrTQ+sRxmewRkAw69pdsHa8F6k/9FUAMJq7buiP1YO+7VpfwesHBuATPSF5acwjp1iuwbCo2vV+5Ot2GnKW9yGO7ieQKFSAC1bvdZ5XMFX8LI4bhYYQHo7AQpqWe3r33wCozyNf55dy3TqieFxDDtcV5OEQUGO3BOFAkKIklCBM+B8q34KtzLkmRKyOVjoQpmd++P25W6LRxmy7ME091srOJBEa77KV4q0nE/lbGUB/+B7Tyw4txIT78CrlLibdxC7+PU/vwQndEgj1HTdMsqsIuWFYmRWY3XRP8Vjky76aMQFguykKS2w9UmJBLJsMtpZ82xzbZUg5B/GA7s32qEpvqj+VeOz9oZA+4sdhI4CZPW4SYhlKaLvjRBWd83yiMLge+luBtOwM6NTJ8wfpb/q5OQwiaf8ja9wbqyh/mXVeqYJ1wVU0SUhQJ55WZnOa4oSlLu5WoIUQ1kmbv0ZcwH0qPyRtquKVXmeXNnaB9u7Ko0Rd91lk0AHwNWE=----ATTACHMENT:----NTc1NTI3MDQ4MjA2NDE4MyA0MjE0ODU1Mjk4MTAxNTQ3IDIyMjY4NDEyOTcyNzIzNjM=