From 68cc0ba2e188c39b87f9eea0011846c0b644e09b Mon Sep 17 00:00:00 2001 From: Andreas Fischer Date: Sun, 9 Feb 2014 15:53:58 +0100 Subject: [PATCH] Unit Tests for LargeFileHelper. --- tests/lib/largefilehelper.php | 62 +++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 tests/lib/largefilehelper.php 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 @@ + + * 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) + ); + } +}