Skip to content
Extraits de code Groupes Projets
Valider 09a840ea rédigé par Florian Staudacher's avatar Florian Staudacher
Parcourir les fichiers

fix regression caused by updating backbone.js without updating changed parameters

parent c23fa673
Aucune requête de fusion associée trouvée
......@@ -15,13 +15,18 @@ app.models.Stream = Backbone.Collection.extend({
return _.any(this.items.models) ? this.timeFilteredPath() : this.basePath()
},
_fetchOpts: function(opts) {
var defaultOpts = {
remove: false // tell backbone to keep existing items in the collection
};
return _.extend({}, defaultOpts, opts);
},
fetch: function() {
if( this.isFetching() ) return false;
var url = this.url();
this.deferred = this.items.fetch({
remove : false,
url : url
}).done(_.bind(this.triggerFetchedEvents, this))
this.deferred = this.items.fetch(this._fetchOpts({url : url}))
.done(_.bind(this.triggerFetchedEvents, this));
},
isFetching : function() {
......
......@@ -18,10 +18,7 @@ app.models.StreamAspects = app.models.Stream.extend({
if(this.isFetching()){ return false }
var url = this.url();
var ids = this.aspects_ids;
this.deferred = this.items.fetch({
add : true,
url : url,
data : { 'a_ids': ids }
}).done(_.bind(this.triggerFetchedEvents, this))
this.deferred = this.items.fetch(this._fetchOpts({url : url, data : { 'a_ids': ids }}))
.done(_.bind(this.triggerFetchedEvents, this));
}
});
describe("app.models.StreamAspects", function() {
describe("#fetch", function(){
var fetch,
stream;
beforeEach(function(){
fetch = new $.Deferred();
stream = new app.models.StreamAspects([], {aspects_ids: [1,2]});
spyOn(stream.items, "fetch").andCallFake(function(options){
stream.items.set([{name: 'a'}, {name: 'b'}, {name: 'c'}], options);
fetch.resolve();
return fetch;
});
});
it("fetches some posts", function(){
stream.fetch();
expect(stream.items.length).toEqual(3);
});
it("fetches more posts", function(){
stream.fetch();
expect(stream.items.length).toEqual(3);
stream.fetch();
expect(stream.items.length).toEqual(6);
});
});
});
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter