Built motion from commit 54a160d.|0.0.140
[motion.git] / public / bower_components / lodash / vendor / backbone / test / model.js
index 5022a39..b73a1c7 100644 (file)
     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(4);
+    assert.expect(9);
     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);
   });