123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- <?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 file size at all.
- * Large files are not considered yet.
- */
- class LargeFileHelperGetFileSize extends TestCase {
- /** @var string */
- protected $filename;
- /** @var int */
- protected $fileSize;
- /** @var \OC\LargeFileHelper */
- protected $helper;
- protected function setUp() {
- parent::setUp();
- $this->helper = new \OC\LargeFileHelper();
- }
- 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.'
- );
- }
- if (\OC::$server->getIniWrapper()->getString('open_basedir') !== '') {
- $this->markTestSkipped(
- 'The PHP curl extension does not work with the file:// protocol when open_basedir is enabled.'
- );
- }
- $this->assertSame(
- $fileSize,
- $this->helper->getFileSizeViaCurl($filename)
- );
- }
- /**
- * @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(
- $fileSize,
- $this->helper->getFileSizeViaCOM($filename)
- );
- }
- /**
- * @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(
- $fileSize,
- $this->helper->getFileSizeViaExec($filename)
- );
- }
- /**
- * @dataProvider dataFileNameProvider
- */
- public function testGetFileSizeNative($filename, $fileSize) {
- $this->assertSame(
- $fileSize,
- $this->helper->getFileSizeNative($filename)
- );
- }
- }
|