diff options
author | Stephen Vance <steve@vance.com> | 2013-07-06 23:57:46 -0400 |
---|---|---|
committer | Stephen Vance <steve@vance.com> | 2013-07-06 23:57:46 -0400 |
commit | 34e2ee285c1d5d79d6be3b85193176b6efd95905 (patch) | |
tree | 423c03e030d7732c27e3b524b1f84cb5f03c689b | |
parent | f018316316d63c21b2f17ebac5da9c7de852c852 (diff) | |
download | jQuery-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.js | 7 | ||||
-rw-r--r-- | test/jquery-ui-timepicker-addon_spec.js | 43 |
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 |