summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorRobin Appelman <robin@icewind.nl>2014-10-27 15:30:30 +0100
committerRobin Appelman <robin@icewind.nl>2014-10-27 15:30:30 +0100
commit8de287f2efe2eafcbda8c54590e363486719257e (patch)
treeaf9ffc656aae0cfd66bbee260e80768cf11dd857 /tests
parent290e9cd5b27d5ef4835674a8f7ec40eebb9a3e5c (diff)
parent283c10f010f5da4ca0b6b7658ac1fa730b8858bf (diff)
downloadnextcloud-server-8de287f2efe2eafcbda8c54590e363486719257e.tar.gz
nextcloud-server-8de287f2efe2eafcbda8c54590e363486719257e.zip
Merge pull request #11763 from owncloud/stable-etags
Generate stable etags for local files
Diffstat (limited to 'tests')
-rw-r--r--tests/lib/files/storage/local.php59
1 files changed, 38 insertions, 21 deletions
diff --git a/tests/lib/files/storage/local.php b/tests/lib/files/storage/local.php
index 1aad138aa33..8fd9f0648ad 100644
--- a/tests/lib/files/storage/local.php
+++ b/tests/lib/files/storage/local.php
@@ -1,24 +1,24 @@
<?php
/**
-* ownCloud
-*
-* @author Robin Appelman
-* @copyright 2012 Robin Appelman icewind@owncloud.com
-*
-* This library is free software; you can redistribute it and/or
-* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
-* License as published by the Free Software Foundation; either
-* version 3 of the License, or any later version.
-*
-* This library is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
-*
-* You should have received a copy of the GNU Affero General Public
-* License along with this library. If not, see <http://www.gnu.org/licenses/>.
-*
-*/
+ * ownCloud
+ *
+ * @author Robin Appelman
+ * @copyright 2012 Robin Appelman icewind@owncloud.com
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
namespace Test\Files\Storage;
@@ -27,13 +27,30 @@ class Local extends Storage {
* @var string tmpDir
*/
private $tmpDir;
+
public function setUp() {
- $this->tmpDir=\OC_Helper::tmpFolder();
- $this->instance=new \OC\Files\Storage\Local(array('datadir'=>$this->tmpDir));
+ $this->tmpDir = \OC_Helper::tmpFolder();
+ $this->instance = new \OC\Files\Storage\Local(array('datadir' => $this->tmpDir));
}
public function tearDown() {
\OC_Helper::rmdirr($this->tmpDir);
}
+
+ public function testStableEtag() {
+ $this->instance->file_put_contents('test.txt', 'foobar');
+ $etag1 = $this->instance->getETag('test.txt');
+ $etag2 = $this->instance->getETag('test.txt');
+ $this->assertEquals($etag1, $etag2);
+ }
+
+ public function testEtagChange() {
+ $this->instance->file_put_contents('test.txt', 'foo');
+ $this->instance->touch('test.txt', time() - 2);
+ $etag1 = $this->instance->getETag('test.txt');
+ $this->instance->file_put_contents('test.txt', 'bar');
+ $etag2 = $this->instance->getETag('test.txt');
+ $this->assertNotEquals($etag1, $etag2);
+ }
}