Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRomain Rivière <lecoyote@lecoyote.org>2018-03-05 11:27:34 +0300
committerDaniel Kesselberg <mail@danielkesselberg.de>2019-02-14 13:48:09 +0300
commitabb56c72e1d63fe0e70e82c2b12032e0f923d191 (patch)
tree5b212bc95034fd4602d9e3737d0d69a88b681bd7 /tests/lib/IntegrityCheck
parent004f7fa8e141b159cc76f99cc041eec215444236 (diff)
Exclude file name patterns; ignore gentoo webapp files
Signed-off-by: Romain Rivière <lecoyote@lecoyote.org>
Diffstat (limited to 'tests/lib/IntegrityCheck')
-rw-r--r--tests/lib/IntegrityCheck/Iterator/ExcludeFileByNameFilterIteratorTest.php92
1 files changed, 92 insertions, 0 deletions
diff --git a/tests/lib/IntegrityCheck/Iterator/ExcludeFileByNameFilterIteratorTest.php b/tests/lib/IntegrityCheck/Iterator/ExcludeFileByNameFilterIteratorTest.php
new file mode 100644
index 00000000000..ce677599eb8
--- /dev/null
+++ b/tests/lib/IntegrityCheck/Iterator/ExcludeFileByNameFilterIteratorTest.php
@@ -0,0 +1,92 @@
+<?php
+/**
+ * @author Victor Dubiniuk <dubiniuk@owncloud.com>
+ *
+ * @copyright Copyright (c) 2015, ownCloud, Inc.
+ * @license AGPL-3.0
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License, version 3,
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+namespace Test\IntegrityCheck\Iterator;
+
+use \OC\IntegrityCheck\Iterator\ExcludeFileByNameFilterIterator;
+use Test\TestCase;
+
+class ExcludeFileByNameFilterIteratorTest extends TestCase {
+ /** @var ExcludeFileByNameFilterIterator */
+ protected $filter;
+
+ public function setUp() {
+ parent::setUp();
+ $this->filter = $this->getMockBuilder(ExcludeFileByNameFilterIterator::class)
+ ->disableOriginalConstructor()
+ ->getMock()
+ ;
+
+ }
+
+ public function fileNameProvider(){
+ return [
+ ['a file', true],
+ ['Thumbs.db', false],
+ ['another file', true],
+ ['.directory', false],
+ ['.webapp-owncloud-obee', false],
+ ['wx.webapp-owncloud-obee', true],
+ ];
+ }
+
+ /**
+ * @dataProvider fileNameProvider
+ * @param string $fileName
+ * @param bool $expectedResult
+ */
+ public function testAcceptForFiles($fileName, $expectedResult){
+ $iteratorMock = $this->createMock(\DirectoryIterator::class);
+ $iteratorMock->method('getFilename')
+ ->will($this->returnValue($fileName))
+ ;
+
+ $this->filter->method('isDir')
+ ->will($this->returnValue(false));
+ $this->filter->method('current')
+ ->will($this->returnValue($iteratorMock))
+ ;
+
+ $actualResult = $this->filter->accept();
+ $this->assertEquals($expectedResult, $actualResult);
+ }
+
+ /**
+ * @dataProvider fileNameProvider
+ * @param string $fileName
+ * @param bool $fakeExpectedResult
+ */
+ public function testAcceptForDirs($fileName, $fakeExpectedResult){
+ $iteratorMock = $this->createMock(\DirectoryIterator::class);
+ $iteratorMock->method('getFilename')
+ ->will($this->returnValue($fileName))
+ ;
+
+ $this->filter->method('isDir')
+ ->will($this->returnValue(true));
+ $this->filter->method('current')
+ ->will($this->returnValue($iteratorMock))
+ ;
+
+ $actualResult = $this->filter->accept();
+ $this->assertFalse($actualResult);
+ }
+}