fix $add/$delete reserved key warning (no longer needed)

This commit is contained in:
Evan You 2014-12-01 20:18:43 -05:00
parent d0560e3a78
commit f3074a1037
2 changed files with 8 additions and 19 deletions

View File

@ -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
@ -50,17 +46,12 @@ _.define(
objProto,
'$delete',
function $delete (key) {
var ob = this.__ob__
if (!ob) {
delete this[key]
return
}
if (_.isReserved(key)) {
_.warn('Refused to $add reserved key: ' + key)
return
}
if (!this.hasOwnProperty(key)) return
delete this[key]
var ob = this.__ob__
if (!ob || _.isReserved(key)) {
return
}
if (ob.vms) {
var i = ob.vms.length
while (i--) {

View File

@ -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 () {
@ -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) {