Apply code style fixes from owncloud, revert regex

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
This commit is contained in:
Daniel Kesselberg 2019-02-14 00:18:49 +01:00
parent a5bc27c2a6
commit 7404c10666
No known key found for this signature in database
GPG Key ID: 36E3664E099D0614
2 changed files with 35 additions and 30 deletions

View File

@ -52,24 +52,27 @@ class ExcludeFileByNameFilterIterator extends \RecursiveFilterIterator {
*
* @var array
*/
private $excludedFileNamePatterns = [
'/\.webapp-nextcloud-(\d+\.){3}(-r\d+)?/', // Gentoo/Funtoo & derivatives use a tool known as webapp-config to manage wep-apps.
private $excludedFilenamePatterns = [
'/^\.webapp-nextcloud-.*/', // Gentoo/Funtoo & derivatives use a tool known as webapp-config to manage wep-apps.
];
/**
* @return bool
*/
public function accept() {
if($this->isDir()) {
/** @var \SplFileInfo $current */
$current = $this->current();
if ($current->isDir()) {
return true;
}
$currentFileName = $this->current()->getFilename();
$currentFileName = $current->getFilename();
if (in_array($currentFileName, $this->excludedFilenames, true)){
return false;
}
foreach ($this->excludedFileNamePatterns as $pattern){
foreach ($this->excludedFilenamePatterns as $pattern){
if (preg_match($pattern, $currentFileName) > 0){
return false;
}

View File

@ -25,25 +25,25 @@ use \OC\IntegrityCheck\Iterator\ExcludeFileByNameFilterIterator;
use Test\TestCase;
class ExcludeFileByNameFilterIteratorTest extends TestCase {
/** @var ExcludeFileByNameFilterIterator */
/** @var ExcludeFileByNameFilterIterator|\PHPUnit\Framework\MockObject\MockObject */
protected $filter;
public function setUp() {
parent::setUp();
$this->filter = $this->getMockBuilder(ExcludeFileByNameFilterIterator::class)
->disableOriginalConstructor()
->getMock()
;
->setMethods(['current'])
->getMock();
}
public function fileNameProvider(){
public function fileNameProvider(): array {
return [
['a file', true],
['Thumbs.db', false],
['another file', true],
['.directory', false],
['.webapp-netxcloud-12.0.5', false],
['.webapp-nextcloud-12.0.5', false],
['wx.webapp-nextcloud-obee', true],
];
}
@ -53,17 +53,18 @@ class ExcludeFileByNameFilterIteratorTest extends TestCase {
* @param string $fileName
* @param bool $expectedResult
*/
public function testAcceptForFiles($fileName, $expectedResult){
$iteratorMock = $this->createMock(\DirectoryIterator::class);
$iteratorMock->method('getFilename')
->will($this->returnValue($fileName))
;
public function testAcceptForFiles($fileName, $expectedResult): void {
$iteratorMock = $this->getMockBuilder(\RecursiveDirectoryIterator::class)
->disableOriginalConstructor()
->setMethods(['getFilename', 'isDir'])
->getMock();
$this->filter->method('isDir')
->will($this->returnValue(false));
$iteratorMock->method('getFilename')
->willReturn($fileName);
$iteratorMock->method('isDir')
->willReturn(false);
$this->filter->method('current')
->will($this->returnValue($iteratorMock))
;
->willReturn($iteratorMock);
$actualResult = $this->filter->accept();
$this->assertEquals($expectedResult, $actualResult);
@ -72,21 +73,22 @@ class ExcludeFileByNameFilterIteratorTest extends TestCase {
/**
* @dataProvider fileNameProvider
* @param string $fileName
* @param bool $fakeExpectedResult
* @param bool $expectedResult
*/
public function testAcceptForDirs($fileName, $fakeExpectedResult){
$iteratorMock = $this->createMock(\DirectoryIterator::class);
$iteratorMock->method('getFilename')
->will($this->returnValue($fileName))
;
public function testAcceptForDirs($fileName, $expectedResult): void {
$iteratorMock = $this->getMockBuilder(\RecursiveDirectoryIterator::class)
->disableOriginalConstructor()
->setMethods(['getFilename', 'isDir'])
->getMock();
$this->filter->method('isDir')
->will($this->returnValue(true));
$iteratorMock->method('getFilename')
->willReturn($fileName);
$iteratorMock->method('isDir')
->willReturn(true);
$this->filter->method('current')
->will($this->returnValue($iteratorMock))
;
->willReturn($iteratorMock);
$actualResult = $this->filter->accept();
$this->assertFalse($actualResult);
$this->assertTrue($actualResult);
}
}