[Archiver] Rules in GitExcludeFilter are too broad

main
Zbigniew 11 years ago
parent 0238aaf5ac
commit a4a9d0f0e4

@ -140,7 +140,7 @@ abstract class BaseExcludeFilter
$pattern .= '/';
}
$pattern .= substr(Finder\Glob::toRegex($rule), 2, -2);
$pattern .= substr(Finder\Glob::toRegex($rule), 2, -1);
return array($pattern . '#', $negate, false);
}

@ -0,0 +1,36 @@
<?php
/*
* This file is part of Composer.
*
* (c) Nils Adermann <naderman@naderman.de>
* Jordi Boggiano <j.boggiano@seld.be>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Composer\Test\Package\Archiver;
use Composer\Package\Archiver\GitExcludeFilter;
class GitExcludeFilterTest extends \PHPUnit_Framework_TestCase
{
/**
* @dataProvider patterns
*/
public function testPatternEscape($ignore, $expected)
{
$filter = new GitExcludeFilter('/');
$this->assertEquals($expected, $filter->parseGitIgnoreLine($ignore));
}
public function patterns()
{
return array(
array('app/config/parameters.yml', array('#(?=[^\.])app/(?=[^\.])config/(?=[^\.])parameters\.yml$#', false, false)),
array('!app/config/parameters.yml', array('#(?=[^\.])app/(?=[^\.])config/(?=[^\.])parameters\.yml$#', true, false)),
);
}
}
Loading…
Cancel
Save