Skip to content

Commit 1a0ce74

Browse files
committed
fix(dataset): avoid usage of callNow for debounce
1 parent 50240ee commit 1a0ce74

File tree

2 files changed

+22
-4
lines changed

2 files changed

+22
-4
lines changed

src/autocomplete/dataset.js

-4
Original file line numberDiff line numberDiff line change
@@ -214,12 +214,8 @@ _.mixin(Dataset.prototype, EventEmitter, {
214214
that.debounceTimeout = null;
215215
execSource();
216216
};
217-
var callNow = !this.debounceTimeout;
218217
clearTimeout(this.debounceTimeout);
219218
this.debounceTimeout = setTimeout(later, this.debounce);
220-
if (callNow) {
221-
execSource();
222-
}
223219
} else {
224220
execSource();
225221
}

test/unit/dataset_spec.js

+22
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,28 @@ describe('Dataset', function() {
342342
this.dataset.update('woah 2');
343343
expect(this.source.calls.count()).toBe(2);
344344
});
345+
346+
it('should wait before calling the source if debounce is provided', function(done) {
347+
var that = this;
348+
349+
this.dataset = new Dataset({
350+
source: this.source,
351+
debounce: 250
352+
});
353+
354+
this.source.and.callFake(fakeGetWithSyncResultsAndExtraParams);
355+
356+
this.dataset.update('woah');
357+
expect(this.source.calls.count()).toBe(0);
358+
359+
this.dataset.update('woah 2');
360+
expect(this.source.calls.count()).toBe(0);
361+
362+
setTimeout(function() {
363+
expect(that.source.calls.count()).toBe(1);
364+
done();
365+
}, 500);
366+
});
345367
});
346368

347369
describe('#cacheSuggestions', function() {

0 commit comments

Comments
 (0)