protected function _quota()
{
$used = 18 + filesize(__FILE__);
self::$vfs->setQuota(18 + filesize(__FILE__) + 10);
try {
self::$vfs->writeData('', 'file1', '12345678901');
$this->fail('Writing over quota should throw an exception');
} catch (Horde_Vfs_Exception $e) {
}
self::$vfs->writeData('', 'file1', '1234567890');
$this->assertTrue(self::$vfs->exists('', 'file1'));
$this->assertEquals(array('limit' => $used + 10, 'usage' => $used + 10), self::$vfs->getQuota());
try {
self::$vfs->writeData('', 'file2', '1');
$this->fail('Writing over quota should throw an exception');
} catch (Horde_Vfs_Exception $e) {
}
self::$vfs->deleteFile('', 'file1');
$this->assertFalse(self::$vfs->exists('', 'file1'));
$this->assertEquals(array('limit' => $used + 10, 'usage' => $used), self::$vfs->getQuota());
self::$vfs->writeData('', 'file2', '1');
$this->assertEquals(array('limit' => $used + 10, 'usage' => $used + 1), self::$vfs->getQuota());
self::$vfs->writeData('', 'file2', '12345');
$this->assertEquals(array('limit' => $used + 10, 'usage' => $used + 5), self::$vfs->getQuota());
self::$vfs->writeData('', 'file2', '123');
$this->assertEquals(array('limit' => $used + 10, 'usage' => $used + 3), self::$vfs->getQuota());
self::$vfs->setQuota(-1);
try {
self::$vfs->getQuota();
$this->fail('Quota should be unset and throw an exception.');
} catch (Horde_Vfs_Exception $e) {
}
self::$vfs->deleteFile('', 'file2');
}