summaryrefslogtreecommitdiffstats
path: root/apps/files
diff options
context:
space:
mode:
authorVincent Petry <pvince81@owncloud.com>2016-07-01 11:10:37 +0200
committerVincent Petry <pvince81@owncloud.com>2016-07-01 11:10:37 +0200
commit4acb06923d633bba9151237b0f0a88dcf99da7e6 (patch)
tree87e9f4630e24c8efe62d1b6f9e5325c500270556 /apps/files
parent2d2d2267f7f38ca29e7b87f40fae62261614b0d1 (diff)
downloadnextcloud-server-4acb06923d633bba9151237b0f0a88dcf99da7e6.tar.gz
nextcloud-server-4acb06923d633bba9151237b0f0a88dcf99da7e6.zip
Filelist change dir auto-prepend slash
Prepend a slash to directories in case it was missing since many places assume that it's there.
Diffstat (limited to 'apps/files')
-rw-r--r--apps/files/js/filelist.js5
-rw-r--r--apps/files/tests/js/filelistSpec.js6
2 files changed, 10 insertions, 1 deletions
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index 690e5e70fdb..40261a9f36c 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -513,7 +513,7 @@
* Event handler for when the URL changed
*/
_onUrlChanged: function(e) {
- if (e && e.dir) {
+ if (e && _.isString(e.dir)) {
this.changeDirectory(e.dir, false, true);
}
},
@@ -1415,6 +1415,9 @@
this.setPageTitle();
}
+ if (targetDir.length > 0 && targetDir[0] !== '/') {
+ targetDir = '/' + targetDir;
+ }
this._currentDirectory = targetDir;
// legacy stuff
diff --git a/apps/files/tests/js/filelistSpec.js b/apps/files/tests/js/filelistSpec.js
index a74e1c7328c..fd87c9acdec 100644
--- a/apps/files/tests/js/filelistSpec.js
+++ b/apps/files/tests/js/filelistSpec.js
@@ -1391,6 +1391,12 @@ describe('OCA.Files.FileList tests', function() {
setDirSpy.restore();
getFolderContentsStub.restore();
});
+ it('prepends a slash to directory if none was given', function() {
+ fileList.changeDirectory('');
+ expect(fileList.getCurrentDirectory()).toEqual('/');
+ fileList.changeDirectory('noslash');
+ expect(fileList.getCurrentDirectory()).toEqual('/noslash');
+ });
});
describe('breadcrumb events', function() {
var deferredList;