aboutsummaryrefslogtreecommitdiffstats
path: root/test/angular-mocksSpec.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/angular-mocksSpec.js')
-rw-r--r--test/angular-mocksSpec.js113
1 files changed, 83 insertions, 30 deletions
diff --git a/test/angular-mocksSpec.js b/test/angular-mocksSpec.js
index 205461af..343be966 100644
--- a/test/angular-mocksSpec.js
+++ b/test/angular-mocksSpec.js
@@ -8,90 +8,90 @@ describe('mocks', function() {
}
it('should take millis as constructor argument', function() {
- expect(new TzDate(0, 0).getTime()).toBe(0);
- expect(new TzDate(0, 1283555108000).getTime()).toBe(1283555108000);
+ expect(new angular.mock.TzDate(0, 0).getTime()).toBe(0);
+ expect(new angular.mock.TzDate(0, 1283555108000).getTime()).toBe(1283555108000);
});
it('should take dateString as constructor argument', function() {
- expect(new TzDate(0, '1970-01-01T00:00:00.000Z').getTime()).toBe(0);
- expect(new TzDate(0, '2010-09-03T23:05:08.023Z').getTime()).toBe(1283555108023);
+ expect(new angular.mock.TzDate(0, '1970-01-01T00:00:00.000Z').getTime()).toBe(0);
+ expect(new angular.mock.TzDate(0, '2010-09-03T23:05:08.023Z').getTime()).toBe(1283555108023);
});
it('should fake getLocalDateString method', function() {
//0 in -3h
- var t0 = new TzDate(-3, 0);
+ var t0 = new angular.mock.TzDate(-3, 0);
expect(t0.toLocaleDateString()).toMatch('1970');
//0 in +0h
- var t1 = new TzDate(0, 0);
+ var t1 = new angular.mock.TzDate(0, 0);
expect(t1.toLocaleDateString()).toMatch('1970');
//0 in +3h
- var t2 = new TzDate(3, 0);
+ var t2 = new angular.mock.TzDate(3, 0);
expect(t2.toLocaleDateString()).toMatch('1969');
});
it('should fake getHours method', function() {
//0 in -3h
- var t0 = new TzDate(-3, 0);
+ var t0 = new angular.mock.TzDate(-3, 0);
expect(t0.getHours()).toBe(3);
//0 in +0h
- var t1 = new TzDate(0, 0);
+ var t1 = new angular.mock.TzDate(0, 0);
expect(t1.getHours()).toBe(0);
//0 in +3h
- var t2 = new TzDate(3, 0);
+ var t2 = new angular.mock.TzDate(3, 0);
expect(t2.getHours()).toMatch(21);
});
it('should fake getMinutes method', function() {
//0:15 in -3h
- var t0 = new TzDate(-3, minutes(15));
+ var t0 = new angular.mock.TzDate(-3, minutes(15));
expect(t0.getMinutes()).toBe(15);
//0:15 in -3.25h
- var t0a = new TzDate(-3.25, minutes(15));
+ var t0a = new angular.mock.TzDate(-3.25, minutes(15));
expect(t0a.getMinutes()).toBe(30);
//0 in +0h
- var t1 = new TzDate(0, minutes(0));
+ var t1 = new angular.mock.TzDate(0, minutes(0));
expect(t1.getMinutes()).toBe(0);
//0:15 in +0h
- var t1a = new TzDate(0, minutes(15));
+ var t1a = new angular.mock.TzDate(0, minutes(15));
expect(t1a.getMinutes()).toBe(15);
//0:15 in +3h
- var t2 = new TzDate(3, minutes(15));
+ var t2 = new angular.mock.TzDate(3, minutes(15));
expect(t2.getMinutes()).toMatch(15);
//0:15 in +3.25h
- var t2a = new TzDate(3.25, minutes(15));
+ var t2a = new angular.mock.TzDate(3.25, minutes(15));
expect(t2a.getMinutes()).toMatch(0);
});
it('should fake getSeconds method', function() {
//0 in -3h
- var t0 = new TzDate(-3, 0);
+ var t0 = new angular.mock.TzDate(-3, 0);
expect(t0.getSeconds()).toBe(0);
//0 in +0h
- var t1 = new TzDate(0, 0);
+ var t1 = new angular.mock.TzDate(0, 0);
expect(t1.getSeconds()).toBe(0);
//0 in +3h
- var t2 = new TzDate(3, 0);
+ var t2 = new angular.mock.TzDate(3, 0);
expect(t2.getSeconds()).toMatch(0);
});
it('should create a date representing new year in Bratislava', function() {
- var newYearInBratislava = new TzDate(-1, '2009-12-31T23:00:00.000Z');
+ var newYearInBratislava = new angular.mock.TzDate(-1, '2009-12-31T23:00:00.000Z');
expect(newYearInBratislava.getTimezoneOffset()).toBe(-60);
expect(newYearInBratislava.getFullYear()).toBe(2010);
expect(newYearInBratislava.getMonth()).toBe(0);
@@ -103,7 +103,7 @@ describe('mocks', function() {
it('should delegate all the UTC methods to the original UTC Date object', function() {
//from when created from string
- var date1 = new TzDate(-1, '2009-12-31T23:00:00.000Z');
+ var date1 = new angular.mock.TzDate(-1, '2009-12-31T23:00:00.000Z');
expect(date1.getUTCFullYear()).toBe(2009);
expect(date1.getUTCMonth()).toBe(11);
expect(date1.getUTCDate()).toBe(31);
@@ -113,7 +113,7 @@ describe('mocks', function() {
//from when created from millis
- var date2 = new TzDate(-1, angular.String.toDate('2009-12-31T23:00:00.000Z').getTime());
+ var date2 = new angular.mock.TzDate(-1, angular.String.toDate('2009-12-31T23:00:00.000Z').getTime());
expect(date2.getUTCFullYear()).toBe(2009);
expect(date2.getUTCMonth()).toBe(11);
expect(date2.getUTCDate()).toBe(31);
@@ -124,16 +124,20 @@ describe('mocks', function() {
it('should throw error when no third param but toString called', function() {
- expect(function() { new TzDate(0,0).toString(); }).
+ expect(function() { new angular.mock.TzDate(0,0).toString(); }).
toThrow('Method \'toString\' is not implemented in the TzDate mock');
});
});
- describe('$log mock', function() {
+ describe('$log', function() {
var $log;
- beforeEach(function() {
- $log = MockLogFactory();
- });
+ beforeEach(inject(['$log', function(log) {
+ $log = log;
+ }]));
+
+ afterEach(inject(function($log){
+ $log.reset();
+ }));
it('should provide log method', function() {
expect(function() { $log.log(''); }).not.toThrow();
@@ -170,14 +174,48 @@ describe('mocks', function() {
$log.error('fake log');
expect($log.error.logs).toContain(['fake log']);
});
+
+ it('should assertEmpty', function(){
+ try {
+ $log.error(Error('MyError'));
+ $log.warn(Error('MyWarn'));
+ $log.info(Error('MyInfo'));
+ $log.log(Error('MyLog'));
+ $log.assertEmpty();
+ } catch (error) {
+ error = error.message || error;
+ expect(error).toMatch(/Error: MyError/m);
+ expect(error).toMatch(/Error: MyWarn/m);
+ expect(error).toMatch(/Error: MyInfo/m);
+ expect(error).toMatch(/Error: MyLog/m);
+ } finally {
+ $log.reset();
+ }
+ });
+
+ it('should reset state', function(){
+ $log.error(Error('MyError'));
+ $log.warn(Error('MyWarn'));
+ $log.info(Error('MyInfo'));
+ $log.log(Error('MyLog'));
+ $log.reset();
+ var passed = false;
+ try {
+ $log.assertEmpty(); // should not throw error!
+ passed = true;
+ } catch (e) {
+ passed = e;
+ }
+ expect(passed).toBe(true);
+ });
});
describe('defer', function() {
var browser, log;
- beforeEach(function() {
- browser = new MockBrowser();
+ beforeEach(inject(function($browser) {
+ browser = $browser;
log = '';
- });
+ }));
function logFn(text){ return function() {
log += text +';';
@@ -229,5 +267,20 @@ describe('mocks', function() {
it('should rethrow exceptions', inject(function($exceptionHandler) {
expect(function() { $exceptionHandler('myException'); }).toThrow('myException');
}));
+
+
+ it('should log exceptions', inject(function($exceptionHandlerProvider){
+ $exceptionHandlerProvider.mode('log');
+ var $exceptionHandler = $exceptionHandlerProvider.$get();
+ $exceptionHandler('MyError');
+ expect($exceptionHandler.errors).toEqual(['MyError']);
+ }));
+
+
+ it('should thorw on wrong argument', inject(function($exceptionHandlerProvider) {
+ expect(function() {
+ $exceptionHandlerProvider.mode('XXX');
+ }).toThrow("Unknown mode 'XXX', only 'log'/'rethrow' modes are allowed!");
+ }));
});
});