diff options
author | Robin Appelman <robin@icewind.nl> | 2014-10-27 15:30:30 +0100 |
---|---|---|
committer | Robin Appelman <robin@icewind.nl> | 2014-10-27 15:30:30 +0100 |
commit | 8de287f2efe2eafcbda8c54590e363486719257e (patch) | |
tree | af9ffc656aae0cfd66bbee260e80768cf11dd857 /tests | |
parent | 290e9cd5b27d5ef4835674a8f7ec40eebb9a3e5c (diff) | |
parent | 283c10f010f5da4ca0b6b7658ac1fa730b8858bf (diff) | |
download | nextcloud-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.php | 59 |
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); + } } |