aboutsummaryrefslogtreecommitdiffstats
path: root/test/servicesSpec.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/servicesSpec.js')
-rw-r--r--test/servicesSpec.js76
1 files changed, 44 insertions, 32 deletions
diff --git a/test/servicesSpec.js b/test/servicesSpec.js
index 32e7812a..ffd01267 100644
--- a/test/servicesSpec.js
+++ b/test/servicesSpec.js
@@ -1,5 +1,5 @@
describe("service", function(){
- var scope, $xhrError, $log;
+ var scope, $xhrError, $log, mockServices;
beforeEach(function(){
$xhrError = jasmine.createSpy('$xhr.error');
@@ -33,32 +33,45 @@ describe("service", function(){
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);
+ var logger = "";
+ function log(){ logger+= 'log;'; };
+ function warn(){ logger+= 'warn;'; };
+ function info(){ logger+= 'info;'; };
+ function error(){ logger+= 'error;'; };
+ var scope = createScope(null, angularService, {$window: {console:{log:log, warn:warn, info:info, error:error}}, $document:[{}]});
+ scope.$log.log();
+ scope.$log.warn();
+ scope.$log.info();
+ scope.$log.error();
+ expect(logger).toEqual('log;warn;info;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);
+ var logger = "";
+ function log(){ logger+= 'log;'; };
+ var scope = createScope(null, angularService, {$window: {console:{log:log}}, $document:[{}]});
+ scope.$log.log();
+ scope.$log.warn();
+ scope.$log.info();
+ scope.$log.error();
+ expect(logger).toEqual('log;log;log;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);
+ var scope = createScope(null, angularService, {$window: {}, $document:[{}]});
+ scope.$log.log();
+ scope.$log.warn();
+ scope.$log.info();
+ scope.$log.error();
+ });
+ });
+
+ describe("$exceptionHandler", function(){
+ it('should log errors', function(){
+ var error = '';
+ $log.error = function(m) { error += m; };
+ scope.$exceptionHandler('myError');
+ expect(error).toEqual('myError');
});
});
@@ -78,7 +91,7 @@ describe("service", function(){
scope.$location.hashPath = 'page=http://path';
scope.$location.hashSearch = {k:'a=b'};
- expect(scope.$location.toString()).toEqual('http://host:123/p/a/t/h.html?query=value#page=http://path?k=a%3Db');
+ expect(scope.$location.toString()).toEqual('http://host:123/p/a/t/h.html?query=value#page%3Dhttp%3A//path?k=a%3Db');
});
it('should parse file://', function(){
@@ -93,7 +106,7 @@ describe("service", function(){
expect(scope.$location.hashPath).toEqual('');
expect(scope.$location.hashSearch).toEqual({});
- expect(scope.$location.toString()).toEqual('file:///Users/Shared/misko/work/angular.js/scenario/widgets.html#');
+ expect(scope.$location.toString()).toEqual('file:///Users/Shared/misko/work/angular.js/scenario/widgets.html');
});
it('should update url on hash change', function(){
@@ -110,6 +123,14 @@ describe("service", function(){
expect(scope.$location.hash).toEqual('?a=b');
});
+ it("should parse url which contains - in host", function(){
+ scope.$location.parse('http://a-b1.c-d.09/path');
+ expect(scope.$location.href).toEqual('http://a-b1.c-d.09/path');
+ expect(scope.$location.protocol).toEqual('http');
+ expect(scope.$location.host).toEqual('a-b1.c-d.09');
+ expect(scope.$location.path).toEqual('/path');
+ });
+
it('should update hash before any processing', function(){
var scope = compile('<div>');
var log = '';
@@ -123,15 +144,6 @@ describe("service", function(){
scope.$eval();
expect(log).toEqual('/abc;');
});
-
- it("should parse url which contains - in host", function(){
- scope.$location.parse('http://a-b1.c-d.09/path');
- expect(scope.$location.href).toEqual('http://a-b1.c-d.09/path');
- expect(scope.$location.protocol).toEqual('http');
- expect(scope.$location.host).toEqual('a-b1.c-d.09');
- expect(scope.$location.path).toEqual('/path');
- });
-
});
describe("$invalidWidgets", function(){