From 80e12276f423a0dcb486b1191857db96a0ba0a93 Mon Sep 17 00:00:00 2001 From: Misko Hevery Date: Wed, 19 May 2010 13:24:20 -0700 Subject: added $log to console connection --- src/services.js | 11 ++++++++--- 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'); -- cgit v1.2.3 From 80bd0c273b20b6fde25bb38c7639821cd205f69b Mon Sep 17 00:00:00 2001 From: Misko Hevery Date: Wed, 19 May 2010 16:00:20 -0700 Subject: fixed isNumber to angular.isNumber for mocks outside of angular --- src/services.js | 4 ++-- test/angular-mocks.js | 2 +- test/servicesSpec.js | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/services.js b/src/services.js index 93822a8c..940f1905 100644 --- a/src/services.js +++ b/src/services.js @@ -234,7 +234,7 @@ angularService('$xhr', function($browser, $error, $log){ angularService('$xhr.error', function($log){ return function(request, response){ - $log.error(response); + $log.error('ERROR: XHR: ' + request.url, request, response); }; }, {inject:['$log']}); @@ -272,7 +272,7 @@ angularService('$xhr.bulk', function($xhr, $error, $log){ if (response.status == 200) { (currentRequests[i].callback || noop)(response.status, response.response); } else { - $error(currentRequests[i], {status: response.status, body:response.response}); + $error(currentRequests[i], response); } } catch(e) { $log.error(e); diff --git a/test/angular-mocks.js b/test/angular-mocks.js index c5784ac9..8838b2cd 100644 --- a/test/angular-mocks.js +++ b/test/angular-mocks.js @@ -54,7 +54,7 @@ function MockBrowser() { var expect = expectations[method] || (expectations[method] = {}); return { respond: function(code, response) { - if (!isNumber(code)) { + if (!angular.isNumber(code)) { response = code; code = 200; } diff --git a/test/servicesSpec.js b/test/servicesSpec.js index 45993490..c2c13461 100644 --- a/test/servicesSpec.js +++ b/test/servicesSpec.js @@ -288,7 +288,7 @@ describe("service", function(){ expect(typeof cb).toEqual('function'); expect($xhrError).wasCalledWith( {url:'/req1', method:'GET', data:null, callback:cb}, - {status:404, body:'NotFound'}); + {status:404, response:'NotFound'}); expect(log).toEqual('"second";DONE'); }); -- cgit v1.2.3