AngularJS: API: ngMock/service/$exceptionHandler


$exceptionHandler

  1. - $exceptionHandlerProvider
  2. - service in module ngMock

Mock implementation of $exceptionHandler that rethrows or logs errors passed into it. See $exceptionHandlerProvider for configuration information.

  describe('$exceptionHandlerProvider', function() {

    it('should capture log messages and exceptions', function() {

      module(function($exceptionHandlerProvider) {
        $exceptionHandlerProvider.mode('log');
      });

      inject(function($log, $exceptionHandler, $timeout) {
        $timeout(function() { $log.log(1); });
        $timeout(function() { $log.log(2); throw 'banana peel'; });
        $timeout(function() { $log.log(3); });
        expect($exceptionHandler.errors).toEqual([]);
        expect($log.assertEmpty());
        $timeout.flush();
        expect($exceptionHandler.errors).toEqual(['banana peel']);
        expect($log.log.logs).toEqual([[1], [2], [3]]);
      });
    });
  });