radarrplexorganizrnginxsonarrdashboardsabnzbdheimdallembycouchpotatonzbgetbookmarkapplication-dashboardmuximuxlandingpagestartpagelandinghtpcserverhomepage
		
		
		
		
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							118 lines
						
					
					
						
							3.3 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							118 lines
						
					
					
						
							3.3 KiB
						
					
					
				| <?php | |
| /* | |
|  * This file is part of the Symfony package. | |
|  * | |
|  * (c) Fabien Potencier <fabien@symfony.com> | |
|  * | |
|  * For the full copyright and license information, please view the LICENSE | |
|  * file that was distributed with this source code. | |
|  */ | |
| 
 | |
| namespace Symfony\Component\Finder\Tests; | |
| 
 | |
| use PHPUnit\Framework\TestCase; | |
| use Symfony\Component\Finder\Gitignore; | |
| 
 | |
| class GitignoreTest extends TestCase | |
| { | |
|     /** | |
|      * @dataProvider provider | |
|      * | |
|      * @param string $patterns | |
|      * @param array  $matchingCases | |
|      * @param array  $nonMatchingCases | |
|      */ | |
|     public function testCases(string $patterns, array $matchingCases, array $nonMatchingCases) | |
|     { | |
|         $regex = Gitignore::toRegex($patterns); | |
| 
 | |
|         foreach ($matchingCases as $matchingCase) { | |
|             $this->assertRegExp($regex, $matchingCase, sprintf('Failed asserting path [%s] matches gitignore patterns [%s] using regex [%s]', $matchingCase, $patterns, $regex)); | |
|         } | |
| 
 | |
|         foreach ($nonMatchingCases as $nonMatchingCase) { | |
|             $this->assertNotRegExp($regex, $nonMatchingCase, sprintf('Failed asserting path [%s] not matching gitignore patterns [%s] using regex [%s]', $nonMatchingCase, $patterns, $regex)); | |
|         } | |
|     } | |
| 
 | |
|     /** | |
|      * @return array return is array of | |
|      *               [ | |
|      *               [ | |
|      *               '', // Git-ignore Pattern | |
|      *               [], // array of file paths matching | |
|      *               [], // array of file paths not matching | |
|      *               ], | |
|      *               ] | |
|      */ | |
|     public function provider() | |
|     { | |
|         return [ | |
|             [ | |
|                 ' | |
|                     * | |
|                     !/bin/bash | |
|                 ', | |
|                 ['bin/cat', 'abc/bin/cat'], | |
|                 ['bin/bash'], | |
|             ], | |
|             [ | |
|                 'fi#le.txt', | |
|                 [], | |
|                 ['#file.txt'], | |
|             ], | |
|             [ | |
|                 ' | |
|                 /bin/ | |
|                 /usr/local/ | |
|                 !/bin/bash | |
|                 !/usr/local/bin/bash | |
|                 ', | |
|                 ['bin/cat'], | |
|                 ['bin/bash'], | |
|             ], | |
|             [ | |
|                 '*.py[co]', | |
|                 ['file.pyc', 'file.pyc'], | |
|                 ['filexpyc', 'file.pycx', 'file.py'], | |
|             ], | |
|             [ | |
|                 'dir1/**/dir2/', | |
|                 ['dir1/dirA/dir2/', 'dir1/dirA/dirB/dir2/'], | |
|                 [], | |
|             ], | |
|             [ | |
|                 'dir1/*/dir2/', | |
|                 ['dir1/dirA/dir2/'], | |
|                 ['dir1/dirA/dirB/dir2/'], | |
|             ], | |
|             [ | |
|                 '/*.php', | |
|                 ['file.php'], | |
|                 ['app/file.php'], | |
|             ], | |
|             [ | |
|                 '\#file.txt', | |
|                 ['#file.txt'], | |
|                 [], | |
|             ], | |
|             [ | |
|                 '*.php', | |
|                 ['app/file.php', 'file.php'], | |
|                 ['file.phps', 'file.phps', 'filephps'], | |
|             ], | |
|             [ | |
|                 'app/cache/', | |
|                 ['app/cache/file.txt', 'app/cache/dir1/dir2/file.txt', 'a/app/cache/file.txt'], | |
|                 [], | |
|             ], | |
|             [ | |
|                 ' | |
|                 #IamComment | |
|                 /app/cache/', | |
|                 ['app/cache/file.txt', 'app/cache/subdir/ile.txt'], | |
|                 ['a/app/cache/file.txt'], | |
|             ], | |
|         ]; | |
|     } | |
| }
 | |
| 
 |