aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrett Porter2014-03-18 15:36:00 +1100
committerIgor Minar2014-03-18 21:30:29 -0700
commit0c65f1ae3e86cd3eed078df4e691402d591cc757 (patch)
treec9c5030570ace62e738835b05edaadc03268d1a6
parentf40f54c6da4a5399fe18a89d068634bb491e9f1a (diff)
downloadangular.js-0c65f1ae3e86cd3eed078df4e691402d591cc757.tar.bz2
test(ngMock): workaround issue with negative timestamps
In some specific timezones and operating systems, it seems that getTimezoneOffset() can return an incorrect value for negative timestamps, as described in #5017. While this isn't something easily fixed in the mock code, the tests can avoid that particular timeframe by using a positive timestamp. Closes #5017 Closes #6730
-rw-r--r--test/ngMock/angular-mocksSpec.js15
1 files changed, 9 insertions, 6 deletions
diff --git a/test/ngMock/angular-mocksSpec.js b/test/ngMock/angular-mocksSpec.js
index b3608013..33c8f34a 100644
--- a/test/ngMock/angular-mocksSpec.js
+++ b/test/ngMock/angular-mocksSpec.js
@@ -52,16 +52,19 @@ describe('ngMock', function() {
it('should fake getHours method', function() {
- //0 in -3h
- var t0 = new angular.mock.TzDate(-3, 0);
+ // avoid going negative due to #5017, so use Jan 2, 1970 00:00 UTC
+ var jan2 = 24 * 60 * 60 * 1000;
+
+ //0:00 in -3h
+ var t0 = new angular.mock.TzDate(-3, jan2);
expect(t0.getHours()).toBe(3);
- //0 in +0h
- var t1 = new angular.mock.TzDate(0, 0);
+ //0:00 in +0h
+ var t1 = new angular.mock.TzDate(0, jan2);
expect(t1.getHours()).toBe(0);
- //0 in +3h
- var t2 = new angular.mock.TzDate(3, 0);
+ //0:00 in +3h
+ var t2 = new angular.mock.TzDate(3, jan2);
expect(t2.getHours()).toMatch(21);
});