diff options
| -rw-r--r-- | src/angular-mocks.js | 14 | ||||
| -rw-r--r-- | test/angular-mocksSpec.js | 43 |
2 files changed, 51 insertions, 6 deletions
diff --git a/src/angular-mocks.js b/src/angular-mocks.js index bbdcc94d..38163646 100644 --- a/src/angular-mocks.js +++ b/src/angular-mocks.js @@ -241,12 +241,14 @@ angular.service('$exceptionHandler', function(e) { * * See {@link angular.mock} for more info on angular mocks. */ -angular.service('$log', function() { +angular.service('$log', MockLogFactory); + +function MockLogFactory() { var $log = { - log: function(){ $log.logs.push(arguments); }, - warn: function(){ $log.logs.push(arguments); }, - info: function(){ $log.logs.push(arguments); }, - error: function(){ $log.logs.push(arguments); } + log: function(){ $log.log.logs.push(arguments); }, + warn: function(){ $log.warn.logs.push(arguments); }, + info: function(){ $log.info.logs.push(arguments); }, + error: function(){ $log.error.logs.push(arguments); } }; $log.log.logs = []; @@ -255,7 +257,7 @@ angular.service('$log', function() { $log.error.logs = []; return $log; -}); +} /** diff --git a/test/angular-mocksSpec.js b/test/angular-mocksSpec.js index b96a9cfc..fabc47ea 100644 --- a/test/angular-mocksSpec.js +++ b/test/angular-mocksSpec.js @@ -119,3 +119,46 @@ describe('TzDate', function() { expect(date2.getUTCSeconds()).toBe(0); }); }); + +describe('$log', function() { + var $log; + beforeEach(function() { + $log = MockLogFactory(); + }); + + it('should provide log method', function() { + expect(function() { $log.log(''); }).not.toThrow(); + }); + + it('should provide info method', function() { + expect(function() { $log.info(''); }).not.toThrow(); + }); + + it('should provide warn method', function() { + expect(function() { $log.warn(''); }).not.toThrow(); + }); + + it('should provide error method', function() { + expect(function() { $log.error(''); }).not.toThrow(); + }); + + it('should store log messages', function() { + $log.log('fake log'); + expect($log.log.logs).toContain(['fake log']); + }); + + it('should store info messages', function() { + $log.info('fake log'); + expect($log.info.logs).toContain(['fake log']); + }); + + it('should store warn messages', function() { + $log.warn('fake log'); + expect($log.warn.logs).toContain(['fake log']); + }); + + it('should store error messages', function() { + $log.error('fake log'); + expect($log.error.logs).toContain(['fake log']); + }); +}); |
