Skip to content
Snippets Groups Projects
Commit 05035ef4 authored by Robin Appelman's avatar Robin Appelman
Browse files

Fix webdav put for single file webdav shares

parent ddee63fa
Branches
No related tags found
No related merge requests found
......@@ -64,7 +64,7 @@ class OC_Connector_Sabre_File extends OC_Connector_Sabre_Node implements \Sabre\
throw new \Sabre\DAV\Exception\ServiceUnavailable("Encryption is disabled");
}
$fileName = basename($this->path);
$fileName = basename($this->info->getPath());
if (!\OCP\Util::isValidFileName($fileName)) {
throw new \Sabre\DAV\Exception\BadRequest();
}
......@@ -75,7 +75,7 @@ class OC_Connector_Sabre_File extends OC_Connector_Sabre_Node implements \Sabre\
}
list($storage,) = $this->fileView->resolvePath($this->path);
$needsPartFile = $this->needsPartFile($storage);
$needsPartFile = $this->needsPartFile($storage) && (strlen($this->path) > 1);
if ($needsPartFile) {
// mark file as partial while uploading (ignored by the scanner)
......
......@@ -32,6 +32,31 @@ class Test_OC_Connector_Sabre_File extends \Test\TestCase {
$file->put('test data');
}
public function testPutSingleFileShare() {
// setup
$storage = $this->getMock('\OCP\Files\Storage');
$view = $this->getMock('\OC\Files\View', array('file_put_contents', 'getRelativePath'), array());
$view->expects($this->any())
->method('resolvePath')
->with('')
->will($this->returnValue(array($storage, '')));
$view->expects($this->any())
->method('getRelativePath')
->will($this->returnValue(''));
$view->expects($this->any())
->method('file_put_contents')
->with('')
->will($this->returnValue(true));
$info = new \OC\Files\FileInfo('/foo.txt', null, null, array(
'permissions' => \OCP\Constants::PERMISSION_ALL
), null);
$file = new OC_Connector_Sabre_File($view, $info);
$this->assertNotEmpty($file->put('test data'));
}
/**
* @expectedException \Sabre\DAV\Exception
*/
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment