diff --git a/src/raven.js b/src/raven.js index 700e402b008e..eaeff6630960 100644 --- a/src/raven.js +++ b/src/raven.js @@ -1062,12 +1062,11 @@ Raven.prototype = { }, _processException: function(type, message, fileurl, lineno, frames, options) { - var stacktrace, fullMessage; + var stacktrace; if (!!this._globalOptions.ignoreErrors.test && this._globalOptions.ignoreErrors.test(message)) return; message += ''; - fullMessage = (type ? type + ': ' : '') + message; if (frames && frames.length) { fileurl = frames[0].filename || fileurl; @@ -1097,8 +1096,7 @@ Raven.prototype = { stacktrace: stacktrace }] }, - culprit: fileurl, - message: fullMessage + culprit: fileurl }, options); // Fire away! @@ -1220,9 +1218,12 @@ Raven.prototype = { auth.sentry_secret = this._globalSecret; } + var exception = data.exception && data.exception.values[0]; this.captureBreadcrumb({ category: 'sentry', - message: data.message, + message: exception + ? (exception.type ? exception.type + ': ' : '') + exception.message + : data.message, event_id: data.event_id, level: data.level || 'error' // presume error unless specified }); diff --git a/test/integration/test.js b/test/integration/test.js index 7f3707e8cc36..0d5d264eacb9 100644 --- a/test/integration/test.js +++ b/test/integration/test.js @@ -91,7 +91,7 @@ describe('integration', function () { }, function () { var ravenData = iframe.contentWindow.ravenData[0]; - assert.isTrue(/SyntaxError/.test(ravenData.message)); // full message differs per-browser + assert.isTrue(/SyntaxError/.test(ravenData.exception.values[0].type)); // full message differs per-browser assert.equal(ravenData.exception.values[0].stacktrace.frames.length, 1); // just one frame } ); diff --git a/test/raven.test.js b/test/raven.test.js index 45771c3c9ab4..1b4e4028c1d9 100644 --- a/test/raven.test.js +++ b/test/raven.test.js @@ -482,8 +482,7 @@ describe('globals', function() { } }] }, - culprit: 'http://example.com/file1.js', - message: 'Error: lol' + culprit: 'http://example.com/file1.js' }]); Raven._processException('Error', 'lol', '', 10, frames.slice(0), {}); @@ -497,8 +496,7 @@ describe('globals', function() { } }] }, - culprit: 'http://example.com/file1.js', - message: 'Error: lol' + culprit: 'http://example.com/file1.js' }]); Raven._processException('Error', 'lol', '', 10, frames.slice(0), {extra: 'awesome'}); @@ -513,7 +511,6 @@ describe('globals', function() { }] }, culprit: 'http://example.com/file1.js', - message: 'Error: lol', extra: 'awesome' }]); }); @@ -536,8 +533,7 @@ describe('globals', function() { } }] }, - culprit: 'http://example.com/override.js', - message: 'Error: lol' + culprit: 'http://example.com/override.js' }]); Raven._processException('Error', 'lol', 'http://example.com/override.js', 10, [], {}); @@ -555,8 +551,7 @@ describe('globals', function() { } }] }, - culprit: 'http://example.com/override.js', - message: 'Error: lol' + culprit: 'http://example.com/override.js' }]); Raven._processException('Error', 'lol', 'http://example.com/override.js', 10, [], {extra: 'awesome'}); @@ -575,7 +570,6 @@ describe('globals', function() { }] }, culprit: 'http://example.com/override.js', - message: 'Error: lol', extra: 'awesome' }]); }); @@ -586,13 +580,6 @@ describe('globals', function() { Raven._processException('TypeError', undefined, 'http://example.com', []); assert.isTrue(Raven._send.called); }); - - it('should omit error name as part of message if error name is undefined/falsy', function () { - this.sinon.stub(Raven, '_send'); - - Raven._processException(undefined, '\'foo\' is undefined', 'http://example.com', 10); // IE9 ReferenceError - assert.deepEqual(Raven._send.lastCall.args[0].message, '\'foo\' is undefined'); - }); }); describe('send', function() {