assert.equal(model.collection, collection);
});
- QUnit.test('Object.prototype properties are overridden by attributes', function(assert) {
- assert.expect(1);
- var model = new Backbone.Model({hasOwnProperty: true});
- assert.equal(model.get('hasOwnProperty'), true);
- });
-
QUnit.test('initialize with attributes and options', function(assert) {
assert.expect(1);
var Model = Backbone.Model.extend({
assert.equal(model.get('value'), 2);
});
+ QUnit.test('initialize with defaults', function(assert) {
+ assert.expect(2);
+ var Model = Backbone.Model.extend({
+ defaults: {
+ firstName: 'Unknown',
+ lastName: 'Unknown'
+ }
+ });
+ var model = new Model({'firstName': 'John'});
+ assert.equal(model.get('firstName'), 'John');
+ assert.equal(model.get('lastName'), 'Unknown');
+ });
+
QUnit.test('parse can return null', function(assert) {
assert.expect(1);
var Model = Backbone.Model.extend({
});
QUnit.test('defaults', function(assert) {
- assert.expect(9);
+ assert.expect(4);
var Defaulted = Backbone.Model.extend({
defaults: {
one: 1,
var model = new Defaulted({two: undefined});
assert.equal(model.get('one'), 1);
assert.equal(model.get('two'), 2);
- model = new Defaulted({two: 3});
- assert.equal(model.get('one'), 1);
- assert.equal(model.get('two'), 3);
Defaulted = Backbone.Model.extend({
defaults: function() {
return {
model = new Defaulted({two: undefined});
assert.equal(model.get('one'), 3);
assert.equal(model.get('two'), 4);
- Defaulted = Backbone.Model.extend({
- defaults: {hasOwnProperty: true}
- });
- model = new Defaulted();
- assert.equal(model.get('hasOwnProperty'), true);
- model = new Defaulted({hasOwnProperty: undefined});
- assert.equal(model.get('hasOwnProperty'), true);
- model = new Defaulted({hasOwnProperty: false});
- assert.equal(model.get('hasOwnProperty'), false);
});
QUnit.test('change, hasChanged, changedAttributes, previous, previousAttributes', function(assert) {
QUnit.test('`previous` for falsey keys', function(assert) {
assert.expect(2);
- var model = new Backbone.Model({'0': true, '': true});
- model.set({'0': false, '': false}, {silent: true});
+ var model = new Backbone.Model({0: true, '': true});
+ model.set({0: false, '': false}, {silent: true});
assert.equal(model.previous(0), true);
assert.equal(model.previous(''), true);
});