diff options
author | Daniel Calviño Sánchez <danxuliu@gmail.com> | 2017-11-20 20:51:32 +0100 |
---|---|---|
committer | Daniel Calviño Sánchez <danxuliu@gmail.com> | 2017-11-20 21:00:04 +0100 |
commit | 37d8d3d858d66ccfc9b9a32606a9448bc15f5960 (patch) | |
tree | d7ae377eec2526424d4c3cb23ce54f925e9639fb | |
parent | 670ac48eb73d8ab1ce44fae81a23296f10d997c0 (diff) | |
download | nextcloud-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.js | 6 | ||||
-rw-r--r-- | apps/files/tests/js/filelistSpec.js | 38 |
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'); |