]> source.dussan.org Git - nextcloud-server.git/commitdiff
Test LargeFileHelperGetFileSize also with ascii only characters
authorJoas Schilling <nickvergessen@gmx.de>
Wed, 5 Nov 2014 15:42:19 +0000 (16:42 +0100)
committerJoas Schilling <nickvergessen@gmx.de>
Wed, 19 Nov 2014 09:06:06 +0000 (10:06 +0100)
And skip the UTF8 names on Windows as they are not supported

tests/lib/largefilehelpergetfilesize.php

index 58571d641e013c0746bafe2c09bf0336a33db7e0..90ecc3dde708d51cc75506aa6e8529af28344c89 100644 (file)
@@ -13,58 +13,77 @@ namespace Test;
 * Large files are not considered yet.
 */
 class LargeFileHelperGetFileSize extends \PHPUnit_Framework_TestCase {
-       protected $filename;
-       protected $fileSize;
+       /** @var \OC\LargeFileHelper */
        protected $helper;
 
        public function setUp() {
                parent::setUp();
-               $ds = DIRECTORY_SEPARATOR;
-               $this->filename = dirname(__DIR__) . "{$ds}data{$ds}strängé filename (duplicate #2).txt";
-               $this->fileSize = 446;
-               $this->helper = new \OC\LargeFileHelper;
+               $this->helper = new \OC\LargeFileHelper();
        }
 
-       public function testGetFileSizeViaCurl() {
+       public function dataFileNameProvider() {
+               $path = dirname(__DIR__) . DIRECTORY_SEPARATOR . 'data' . DIRECTORY_SEPARATOR;
+
+               $filePaths = array(array($path . 'lorem.txt', 446));
+               if (!\OC_Util::runningOnWindows()) {
+                       $filePaths[] = array($path . 'strängé filename (duplicate #2).txt', 446);
+               }
+
+               return $filePaths;
+       }
+
+       /**
+        * @dataProvider dataFileNameProvider
+        */
+       public function testGetFileSizeViaCurl($filename, $fileSize) {
                if (!extension_loaded('curl')) {
                        $this->markTestSkipped(
                                'The PHP curl extension is required for this test.'
                        );
                }
                $this->assertSame(
-                       $this->fileSize,
-                       $this->helper->getFileSizeViaCurl($this->filename)
+                       $fileSize,
+                       $this->helper->getFileSizeViaCurl($filename)
                );
        }
 
-       public function testGetFileSizeViaCOM() {
+       /**
+        * @dataProvider dataFileNameProvider
+        */
+       public function testGetFileSizeViaCOM($filename, $fileSize) {
                if (!extension_loaded('COM')) {
                        $this->markTestSkipped(
                                'The PHP Windows COM extension is required for this test.'
                        );
                }
                $this->assertSame(
-                       $this->fileSize,
-                       $this->helper->getFileSizeViaCOM($this->filename)
+                       $fileSize,
+                       $this->helper->getFileSizeViaCOM($filename)
                );
        }
 
-       public function testGetFileSizeViaExec() {
+       /**
+        * @dataProvider dataFileNameProvider
+        */
+       public function testGetFileSizeViaExec($filename, $fileSize) {
                if (!\OC_Helper::is_function_enabled('exec')) {
                        $this->markTestSkipped(
                                'The exec() function needs to be enabled for this test.'
                        );
                }
                $this->assertSame(
-                       $this->fileSize,
-                       $this->helper->getFileSizeViaExec($this->filename)
+                       $fileSize,
+                       $this->helper->getFileSizeViaExec($filename)
                );
        }
 
-       public function testGetFileSizeNative() {
+       /**
+        * @dataProvider dataFileNameProvider
+        */
+       public function testGetFileSizeNative($filename, $fileSize) {
                $this->assertSame(
-                       $this->fileSize,
-                       $this->helper->getFileSizeNative($this->filename)
+                       $fileSize,
+                       $this->helper->getFileSizeNative($filename)
                );
        }
 }