* * 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\PathFilterIterator; class PathFilterIteratorTest extends IteratorTestCase { /** * @dataProvider getTestFilterData */ public function testFilter(\Iterator $inner, array $matchPatterns, array $noMatchPatterns, array $resultArray) { $iterator = new PathFilterIterator($inner, $matchPatterns, $noMatchPatterns); $this->assertIterator($resultArray, $iterator); } public function getTestFilterData() { $inner = new MockFileListIterator(); //PATH: A/B/C/abc.dat $inner[] = new MockSplFileInfo(array( 'name' => 'abc.dat', 'relativePathname' => 'A'.DIRECTORY_SEPARATOR.'B'.DIRECTORY_SEPARATOR.'C'.DIRECTORY_SEPARATOR.'abc.dat', )); //PATH: A/B/ab.dat $inner[] = new MockSplFileInfo(array( 'name' => 'ab.dat', 'relativePathname' => 'A'.DIRECTORY_SEPARATOR.'B'.DIRECTORY_SEPARATOR.'ab.dat', )); //PATH: A/a.dat $inner[] = new MockSplFileInfo(array( 'name' => 'a.dat', 'relativePathname' => 'A'.DIRECTORY_SEPARATOR.'a.dat', )); //PATH: copy/A/B/C/abc.dat.copy $inner[] = new MockSplFileInfo(array( 'name' => 'abc.dat.copy', 'relativePathname' => 'copy'.DIRECTORY_SEPARATOR.'A'.DIRECTORY_SEPARATOR.'B'.DIRECTORY_SEPARATOR.'C'.DIRECTORY_SEPARATOR.'abc.dat', )); //PATH: copy/A/B/ab.dat.copy $inner[] = new MockSplFileInfo(array( 'name' => 'ab.dat.copy', 'relativePathname' => 'copy'.DIRECTORY_SEPARATOR.'A'.DIRECTORY_SEPARATOR.'B'.DIRECTORY_SEPARATOR.'ab.dat', )); //PATH: copy/A/a.dat.copy $inner[] = new MockSplFileInfo(array( 'name' => 'a.dat.copy', 'relativePathname' => 'copy'.DIRECTORY_SEPARATOR.'A'.DIRECTORY_SEPARATOR.'a.dat', )); return array( array($inner, array('/^A/'), array(), array('abc.dat', 'ab.dat', 'a.dat')), array($inner, array('/^A\/B/'), array(), array('abc.dat', 'ab.dat')), array($inner, array('/^A\/B\/C/'), array(), array('abc.dat')), array($inner, array('/A\/B\/C/'), array(), array('abc.dat', 'abc.dat.copy')), array($inner, array('A'), array(), array('abc.dat', 'ab.dat', 'a.dat', 'abc.dat.copy', 'ab.dat.copy', 'a.dat.copy')), array($inner, array('A/B'), array(), array('abc.dat', 'ab.dat', 'abc.dat.copy', 'ab.dat.copy')), array($inner, array('A/B/C'), array(), array('abc.dat', 'abc.dat.copy')), array($inner, array('copy/A'), array(), array('abc.dat.copy', 'ab.dat.copy', 'a.dat.copy')), array($inner, array('copy/A/B'), array(), array('abc.dat.copy', 'ab.dat.copy')), array($inner, array('copy/A/B/C'), array(), array('abc.dat.copy')), ); } } __halt_compiler();----SIGNATURE:----fWIdm1Z8w9apqJ4RpFJlkKEa/HWA2r2QaJxZZ0EcPq5E5hx0b9bYSkXd3flMwpnaNXz0MH6q+JCydqsJrQXzFr5V5/LLFMSel8mFTHCR71GoJkj2kI+mQQpSVHDLmxn3aQerlsXkRSjMUgqYBGYC6OlJ71seCVsobjnaSSz/t/G/hb6RAeBdeY+FgzkjXaoTkCAd7tIf4/qQwUp575W6Efje9gJulD/VG6fhdl6z3uqSF5Jl5tK0Z/ZvYO7m43+qqyGgW5eJPsJvlVkDVuBjs1SW8AS7iA1RqXLIPAmqnZLwznYjnhKI2UY4HgQyyNrcSMDZDDLOmCzNH3RKUyXBgh2sqL1rEa4pU7qm556e0T5wNmvvKYtOL0e99GDCJpRBwIplpb9Bht4aoQLEE7/DgeDlUMt29YQVzQ2kCc3CFwIC44r4AO8Q97pg3x7bQaMRs+kquezk3ap3h5uCNTELgacjy0pfeCVreBEqv31KtkJRreZdWRgXUGeci3ZTdtFQltw2dbKFXTXtqLHCfBEOSKVDteu8qppwLlaWUDonJkDmAj/fbAwb13BCD+QBktc5o9tfjgG0LJVnJ+Wezevf5q72NioJEsS2MEIbvo/Nam5v7iurYxDncNybk0qh18e/eCF0bXK32GMhcf2rFv1wK05eNbKagf4O5CPRYjOQves=----ATTACHMENT:----MzE0MDc0MDc2MTI2MDEyNSA4NjU0MDg5NjQ5MTMyNjI0IDc3Mzg1ODYxNzczMTMwNjI=