2011-07-17 08:05:43 +00:00
|
|
|
'use strict';
|
|
|
|
|
|
2011-02-15 06:12:45 +00:00
|
|
|
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;'; }
|
2011-03-23 16:33:29 +00:00
|
|
|
var scope = createScope({$log: $logFactory},
|
|
|
|
|
{$exceptionHandler: rethrow,
|
|
|
|
|
$window: {console: {log: log,
|
|
|
|
|
warn: warn,
|
|
|
|
|
info: info,
|
|
|
|
|
error: error}}}),
|
2011-02-15 06:12:45 +00:00
|
|
|
$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;'; }
|
2011-03-23 16:33:29 +00:00
|
|
|
var scope = createScope({$log: $logFactory},
|
|
|
|
|
{$window: {console:{log:log}},
|
|
|
|
|
$exceptionHandler: rethrow});
|
2011-02-15 06:12:45 +00:00
|
|
|
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(){
|
2011-03-23 16:33:29 +00:00
|
|
|
var scope = createScope({$log: $logFactory},
|
|
|
|
|
{$window: {},
|
|
|
|
|
$exceptionHandler: rethrow}),
|
2011-02-15 06:12:45 +00:00
|
|
|
$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']);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
});
|