*/
_onUrlChanged: function(e) {
if (e && _.isString(e.dir)) {
+ var currentDir = this.getCurrentDirectory();
+ // this._currentDirectory is NULL when fileList is first initialised
+ if( (this._currentDirectory || this.$el.find('#dir').val()) && currentDir === e.dir) {
+ return;
+ }
this.changeDirectory(e.dir, false, true);
}
},
testMountType(123, 'external-root', 'external', 'external');
});
});
+ describe('file list should not refresh if url does not change', function() {
+ var fileListStub;
+
+ beforeEach(function() {
+ fileListStub = sinon.stub(OCA.Files.FileList.prototype, 'changeDirectory');
+ });
+ afterEach(function() {
+ fileListStub.restore();
+ });
+ it('File list must not be refreshed', function() {
+ $('#app-content-files').trigger(new $.Event('urlChanged', {dir: '/subdir'}));
+ expect(fileListStub.notCalled).toEqual(true);
+ });
+ it('File list must be refreshed', function() {
+ $('#app-content-files').trigger(new $.Event('urlChanged', {dir: '/'}));
+ expect(fileListStub.notCalled).toEqual(false);
+ });
+ });
});