Skip to content

Commit 692fa31

Browse files
leeyehwangxiao
authored andcommitted
fix(Object): stop attempting to get attributes from this (#336)
1 parent 1679806 commit 692fa31

File tree

4 files changed

+35
-24
lines changed

4 files changed

+35
-24
lines changed

src/file.js

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -486,14 +486,16 @@ module.exports = function(AV) {
486486
get: function(attrName) {
487487
switch (attrName) {
488488
case 'objectId':
489-
// 兼容 objectId
490-
return this.id;
489+
case 'id':
490+
return this.id;
491+
case 'url':
492+
case 'name':
493+
case 'metaData':
494+
case 'createdAt':
495+
case 'updatedAt':
496+
return this.attributes[attrName];
491497
default:
492-
if (this.attributes[attrName] === undefined) {
493498
return this.attributes.metaData[attrName];
494-
} else {
495-
return this.attributes[attrName];
496-
}
497499
}
498500
},
499501

src/object.js

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -310,15 +310,13 @@ module.exports = function(AV) {
310310
get: function(attr) {
311311
switch (attr) {
312312
case 'objectId':
313-
// 兼容 objectId
314-
return this.id;
315-
default:
316-
// 兼容 createdAt、updatedAt
317-
if (this.attributes[attr] === undefined) {
313+
case 'id':
314+
return this.id;
315+
case 'createdAt':
316+
case 'updatedAt':
318317
return this[attr];
319-
} else {
318+
default:
320319
return this.attributes[attr];
321-
}
322320
}
323321
},
324322

test/object.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,17 @@ describe('Objects', function(){
1212
done();
1313
});
1414
});
15+
it('getter/setter compatible', function() {
16+
Object.defineProperty(Post.prototype, 'name', {
17+
get: function() {
18+
return this.get('name');
19+
},
20+
set: function(value) {
21+
return this.set('name', value);
22+
}
23+
});
24+
new Post().name;
25+
});
1526
describe('#Saving Objects', function(){
1627
it('should crate a Object', function(done){
1728
//gameScore.set("newcol","sss")

test/user.js

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ describe("User", function() {
2424
},
2525
error: function(user, error) {
2626
// Show the error message somewhere and let the user try again.
27-
throw error;
27+
done(err)or;
2828
}
2929
});
3030

@@ -56,13 +56,13 @@ describe("User", function() {
5656
done();
5757
},
5858
error: function(err) {
59-
throw err;
59+
done(err);
6060
}
6161
});
6262
// Do stuff after successful login.
6363
},
6464
error: function(user, error) {
65-
throw error;
65+
done(error);
6666
// The login failed. Check error to see why.
6767
}
6868
});
@@ -136,7 +136,7 @@ describe("User", function() {
136136
});
137137
},
138138
error: function(err){
139-
throw err;
139+
done(err);
140140
}
141141
});
142142
*/
@@ -160,7 +160,7 @@ describe("User", function() {
160160
});
161161
},
162162
error: function(err) {
163-
throw err;
163+
done(err);
164164
}
165165
});
166166
});
@@ -201,7 +201,7 @@ describe("User", function() {
201201
done();
202202
},
203203
error: function(err) {
204-
throw err;
204+
done(err);
205205
}
206206
});
207207
}
@@ -237,18 +237,18 @@ describe("User", function() {
237237
done();
238238
},
239239
error: function(err) {
240-
throw err;
240+
done(err);
241241
}
242242
});
243243
}, function(err) {
244-
throw err;
244+
done(err);
245245
});
246246
}, function(err) {
247-
throw err;
247+
done(err);
248248
});
249249
},
250250
error: function(err) {
251-
throw err;
251+
done(err);
252252
}
253253
});
254254
},
@@ -274,7 +274,7 @@ describe("User", function() {
274274
expect(user.id).to.be.ok();
275275
done();
276276
}).catch(function(error) {
277-
throw error;
277+
done(err)or;
278278
});
279279
});
280280
});

0 commit comments

Comments
 (0)