This commit is contained in:
Samuel Clay
2011-04-22 11:52:38 -04:00
2 changed files with 17 additions and 1 deletions

View File

@@ -530,7 +530,7 @@
if (!(model instanceof Backbone.Model)) {
var attrs = model;
model = new this.model(null, {collection: coll});
if (!model.set(attrs)) return false;
if (!model.set(attrs, options)) return false;
} else {
model.collection = coll;
}

View File

@@ -233,6 +233,22 @@ $(document).ready(function() {
equals(col.create({"foo":"bar"}),false);
});
test("Collection: a failing create runs the error callback", function() {
var ValidatingModel = Backbone.Model.extend({
validate: function(attrs) {
return "fail";
}
});
var ValidatingCollection = Backbone.Collection.extend({
model: ValidatingModel
});
var flag = false;
var callback = function(model, error) { flag = true; };
var col = new ValidatingCollection();
col.create({"foo":"bar"}, { error: callback });
equals(flag, true);
});
test("collection: initialize", function() {
var Collection = Backbone.Collection.extend({
initialize: function() {