Skip to content

Commit 8697fd7

Browse files
authored
Merge pull request #1129 from JulianKniephoff/bugfix/1128-make_dropbox_correctly_fetch_folders
Make Dropbox correctly fetch folders
2 parents 1456df0 + d13d923 commit 8697fd7

File tree

2 files changed

+37
-5
lines changed

2 files changed

+37
-5
lines changed

src/dropbox.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -375,6 +375,11 @@ Dropbox.prototype = {
375375
var url = 'https://content.dropboxapi.com/2/files/download';
376376
var self = this;
377377

378+
//use _getFolder for folders
379+
if (path.substr(-1) === '/') {
380+
return this._getFolder(path, options);
381+
}
382+
378383
var savedRev = this._revCache.get(path);
379384
if (savedRev === null) {
380385
// file was deleted server side
@@ -386,11 +391,6 @@ Dropbox.prototype = {
386391
return Promise.resolve({statusCode: 304});
387392
}
388393

389-
//use _getFolder for folders
390-
if (path.substr(-1) === '/') {
391-
return this._getFolder(path, options);
392-
}
393-
394394
var params = {
395395
headers: {
396396
'Dropbox-API-Arg': JSON.stringify({path: getDropboxPath(path)})

test/unit/dropbox-suite.js

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -623,6 +623,38 @@ define(['require', './src/util', './src/dropbox', './src/wireclient',
623623
}
624624
},
625625

626+
{
627+
desc: "#get correctly recognizes changes in folders",
628+
run: function (env, test) {
629+
env.connectedClient.get('/').then(function (r) {
630+
env.connectedClient.get('/', { ifNoneMatch: r.revision }).then(function (r) {
631+
test.assertFail(r.statusCode, 304);
632+
});
633+
var req = XMLHttpRequest.instances.shift();
634+
test.assertFail(req, undefined);
635+
req.status = 200;
636+
req.responseText = JSON.stringify({
637+
entries: [{
638+
'.tag': 'file',
639+
path_lower: 'foo',
640+
rev: '2'
641+
}]
642+
});
643+
req._onload();
644+
});
645+
var req = XMLHttpRequest.instances.shift();
646+
req.status = 200;
647+
req.responseText = JSON.stringify({
648+
entries: [{
649+
'.tag': 'file',
650+
path_lower: 'foo',
651+
rev: '1'
652+
}]
653+
});
654+
req._onload();
655+
}
656+
},
657+
626658
{
627659
desc: "#put causes the revision to propagate down in revCache",
628660
run: function (env, test) {

0 commit comments

Comments
 (0)