summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Vance <steve@vance.com>2013-07-06 23:57:46 -0400
committerStephen Vance <steve@vance.com>2013-07-06 23:57:46 -0400
commit34e2ee285c1d5d79d6be3b85193176b6efd95905 (patch)
tree423c03e030d7732c27e3b524b1f84cb5f03c689b
parentf018316316d63c21b2f17ebac5da9c7de852c852 (diff)
downloadjQuery-Timepicker-Addon-34e2ee285c1d5d79d6be3b85193176b6efd95905.zip
jQuery-Timepicker-Addon-34e2ee285c1d5d79d6be3b85193176b6efd95905.tar.gz
jQuery-Timepicker-Addon-34e2ee285c1d5d79d6be3b85193176b6efd95905.tar.bz2
Write tests for selectLocalTimezone and do some minor simplification.
-rw-r--r--jquery-ui-timepicker-addon.js7
-rw-r--r--test/jquery-ui-timepicker-addon_spec.js43
2 files changed, 47 insertions, 3 deletions
diff --git a/jquery-ui-timepicker-addon.js b/jquery-ui-timepicker-addon.js
index 8d04608..38074f1 100644
--- a/jquery-ui-timepicker-addon.js
+++ b/jquery-ui-timepicker-addon.js
@@ -1903,8 +1903,8 @@
*/
var selectLocalTimezone = function(tp_inst, date) {
if (tp_inst && tp_inst.timezone_select) {
- var now = typeof date !== 'undefined' ? date : new Date();
- tp_inst.timezone_select.val(now.getTimezoneOffset()*-1);
+ var now = date || new Date();
+ tp_inst.timezone_select.val(-now.getTimezoneOffset());
}
};
@@ -2112,7 +2112,8 @@
_extendRemove: extendRemove,
_isEmptyObject: isEmptyObject,
_convert24to12: convert24to12,
- _detectSupport: detectSupport
+ _detectSupport: detectSupport,
+ _selectLocalTimezone: selectLocalTimezone
};
/*
diff --git a/test/jquery-ui-timepicker-addon_spec.js b/test/jquery-ui-timepicker-addon_spec.js
index f6ef641..70f44b2 100644
--- a/test/jquery-ui-timepicker-addon_spec.js
+++ b/test/jquery-ui-timepicker-addon_spec.js
@@ -152,5 +152,48 @@ describe('datetimepicker', function() {
expect(util._detectSupport('acdf').iso8601).toBe(false);
});
});
+
+ describe('selectLocalTimezone', function() {
+ var timepicker,
+ timezoneOffset,
+ defaultTimezoneOffset;
+
+ beforeEach(function() {
+ timepicker = {
+ timezone_select: affix('select')
+ };
+ var now = new Date();
+ timezoneOffset = String(-now.getTimezoneOffset());
+ defaultTimezoneOffset = String(timezoneOffset - 60);
+ timepicker.timezone_select.affix('option').text(defaultTimezoneOffset);
+ timepicker.timezone_select.affix('option').text(timezoneOffset);
+ timepicker.timezone_select.affix('option').text(timezoneOffset + 60);
+
+ });
+
+ it('should do nothing for a falsey timepicker', function() {
+ util._selectLocalTimezone(undefined);
+
+ expect(timepicker.timezone_select.val()).toBe(defaultTimezoneOffset);
+ });
+
+ it('should do nothing for a timepicker with a falsey timezone_select', function() {
+ util._selectLocalTimezone({});
+
+ expect(timepicker.timezone_select.val()).toBe(defaultTimezoneOffset);
+ });
+
+ it('should select the current timezone with a valid timezone_select and no date', function() {
+ util._selectLocalTimezone(timepicker);
+
+ expect(timepicker.timezone_select.val()).toBe(timezoneOffset);
+ });
+
+ it('should select the current timezone with a valid timezone_select and a date', function() {
+ util._selectLocalTimezone(timepicker, new Date());
+
+ expect(timepicker.timezone_select.val()).toBe(timezoneOffset);
+ });
+ });
});
}); \ No newline at end of file