Better warning message if defaultState is used improperly

This commit is contained in:
Robin Ward 2016-04-27 15:06:55 -04:00
parent 55ba81494f
commit d89fb6e83e
No known key found for this signature in database
GPG key ID: 0E091E2B4ED1B83D

View file

@ -125,8 +125,11 @@ export default class Widget {
this.key = this.buildKey ? this.buildKey(attrs) : null;
// Helps debug widgets
if (Ember.Test) {
if (Object.keys(this.defaultState(attrs)).length > 0 && !this.key) {
if (Ember.testing) {
const ds = this.defaultState(attrs);
if (typeof ds !== "object") {
Ember.warn(`defaultState must return an object`);
} else if (Object.keys(ds).length > 0 && !this.key) {
Ember.warn(`you need a key when using state ${this.name}`);
}
}