$nonExisting = new NonExistingFile($this->root, $this->view, $fullPath);
$this->root->emit('\OC\Files', 'preWrite', array($nonExisting));
$this->root->emit('\OC\Files', 'preCreate', array($nonExisting));
- $this->view->touch($fullPath);
+ if (!$this->view->touch($fullPath)) {
+ throw new NotPermittedException('Could not create path');
+ }
$node = new File($this->root, $this->view, $fullPath);
$this->root->emit('\OC\Files', 'postWrite', array($node));
$this->root->emit('\OC\Files', 'postCreate', array($node));
return $node;
- } else {
- throw new NotPermittedException('No create permission for path');
}
+ throw new NotPermittedException('No create permission for path');
}
/**
return parent::mkdir($path);
}
+
+ public function touch($path, $mtime = null) {
+ $free = $this->free_space($path);
+ if ($free === 0.0) {
+ return false;
+ }
+
+ return parent::touch($path, $mtime);
+ }
+
}
$instance = $this->getLimitedStorage(0.0);
$this->assertFalse($instance->mkdir('foobar'));
}
+
+ public function testNoTouchQuotaZero() {
+ $instance = $this->getLimitedStorage(0.0);
+ $this->assertFalse($instance->touch('foobar'));
+ }
}