Add data attribute to file list rows telling if the file is encrypted

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
This commit is contained in:
Daniel Calviño Sánchez 2017-11-20 20:51:32 +01:00
parent 670ac48eb7
commit 37d8d3d858
2 changed files with 37 additions and 7 deletions

View file

@ -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) {

View file

@ -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');