Skip to content

Commit b81a3f6

Browse files
Anton Backerkamilogorek
authored andcommitted
bug: Compare ignoreErrors pattern to message and type+message
1 parent 879023c commit b81a3f6

File tree

2 files changed

+31
-8
lines changed

2 files changed

+31
-8
lines changed

src/raven.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1420,13 +1420,14 @@ Raven.prototype = {
14201420
},
14211421

14221422
_processException: function(type, message, fileurl, lineno, frames, options) {
1423-
var testString = (type || '') + ': ' + (message || '');
1424-
1423+
var prefixedMessage = (type ? type + ': ' : '') + (message || '');
14251424
if (
14261425
!!this._globalOptions.ignoreErrors.test &&
1427-
this._globalOptions.ignoreErrors.test(testString)
1428-
)
1426+
(this._globalOptions.ignoreErrors.test(message) ||
1427+
this._globalOptions.ignoreErrors.test(prefixedMessage))
1428+
) {
14291429
return;
1430+
}
14301431

14311432
var stacktrace;
14321433

test/raven.test.js

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -477,16 +477,38 @@ describe('globals', function() {
477477
describe('processException', function() {
478478
it('should respect `ignoreErrors`', function() {
479479
this.sinon.stub(Raven, '_send');
480+
Raven._globalOptions.ignoreErrors = joinRegExp([
481+
'msg1',
482+
'CustomError1',
483+
'CustomError2: msg2',
484+
/^msg3/,
485+
/^RegexError1/,
486+
/^RegexError2: msg4/
487+
]);
488+
Raven._processException('Error', 'msg1', 'http://example.com', []);
489+
assert.isFalse(Raven._send.called);
490+
Raven._processException(undefined, 'msg1', 'http://example.com', []);
491+
assert.isFalse(Raven._send.called);
492+
Raven._processException('CustomError1', 'error', 'http://example.com', []);
493+
assert.isFalse(Raven._send.called);
494+
Raven._processException('CustomError2', 'msg2', 'http://example.com', []);
495+
assert.isFalse(Raven._send.called);
480496

481-
Raven._globalOptions.ignoreErrors = joinRegExp(['e1', 'e2', 'CustomError']);
482-
Raven._processException('Error', 'e1', 'http://example.com', []);
497+
Raven._processException('Error', 'msg3', 'http://example.com', []);
483498
assert.isFalse(Raven._send.called);
484-
Raven._processException('Error', 'e2', 'http://example.com', []);
499+
Raven._processException(undefined, 'msg3', 'http://example.com', []);
485500
assert.isFalse(Raven._send.called);
486-
Raven._processException('CustomError', 'e3', 'http://example.com', []);
501+
Raven._processException('RegexError1', 'error', 'http://example.com', []);
487502
assert.isFalse(Raven._send.called);
503+
Raven._processException('RegexError2', 'msg4', 'http://example.com', []);
504+
assert.isFalse(Raven._send.called);
505+
488506
Raven._processException('Error', 'error', 'http://example.com', []);
489507
assert.isTrue(Raven._send.calledOnce);
508+
Raven._processException('CustomError2', 'error', 'http://example.com', []);
509+
assert.isTrue(Raven._send.calledTwice);
510+
Raven._processException('RegexError2', 'error', 'http://example.com', []);
511+
assert.isTrue(Raven._send.calledThrice);
490512
});
491513

492514
it('should handle empty `ignoreErrors`', function() {

0 commit comments

Comments
 (0)