Skip to content

Commit

Permalink
fix $add/$delete reserved key warning (no longer needed)
Browse files Browse the repository at this point in the history
  • Loading branch information
yyx990803 committed Dec 2, 2014
1 parent d0560e3 commit f3074a1
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 18 deletions.
19 changes: 5 additions & 14 deletions src/observer/object.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,12 @@ _.define(
objProto,
'$add',
function $add (key, val) {
if (this.hasOwnProperty(key)) return
var ob = this.__ob__
if (!ob) {
if (!ob || _.isReserved(key)) {
this[key] = val
return
}
if (_.isReserved(key)) {
_.warn('Refused to $add reserved key: ' + key)
return
}
if (this.hasOwnProperty(key)) return
ob.convert(key, val)
if (ob.vms) {
var i = ob.vms.length
Expand All @@ -50,17 +46,12 @@ _.define(
objProto,
'$delete',
function $delete (key) {
if (!this.hasOwnProperty(key)) return
delete this[key]
var ob = this.__ob__
if (!ob) {
delete this[key]
return
}
if (_.isReserved(key)) {
_.warn('Refused to $add reserved key: ' + key)
if (!ob || _.isReserved(key)) {
return
}
if (!this.hasOwnProperty(key)) return
delete this[key]
if (ob.vms) {
var i = ob.vms.length
while (i--) {
Expand Down
6 changes: 2 additions & 4 deletions test/unit/specs/api/data_spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,9 @@ describe('Data API', function () {
expect(vm.c).toBe(1)
expect(vm._data.c).toBe(1)
expect(vm._digest).toHaveBeenCalled()
// reserved key should warn
// reserved key should not be proxied
vm.$add('_c', 1)
expect(vm._c).toBeUndefined()
expect(_.warn).toHaveBeenCalled()
})

it('$delete', function () {
Expand All @@ -77,10 +76,9 @@ describe('Data API', function () {
expect(vm.hasOwnProperty('a')).toBe(false)
expect(vm._data.hasOwnProperty('a')).toBe(false)
expect(vm._digest).toHaveBeenCalled()
// reserved key should warn
// reserved key should not be deleted
vm.$delete('_data')
expect(vm._data).toBeTruthy()
expect(_.warn).toHaveBeenCalled()
})

it('$watch', function (done) {
Expand Down

0 comments on commit f3074a1

Please sign in to comment.