Skip to content

Commit

Permalink
Fixed error classes (missing name which affects instanceof).
Browse files Browse the repository at this point in the history
  • Loading branch information
jakubpawlowicz committed Jun 17, 2012
1 parent 8abc6a1 commit fa2e1bc
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 6 deletions.
6 changes: 3 additions & 3 deletions lib/assets.js
Expand Up @@ -137,7 +137,7 @@ AssetsExpander.YamlSyntaxError = function(message) {
Error.call(this); Error.call(this);
Error.captureStackTrace(this, this.constructor); Error.captureStackTrace(this, this.constructor);


this.name = this.constructor.name; this.name = 'YamlSyntaxError';
this.message = message; this.message = message;
}; };
AssetsExpander.YamlSyntaxError.prototype.__proto__ = Error.prototype; AssetsExpander.YamlSyntaxError.prototype.__proto__ = Error.prototype;
Expand All @@ -146,7 +146,7 @@ AssetsExpander.UnknownGroupError = function(message) {
Error.call(this); Error.call(this);
Error.captureStackTrace(this, this.constructor); Error.captureStackTrace(this, this.constructor);


this.name = this.constructor.name; this.name = 'UnknownGroupError';
this.message = message; this.message = message;
}; };
AssetsExpander.UnknownGroupError.prototype.__proto__ = Error.prototype; AssetsExpander.UnknownGroupError.prototype.__proto__ = Error.prototype;
Expand All @@ -155,7 +155,7 @@ AssetsExpander.UnknownTypeError = function(message) {
Error.call(this); Error.call(this);
Error.captureStackTrace(this, this.constructor); Error.captureStackTrace(this, this.constructor);


this.name = this.constructor.name; this.name = 'UnknownTypeError';
this.message = message; this.message = message;
}; };
AssetsExpander.UnknownTypeError.prototype.__proto__ = Error.prototype; AssetsExpander.UnknownTypeError.prototype.__proto__ = Error.prototype;
Expand Down
18 changes: 15 additions & 3 deletions test/assets-test.js
Expand Up @@ -28,7 +28,11 @@ exports.yamlSuite = vows.describe('incorrect yaml').addBatch({
'should give YAML error': function(topic) { 'should give YAML error': function(topic) {
assert.throws(function() { assert.throws(function() {
expanderFor(topic); expanderFor(topic);
}, AssetsExpander.YamlSyntaxError); }, function(err) {
if ((err instanceof AssetsExpander.YamlSyntaxError) && err.name == 'YamlSyntaxError' && /dedented/.test(err.message)) {
return true;
}
});
} }
} }
}); });
Expand Down Expand Up @@ -151,14 +155,22 @@ exports.groupsSuite = vows.describe('expanding assets groups').addBatch({
'should not fail': function(expanded) { 'should not fail': function(expanded) {
assert.throws(function() { assert.throws(function() {
expanderFor('assets.yml').processGroup('unknown', 'type1', { type: 'css' }); expanderFor('assets.yml').processGroup('unknown', 'type1', { type: 'css' });
}, AssetsExpander.UnknownTypeError); }, function(err) {
if ((err instanceof AssetsExpander.UnknownTypeError) && err.name == 'UnknownTypeError' && /unknown/.test(err.message)) {
return true;
}
});
} }
}, },
'expand unknown group': { 'expand unknown group': {
'should not fail': function(expanded) { 'should not fail': function(expanded) {
assert.throws(function() { assert.throws(function() {
expanderFor('assets.yml').processGroup('stylesheets', 'type1', { type: 'css' }); expanderFor('assets.yml').processGroup('stylesheets', 'type1', { type: 'css' });
}, AssetsExpander.UnknownGroupError); }, function(err) {
if ((err instanceof AssetsExpander.UnknownGroupError) && err.name == 'UnknownGroupError' && /stylesheets/.test(err.message) && /type1/.test(err.message)) {
return true;
}
});
} }
}, },
'expanding group #1 from assets.yml': { 'expanding group #1 from assets.yml': {
Expand Down

0 comments on commit fa2e1bc

Please sign in to comment.