summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Calviño Sánchez <danxuliu@gmail.com>2017-11-20 20:51:32 +0100
committerDaniel Calviño Sánchez <danxuliu@gmail.com>2017-11-20 21:00:04 +0100
commit37d8d3d858d66ccfc9b9a32606a9448bc15f5960 (patch)
treed7ae377eec2526424d4c3cb23ce54f925e9639fb
parent670ac48eb73d8ab1ce44fae81a23296f10d997c0 (diff)
downloadnextcloud-server-37d8d3d858d66ccfc9b9a32606a9448bc15f5960.tar.gz
nextcloud-server-37d8d3d858d66ccfc9b9a32606a9448bc15f5960.zip
Add data attribute to file list rows telling if the file is encrypted
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
-rw-r--r--apps/files/js/filelist.js6
-rw-r--r--apps/files/tests/js/filelistSpec.js38
2 files changed, 37 insertions, 7 deletions
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index 8eecfd13c22..217a2f14896 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -953,7 +953,8 @@
type: $el.attr('data-type'),
etag: $el.attr('data-etag'),
permissions: parseInt($el.attr('data-permissions'), 10),
- hasPreview: $el.attr('data-has-preview') === 'true'
+ hasPreview: $el.attr('data-has-preview') === 'true',
+ isEncrypted: $el.attr('data-e2eencrypted') === 'true'
};
var size = $el.attr('data-size');
if (size) {
@@ -1176,7 +1177,8 @@
"data-mtime": mtime,
"data-etag": fileData.etag,
"data-permissions": permissions,
- "data-has-preview": fileData.hasPreview !== false
+ "data-has-preview": fileData.hasPreview !== false,
+ "data-e2eencrypted": fileData.isEncrypted === true
});
if (dataIcon) {
diff --git a/apps/files/tests/js/filelistSpec.js b/apps/files/tests/js/filelistSpec.js
index 64fc6876493..e3b5eba3ecb 100644
--- a/apps/files/tests/js/filelistSpec.js
+++ b/apps/files/tests/js/filelistSpec.js
@@ -217,6 +217,7 @@ describe('OCA.Files.FileList tests', function() {
expect($tr.attr('data-permissions')).toEqual('31');
expect($tr.attr('data-mime')).toEqual('text/plain');
expect($tr.attr('data-mtime')).toEqual('123456');
+ expect($tr.attr('data-e2eencrypted')).toEqual('false');
expect($tr.find('a.name').attr('href'))
.toEqual(OC.webroot + '/remote.php/webdav/subdir/testName.txt');
expect($tr.find('.nametext').text().trim()).toEqual('testName.txt');
@@ -246,6 +247,7 @@ describe('OCA.Files.FileList tests', function() {
expect($tr.attr('data-permissions')).toEqual('31');
expect($tr.attr('data-mime')).toEqual('httpd/unix-directory');
expect($tr.attr('data-mtime')).toEqual('123456');
+ expect($tr.attr('data-e2eencrypted')).toEqual('false');
expect($tr.find('.filesize').text()).toEqual('1 KB');
expect($tr.find('.date').text()).not.toEqual('?');
@@ -271,6 +273,7 @@ describe('OCA.Files.FileList tests', function() {
expect($tr.attr('data-permissions')).toEqual('31');
expect($tr.attr('data-mime')).toBeUndefined();
expect($tr.attr('data-mtime')).toEqual('123456');
+ expect($tr.attr('data-e2eencrypted')).toEqual('false');
expect($tr.find('.filesize').text()).toEqual('Pending');
expect($tr.find('.date').text()).not.toEqual('?');
@@ -293,10 +296,20 @@ describe('OCA.Files.FileList tests', function() {
expect($tr.attr('data-permissions')).toEqual('31');
expect($tr.attr('data-mime')).toEqual('httpd/unix-directory');
expect($tr.attr('data-mtime')).toEqual('123456');
+ expect($tr.attr('data-e2eencrypted')).toEqual('false');
expect($tr.find('.filesize').text()).toEqual('Pending');
expect($tr.find('.date').text()).not.toEqual('?');
});
+ it('generates dir element with true e2eencrypted attribute when calling add() with minimal data including isEncrypted', function() {
+ var fileData = {
+ type: 'dir',
+ name: 'testFolder',
+ isEncrypted: true
+ };
+ var $tr = fileList.add(fileData);
+ expect($tr.attr('data-e2eencrypted')).toEqual('true');
+ });
it('generates file element with no permissions when permissions are explicitly none', function() {
var fileData = {
type: 'dir',
@@ -2086,7 +2099,8 @@ describe('OCA.Files.FileList tests', function() {
size: 12,
etag: 'abc',
permissions: OC.PERMISSION_ALL,
- hasPreview: true
+ hasPreview: true,
+ isEncrypted: false
});
expect(files[1]).toEqual({
id: 3,
@@ -2097,7 +2111,8 @@ describe('OCA.Files.FileList tests', function() {
size: 58009,
etag: '123',
permissions: OC.PERMISSION_ALL,
- hasPreview: true
+ hasPreview: true,
+ isEncrypted: false
});
expect(files[2]).toEqual({
id: 4,
@@ -2108,7 +2123,8 @@ describe('OCA.Files.FileList tests', function() {
size: 250,
etag: '456',
permissions: OC.PERMISSION_ALL,
- hasPreview: true
+ hasPreview: true,
+ isEncrypted: false
});
expect(files[0].id).toEqual(1);
expect(files[0].name).toEqual('One.txt');
@@ -2130,7 +2146,8 @@ describe('OCA.Files.FileList tests', function() {
size: 12,
etag: 'abc',
permissions: OC.PERMISSION_ALL,
- hasPreview: true
+ hasPreview: true,
+ isEncrypted: false
});
expect(files[1]).toEqual({
id: 4,
@@ -2141,7 +2158,8 @@ describe('OCA.Files.FileList tests', function() {
size: 250,
etag: '456',
permissions: OC.PERMISSION_ALL,
- hasPreview: true
+ hasPreview: true,
+ isEncrypted: false
});
});
describe('Download', function() {
@@ -3231,6 +3249,16 @@ describe('OCA.Files.FileList tests', function() {
expect(fileInfo.mimetype).toEqual('text/plain');
expect(fileInfo.type).toEqual('file');
expect(fileInfo.path).not.toBeDefined();
+ expect(fileInfo.isEncrypted).toEqual(false);
+ });
+ it('sets isEncrypted attribute if data includes true e2eencrypted', function() {
+ testFiles[3].isEncrypted = true;
+
+ fileList.setFiles(testFiles);
+ $tr = fileList.findFileEl('somedir');
+
+ var fileInfo = fileList.elementToFile($tr);
+ expect(fileInfo.isEncrypted).toEqual(true);
});
it('adds path attribute if available', function() {
$tr.attr('data-path', '/subdir');