mirror of
https://github.com/Hopiu/angular.js.git
synced 2026-03-16 23:30:23 +00:00
mock $log: fixed bug, added some tests
I extracted mock $log factory into stand alone function, so we can access it and test, because this service is rewritten by real service during testing, so we can't access it through angular.$service('$log')...
This commit is contained in:
parent
94bf24e3b6
commit
9798f5e35f
2 changed files with 51 additions and 6 deletions
14
src/angular-mocks.js
vendored
14
src/angular-mocks.js
vendored
|
|
@ -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;
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
|
|
|
|||
43
test/angular-mocksSpec.js
vendored
43
test/angular-mocksSpec.js
vendored
|
|
@ -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']);
|
||||
});
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in a new issue