不要怂,就是干,撸起袖子干!

Commit 4c1b38e9 by Mick Hansen

Merge pull request #2761 from defunctzombie/original-error

add `.original` property to custom Error classes
2 parents 1c96744f 3ed4d218
Showing with 10 additions and 0 deletions
...@@ -76,6 +76,7 @@ error.DatabaseError = function (parent) { ...@@ -76,6 +76,7 @@ error.DatabaseError = function (parent) {
this.name = 'SequelizeDatabaseError'; this.name = 'SequelizeDatabaseError';
this.parent = parent; this.parent = parent;
this.original = parent;
this.sql = parent.sql; this.sql = parent.sql;
}; };
util.inherits(error.DatabaseError, error.BaseError); util.inherits(error.DatabaseError, error.BaseError);
...@@ -195,6 +196,7 @@ error.ConnectionError = function (parent) { ...@@ -195,6 +196,7 @@ error.ConnectionError = function (parent) {
this.name = 'SequelizeConnectionError'; this.name = 'SequelizeConnectionError';
this.parent = parent; this.parent = parent;
this.original = parent;
}; };
util.inherits(error.ConnectionError, error.BaseError); util.inherits(error.ConnectionError, error.BaseError);
......
...@@ -60,6 +60,7 @@ describe(Support.getTestDialectTeaser("Sequelize Errors"), function () { ...@@ -60,6 +60,7 @@ describe(Support.getTestDialectTeaser("Sequelize Errors"), function () {
var databaseError = new Sequelize.DatabaseError(orig); var databaseError = new Sequelize.DatabaseError(orig);
expect(databaseError).to.have.property('parent'); expect(databaseError).to.have.property('parent');
expect(databaseError).to.have.property('original');
expect(databaseError.name).to.equal('SequelizeDatabaseError'); expect(databaseError.name).to.equal('SequelizeDatabaseError');
expect(databaseError.message).to.equal('original database error message'); expect(databaseError.message).to.equal('original database error message');
}); });
...@@ -68,6 +69,7 @@ describe(Support.getTestDialectTeaser("Sequelize Errors"), function () { ...@@ -68,6 +69,7 @@ describe(Support.getTestDialectTeaser("Sequelize Errors"), function () {
var connectionError = new Sequelize.ConnectionError(orig); var connectionError = new Sequelize.ConnectionError(orig);
expect(connectionError).to.have.property('parent'); expect(connectionError).to.have.property('parent');
expect(connectionError).to.have.property('original');
expect(connectionError.name).to.equal('SequelizeConnectionError'); expect(connectionError.name).to.equal('SequelizeConnectionError');
expect(connectionError.message).to.equal('original connection error message'); expect(connectionError.message).to.equal('original connection error message');
}); });
...@@ -76,6 +78,7 @@ describe(Support.getTestDialectTeaser("Sequelize Errors"), function () { ...@@ -76,6 +78,7 @@ describe(Support.getTestDialectTeaser("Sequelize Errors"), function () {
var connectionError = new Sequelize.ConnectionRefusedError(orig); var connectionError = new Sequelize.ConnectionRefusedError(orig);
expect(connectionError).to.have.property('parent'); expect(connectionError).to.have.property('parent');
expect(connectionError).to.have.property('original');
expect(connectionError.name).to.equal('SequelizeConnectionRefusedError'); expect(connectionError.name).to.equal('SequelizeConnectionRefusedError');
expect(connectionError.message).to.equal('original connection error message'); expect(connectionError.message).to.equal('original connection error message');
}); });
...@@ -84,6 +87,7 @@ describe(Support.getTestDialectTeaser("Sequelize Errors"), function () { ...@@ -84,6 +87,7 @@ describe(Support.getTestDialectTeaser("Sequelize Errors"), function () {
var connectionError = new Sequelize.AccessDeniedError(orig); var connectionError = new Sequelize.AccessDeniedError(orig);
expect(connectionError).to.have.property('parent'); expect(connectionError).to.have.property('parent');
expect(connectionError).to.have.property('original');
expect(connectionError.name).to.equal('SequelizeAccessDeniedError'); expect(connectionError.name).to.equal('SequelizeAccessDeniedError');
expect(connectionError.message).to.equal('original connection error message'); expect(connectionError.message).to.equal('original connection error message');
}); });
...@@ -92,6 +96,7 @@ describe(Support.getTestDialectTeaser("Sequelize Errors"), function () { ...@@ -92,6 +96,7 @@ describe(Support.getTestDialectTeaser("Sequelize Errors"), function () {
var connectionError = new Sequelize.HostNotFoundError(orig); var connectionError = new Sequelize.HostNotFoundError(orig);
expect(connectionError).to.have.property('parent'); expect(connectionError).to.have.property('parent');
expect(connectionError).to.have.property('original');
expect(connectionError.name).to.equal('SequelizeHostNotFoundError'); expect(connectionError.name).to.equal('SequelizeHostNotFoundError');
expect(connectionError.message).to.equal('original connection error message'); expect(connectionError.message).to.equal('original connection error message');
}); });
...@@ -100,6 +105,7 @@ describe(Support.getTestDialectTeaser("Sequelize Errors"), function () { ...@@ -100,6 +105,7 @@ describe(Support.getTestDialectTeaser("Sequelize Errors"), function () {
var connectionError = new Sequelize.HostNotReachableError(orig); var connectionError = new Sequelize.HostNotReachableError(orig);
expect(connectionError).to.have.property('parent'); expect(connectionError).to.have.property('parent');
expect(connectionError).to.have.property('original');
expect(connectionError.name).to.equal('SequelizeHostNotReachableError'); expect(connectionError.name).to.equal('SequelizeHostNotReachableError');
expect(connectionError.message).to.equal('original connection error message'); expect(connectionError.message).to.equal('original connection error message');
}); });
...@@ -108,6 +114,7 @@ describe(Support.getTestDialectTeaser("Sequelize Errors"), function () { ...@@ -108,6 +114,7 @@ describe(Support.getTestDialectTeaser("Sequelize Errors"), function () {
var connectionError = new Sequelize.InvalidConnectionError(orig); var connectionError = new Sequelize.InvalidConnectionError(orig);
expect(connectionError).to.have.property('parent'); expect(connectionError).to.have.property('parent');
expect(connectionError).to.have.property('original');
expect(connectionError.name).to.equal('SequelizeInvalidConnectionError'); expect(connectionError.name).to.equal('SequelizeInvalidConnectionError');
expect(connectionError.message).to.equal('original connection error message'); expect(connectionError.message).to.equal('original connection error message');
}); });
...@@ -116,6 +123,7 @@ describe(Support.getTestDialectTeaser("Sequelize Errors"), function () { ...@@ -116,6 +123,7 @@ describe(Support.getTestDialectTeaser("Sequelize Errors"), function () {
var connectionError = new Sequelize.ConnectionTimedOutError(orig); var connectionError = new Sequelize.ConnectionTimedOutError(orig);
expect(connectionError).to.have.property('parent'); expect(connectionError).to.have.property('parent');
expect(connectionError).to.have.property('original');
expect(connectionError.name).to.equal('SequelizeConnectionTimedOutError'); expect(connectionError.name).to.equal('SequelizeConnectionTimedOutError');
expect(connectionError.message).to.equal('original connection error message'); expect(connectionError.message).to.equal('original connection error message');
}); });
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!