diff options
| author | Igor Minar | 2011-02-15 01:12:45 -0500 |
|---|---|---|
| committer | Igor Minar | 2011-02-15 11:01:53 -0500 |
| commit | 1777110958f76ee4be5760e36c96702223385918 (patch) | |
| tree | 5aa03b246507e66877e5eac69e58e004e244d7a5 /test/service/logSpec.js | |
| parent | d2089a16335276eecb8d81eb17332c2dff2cf1a2 (diff) | |
| download | angular.js-1777110958f76ee4be5760e36c96702223385918.tar.bz2 | |
split up services into individual files
- split up services into files under src/service
- split up specs into files under test/service
- rewrite all specs so that they don't depend on one global forEach
- get rid of obsolete code and tests in ng:switch
- rename mock $log spec from "$log" to "$log mock"
Diffstat (limited to 'test/service/logSpec.js')
| -rw-r--r-- | test/service/logSpec.js | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/test/service/logSpec.js b/test/service/logSpec.js new file mode 100644 index 00000000..5d8fa0db --- /dev/null +++ b/test/service/logSpec.js @@ -0,0 +1,100 @@ +describe('$log', function() { + var scope; + + beforeEach(function(){ + scope = angular.scope(); + }); + + + afterEach(function(){ + dealoc(scope); + }); + + + it('should use console if present', function(){ + var logger = ""; + function log(){ logger+= 'log;'; } + function warn(){ logger+= 'warn;'; } + function info(){ logger+= 'info;'; } + function error(){ logger+= 'error;'; } + var scope = createScope({}, {$log: $logFactory}, + {$exceptionHandler: rethrow, + $window: {console: {log: log, + warn: warn, + info: info, + error: error}}}), + $log = scope.$service('$log'); + + $log.log(); + $log.warn(); + $log.info(); + $log.error(); + expect(logger).toEqual('log;warn;info;error;'); + }); + + + it('should use console.log() if other not present', function(){ + var logger = ""; + function log(){ logger+= 'log;'; } + var scope = createScope({}, {$log: $logFactory}, + {$window: {console:{log:log}}, + $exceptionHandler: rethrow}); + var $log = scope.$service('$log'); + $log.log(); + $log.warn(); + $log.info(); + $log.error(); + expect(logger).toEqual('log;log;log;log;'); + }); + + + it('should use noop if no console', function(){ + var scope = createScope({}, {$log: $logFactory}, + {$window: {}, + $exceptionHandler: rethrow}), + $log = scope.$service('$log'); + $log.log(); + $log.warn(); + $log.info(); + $log.error(); + }); + + + describe('$log.error', function(){ + var e, $log, errorArgs; + + beforeEach(function(){ + e = new Error(''); + e.message = undefined; + e.sourceURL = undefined; + e.line = undefined; + e.stack = undefined; + + $log = $logFactory({console:{error:function(){ + errorArgs = arguments; + }}}); + }); + + + it('should pass error if does not have trace', function(){ + $log.error('abc', e); + expect(errorArgs).toEqual(['abc', e]); + }); + + + it('should print stack', function(){ + e.stack = 'stack'; + $log.error('abc', e); + expect(errorArgs).toEqual(['abc', 'stack']); + }); + + + it('should print line', function(){ + e.message = 'message'; + e.sourceURL = 'sourceURL'; + e.line = '123'; + $log.error('abc', e); + expect(errorArgs).toEqual(['abc', 'message\nsourceURL:123']); + }); + }); +}); |
