]> git.ipfire.org Git - thirdparty/moment.git/commitdiff
name change and a some more thoroughness
authorIsaac Cambron <icambron@gmail.com>
Fri, 23 Aug 2013 00:15:38 +0000 (20:15 -0400)
committerIsaac Cambron <icambron@gmail.com>
Fri, 23 Aug 2013 00:25:19 +0000 (20:25 -0400)
moment.js
test/moment/zones.js

index 176d48d79654eba3c399300d438b247074b06bc7..578dcfcf6fe2dde27207985f1cf0ac8a66fdb344 100644 (file)
--- a/moment.js
+++ b/moment.js
             return this._isUTC ? "Coordinated Universal Time" : "";
         },
 
-        hasAlignedHours : function (input) {
+        hasAlignedHourOffset : function (input) {
+            var mod = this.zone() % 60,
+                wrapAround = function (minutes) {return minutes < 0 ? 60 + minutes : minutes; };
+
             if (input == null || input === '') {
-                return this.zone() % 60 === 0;
+                return mod === 0;
             }
             else {
-                return this.zone() % 60 === moment(input).zone() % 60;
+                return wrapAround(mod) === wrapAround(moment(input).zone() % 60);
             }
         },
 
index 9c3cecac10525e8ace9b7b2128fc45c720c1abf1..46a22dc85b7e285ca410e5bd7074acd8393de346 100644 (file)
@@ -420,23 +420,45 @@ exports.zones = {
     "hours alignment with UTC" : function (test) {
         test.expect(4);
 
-        test.equals(moment().zone(120).hasAlignedHours(), true);
-        test.equals(moment().zone(-180).hasAlignedHours(), true);
-        test.equals(moment().zone(90).hasAlignedHours(), false);
-        test.equals(moment().zone(-90).hasAlignedHours(), false);
+        test.equals(moment().zone(120).hasAlignedHourOffset(), true);
+        test.equals(moment().zone(-180).hasAlignedHourOffset(), true);
+        test.equals(moment().zone(90).hasAlignedHourOffset(), false);
+        test.equals(moment().zone(-90).hasAlignedHourOffset(), false);
 
         test.done();
     },
 
     "hours alignment with other zone" : function (test) {
-        test.expect(4);
+        test.expect(16);
 
         var m = moment().zone(120);
 
-        test.equals(m.hasAlignedHours(moment().zone(180)), true);
-        test.equals(m.hasAlignedHours(moment().zone(-180)), true);
-        test.equals(m.hasAlignedHours(moment().zone(90)), false);
-        test.equals(m.hasAlignedHours(moment().zone(-90)), false);
+        test.equals(m.hasAlignedHourOffset(moment().zone(180)), true);
+        test.equals(m.hasAlignedHourOffset(moment().zone(-180)), true);
+        test.equals(m.hasAlignedHourOffset(moment().zone(90)), false);
+        test.equals(m.hasAlignedHourOffset(moment().zone(-90)), false);
+
+        m = moment().zone(90);
+
+        test.equals(m.hasAlignedHourOffset(moment().zone(180)), false);
+        test.equals(m.hasAlignedHourOffset(moment().zone(-180)), false);
+        test.equals(m.hasAlignedHourOffset(moment().zone(30)), true);
+        test.equals(m.hasAlignedHourOffset(moment().zone(-30)), true);
+
+        m = moment().zone(-60);
+
+        test.equals(m.hasAlignedHourOffset(moment().zone(180)), true);
+        test.equals(m.hasAlignedHourOffset(moment().zone(-180)), true);
+        test.equals(m.hasAlignedHourOffset(moment().zone(90)), false);
+        test.equals(m.hasAlignedHourOffset(moment().zone(-90)), false);
+
+        m = moment().zone(25);
+
+        test.equals(m.hasAlignedHourOffset(moment().zone(-35)), true);
+        test.equals(m.hasAlignedHourOffset(moment().zone(85)), true);
+
+        test.equals(m.hasAlignedHourOffset(moment().zone(35)), false);
+        test.equals(m.hasAlignedHourOffset(moment().zone(-85)), false);
 
         test.done();
     }