diff options
author | Vincent Petry <pvince81@owncloud.com> | 2014-06-23 16:35:11 +0200 |
---|---|---|
committer | Vincent Petry <pvince81@owncloud.com> | 2014-06-23 16:35:11 +0200 |
commit | 7d4747ea1692f42b9ae007cf5da654a95c610ec3 (patch) | |
tree | bd580d068fd479bb7ef96d3b107eefd8653e796e /apps/files/tests | |
parent | 8c8209828126a55b9bf775e00cbc14d7ef7db5ae (diff) | |
download | nextcloud-server-7d4747ea1692f42b9ae007cf5da654a95c610ec3.tar.gz nextcloud-server-7d4747ea1692f42b9ae007cf5da654a95c610ec3.zip |
Fix blurring of invalid file name on rename
When renaming to an existing file name, blurring the field should not
remove it.
This fix keeps the field until escape is pressed instead of replacing it
with a broken empty space.
Diffstat (limited to 'apps/files/tests')
-rw-r--r-- | apps/files/tests/js/filelistSpec.js | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/apps/files/tests/js/filelistSpec.js b/apps/files/tests/js/filelistSpec.js index 743ebf9706a..0b0ff0412b2 100644 --- a/apps/files/tests/js/filelistSpec.js +++ b/apps/files/tests/js/filelistSpec.js @@ -595,6 +595,47 @@ describe('OCA.Files.FileList tests', function() { expect(fileList.$fileList.find('input.filename').length).toEqual(0); expect(fileList.$fileList.find('form').length).toEqual(0); }); + it('Validates the file name', function() { + var $input, $tr; + + for (var i = 0; i < testFiles.length; i++) { + fileList.add(testFiles[i], {silent: true}); + } + + // trigger rename prompt + fileList.rename('One.txt'); + $input = fileList.$fileList.find('input.filename'); + $input.val('Two.jpg'); + + // simulate key to trigger validation + $input.trigger(new $.Event('keyup', {keyCode: 97})); + + // input is still there with error + expect(fileList.$fileList.find('input.filename').length).toEqual(1); + expect(fileList.$fileList.find('input.filename').hasClass('error')).toEqual(true); + + // trigger submit does not send server request + $input.closest('form').trigger('submit'); + expect(fakeServer.requests.length).toEqual(0); + + // simulate escape key + $input.trigger(new $.Event('keyup', {keyCode: 27})); + + // element is added back with the correct name + $tr = fileList.findFileEl('One.txt'); + expect($tr.length).toEqual(1); + expect($tr.find('a .nametext').text().trim()).toEqual('One.txt'); + expect($tr.find('a.name').is(':visible')).toEqual(true); + + $tr = fileList.findFileEl('Two.jpg'); + expect($tr.length).toEqual(1); + expect($tr.find('a .nametext').text().trim()).toEqual('Two.jpg'); + expect($tr.find('a.name').is(':visible')).toEqual(true); + + // input and form are gone + expect(fileList.$fileList.find('input.filename').length).toEqual(0); + expect(fileList.$fileList.find('form').length).toEqual(0); + }); }); describe('Moving files', function() { beforeEach(function() { |