diff options
| -rw-r--r-- | src/services.js | 11 | ||||
| -rw-r--r-- | test/servicesSpec.js | 31 |
2 files changed, 39 insertions, 3 deletions
diff --git a/src/services.js b/src/services.js index aa749e32..93822a8c 100644 --- a/src/services.js +++ b/src/services.js @@ -64,11 +64,16 @@ angularService("$location", function(browser){ return location; }, {inject: ['$browser']}); -angularService("$log", function(){ +angularService("$log", function($window){ + var console = $window.console, + log = console && console.log || noop; return { - error: noop + log: log, + warn: console && console.warn || log, + info: console && console.info || log, + error: console && console.error || log }; -}); +}, {inject:['$window']}); angularService("$hover", function(browser) { var tooltip, self = this, error, width = 300, arrowWidth = 10; diff --git a/test/servicesSpec.js b/test/servicesSpec.js index 60b465d2..45993490 100644 --- a/test/servicesSpec.js +++ b/test/servicesSpec.js @@ -31,6 +31,37 @@ describe("service", function(){ scope.$document.addStyleSheet('css/angular.css'); }); + describe("$log", function(){ + it('should use console if present', function(){ + function log(){}; + function warn(){}; + function info(){}; + function error(){}; + var scope = createScope(null, angularService, {$window: {console:{log:log, warn:warn, info:info, error:error}}}); + expect(scope.$log.log).toEqual(log); + expect(scope.$log.warn).toEqual(warn); + expect(scope.$log.info).toEqual(info); + expect(scope.$log.error).toEqual(error); + }); + + it('should use console.log if other not present', function(){ + function log(){}; + var scope = createScope(null, angularService, {$window: {console:{log:log}}}); + expect(scope.$log.log).toEqual(log); + expect(scope.$log.warn).toEqual(log); + expect(scope.$log.info).toEqual(log); + expect(scope.$log.error).toEqual(log); + }); + + it('should use noop if no console', function(){ + var scope = createScope(null, angularService, {$window: {}}); + expect(scope.$log.log).toEqual(noop); + expect(scope.$log.warn).toEqual(noop); + expect(scope.$log.info).toEqual(noop); + expect(scope.$log.error).toEqual(noop); + }); + }); + describe("$location", function(){ it("should inject $location", function(){ scope.$location.parse('http://host:123/p/a/t/h.html?query=value#path?key=value'); |
