mirror of
https://github.com/nextcloud/server.git
synced 2026-02-16 09:19:43 -05:00
Merge pull request #39930 from nextcloud/backport/39906/stable27
[stable27] Prevent PHP warning when CacheEntry extension keys are not set
This commit is contained in:
commit
362acd93aa
3 changed files with 29 additions and 4 deletions
|
|
@ -149,7 +149,7 @@ class Cache implements ICache {
|
|||
* get the stored metadata of a file or folder
|
||||
*
|
||||
* @param string | int $file either the path of a file or folder or the file id for a file or folder
|
||||
* @return ICacheEntry|false the cache entry as array of false if the file is not found in the cache
|
||||
* @return ICacheEntry|false the cache entry as array or false if the file is not found in the cache
|
||||
*/
|
||||
public function get($file) {
|
||||
$query = $this->getQueryBuilder();
|
||||
|
|
|
|||
|
|
@ -114,15 +114,15 @@ class CacheEntry implements ICacheEntry {
|
|||
}
|
||||
|
||||
public function getMetadataEtag(): ?string {
|
||||
return $this->data['metadata_etag'];
|
||||
return $this->data['metadata_etag'] ?? null;
|
||||
}
|
||||
|
||||
public function getCreationTime(): ?int {
|
||||
return $this->data['creation_time'];
|
||||
return $this->data['creation_time'] ?? null;
|
||||
}
|
||||
|
||||
public function getUploadTime(): ?int {
|
||||
return $this->data['upload_time'];
|
||||
return $this->data['upload_time'] ?? null;
|
||||
}
|
||||
|
||||
public function getData() {
|
||||
|
|
|
|||
|
|
@ -97,6 +97,31 @@ class CacheTest extends \Test\TestCase {
|
|||
$this->assertEquals($cacheData1, $this->cache->get($id1));
|
||||
}
|
||||
|
||||
public function testCacheEntryGetters() {
|
||||
$file1 = 'foo';
|
||||
$data1 = ['size' => 100, 'mtime' => 50, 'mimetype' => 'foo/file'];
|
||||
|
||||
$id1 = $this->cache->put($file1, $data1);
|
||||
$entry = $this->cache->get($file1);
|
||||
|
||||
$this->assertEquals($entry->getId(), $id1);
|
||||
$this->assertEquals($entry->getStorageId(), $this->cache->getNumericStorageId());
|
||||
$this->assertEquals($entry->getPath(), 'foo');
|
||||
$this->assertEquals($entry->getName(), 'foo');
|
||||
$this->assertEquals($entry->getMimeType(), 'foo/file');
|
||||
$this->assertEquals($entry->getMimePart(), 'foo');
|
||||
$this->assertEquals($entry->getSize(), 100);
|
||||
$this->assertEquals($entry->getMTime(), 50);
|
||||
$this->assertEquals($entry->getStorageMTime(), 50);
|
||||
$this->assertEquals($entry->getEtag(), null);
|
||||
$this->assertEquals($entry->getPermissions(), 0);
|
||||
$this->assertEquals($entry->isEncrypted(), false);
|
||||
$this->assertEquals($entry->getMetadataEtag(), null);
|
||||
$this->assertEquals($entry->getCreationTime(), null);
|
||||
$this->assertEquals($entry->getUploadTime(), null);
|
||||
$this->assertEquals($entry->getUnencryptedSize(), 100);
|
||||
}
|
||||
|
||||
public function testPartial() {
|
||||
$file1 = 'foo';
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue