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();
}
return $this->createFileChunked($data);
}
- list($storage, ) = $this->fileView->resolvePath($this->path);
- $needsPartFile = $this->needsPartFile($storage);
+ list($storage,) = $this->fileView->resolvePath($this->path);
+ $needsPartFile = $this->needsPartFile($storage) && (strlen($this->path) > 1);
if ($needsPartFile) {
// mark file as partial while uploading (ignored by the scanner)
$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
*/