diff options
-rw-r--r-- | tests/lib/largefilehelper.php | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/tests/lib/largefilehelper.php b/tests/lib/largefilehelper.php new file mode 100644 index 00000000000..43721a3ee85 --- /dev/null +++ b/tests/lib/largefilehelper.php @@ -0,0 +1,62 @@ +<?php +/** + * Copyright (c) 2014 Andreas Fischer <bantu@owncloud.com> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace Test; + +/** +* Tests whether LargeFileHelper is able to determine filesize at all. +* Large files are not considered yet. +*/ +class LargeFileHelper extends \PHPUnit_Framework_TestCase { + protected $filename; + protected $filesize; + protected $helper; + + public function setUp() { + parent::setUp(); + $this->filename = __DIR__ . '/../data/data.tar.gz'; + $this->filesize = 4195; + $this->helper = new \OC\LargeFileHelper; + } + + public function testGetFilesizeViaCurl() { + if (!extension_loaded('curl')) { + $this->markTestSkipped( + 'The PHP curl extension is required for this test.' + ); + } + $this->assertSame( + $this->filesize, + $this->helper->getFilesizeViaCurl($this->filename) + ); + } + + public function testGetFilesizeViaCOM() { + if (!extension_loaded('COM')) { + $this->markTestSkipped( + 'The PHP Windows COM extension is required for this test.' + ); + } + $this->assertSame( + $this->filesize, + $this->helper->getFilesizeViaDOM($this->filename) + ); + } + + public function testGetFilesizeViaExec() { + 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) + ); + } +} |