diff options
author | Stephen Vance <steve@vance.com> | 2013-07-28 19:29:19 -0400 |
---|---|---|
committer | Stephen Vance <steve@vance.com> | 2013-07-28 19:29:19 -0400 |
commit | d787f1521311357f67dde0857a3b6ae12ec4f360 (patch) | |
tree | d5a84da0e98099f23b24e4244571036aef0cd50b /test/jquery-ui-timepicker-addon_spec.js | |
parent | 83c55c303f82c9a6327226b78eea9e0ce749cf61 (diff) | |
download | jQuery-Timepicker-Addon-d787f1521311357f67dde0857a3b6ae12ec4f360.zip jQuery-Timepicker-Addon-d787f1521311357f67dde0857a3b6ae12ec4f360.tar.gz jQuery-Timepicker-Addon-d787f1521311357f67dde0857a3b6ae12ec4f360.tar.bz2 |
Time zone and literal tests, as well as some additional cases for the timezoneOffsetString() tests based on the timezone work. Changed the default timezone to null and eliminated double quotes from the regexp for literals.
Diffstat (limited to 'test/jquery-ui-timepicker-addon_spec.js')
-rw-r--r-- | test/jquery-ui-timepicker-addon_spec.js | 54 |
1 files changed, 46 insertions, 8 deletions
diff --git a/test/jquery-ui-timepicker-addon_spec.js b/test/jquery-ui-timepicker-addon_spec.js index 191db63..b7c7c68 100644 --- a/test/jquery-ui-timepicker-addon_spec.js +++ b/test/jquery-ui-timepicker-addon_spec.js @@ -379,6 +379,14 @@ describe('datetimepicker', function() { expect($.timepicker.timezoneOffsetString(-720, true)).toBe('-12:00'); expect($.timepicker.timezoneOffsetString(840, true)).toBe('+14:00'); }); + + it('handles abnormal values reasonably', function() { + expect($.timepicker.timezoneOffsetString(null, false)).toBe('+0000'); + expect($.timepicker.timezoneOffsetString(null, true)).toBe('Z'); + + expect($.timepicker.timezoneOffsetString(undefined, false)).toBeUndefined(); + expect($.timepicker.timezoneOffsetString(undefined, true)).toBeUndefined(); + }); }); describe('timezoneAdjust', function() { @@ -557,7 +565,31 @@ describe('datetimepicker', function() { }); describe('timezone', function() { - // TODO: Finish + var nullTimezoneTime = {timezone: null}, + noTimezoneTime = emptyTime, + timezoneTime = {timezone: -240}, + noTimezoneOptions = {}, + timezoneOptions = {timezone: 600}; + + it('handles z correctly', function() { + expect($.datepicker.formatTime('z', timezoneTime, noTimezoneOptions)).toBe('-0400'); + expect($.datepicker.formatTime('z', timezoneTime, timezoneOptions)).toBe('-0400'); + + expect($.datepicker.formatTime('z', nullTimezoneTime, timezoneOptions)).toBe('+1000'); + expect($.datepicker.formatTime('z', noTimezoneTime, timezoneOptions)).toBe('+1000'); + expect($.datepicker.formatTime('z', nullTimezoneTime, noTimezoneOptions)).toBe('+0000'); + expect($.datepicker.formatTime('z', noTimezoneTime, noTimezoneOptions)).toBe('+0000'); + }); + + it('handles Z correctly', function() { + expect($.datepicker.formatTime('Z', timezoneTime, noTimezoneOptions)).toBe('-04:00'); + expect($.datepicker.formatTime('Z', timezoneTime, timezoneOptions)).toBe('-04:00'); + + expect($.datepicker.formatTime('Z', nullTimezoneTime, timezoneOptions)).toBe('+10:00'); + expect($.datepicker.formatTime('Z', noTimezoneTime, timezoneOptions)).toBe('+10:00'); + expect($.datepicker.formatTime('Z', nullTimezoneTime, noTimezoneOptions)).toBe('Z'); + expect($.datepicker.formatTime('Z', noTimezoneTime, noTimezoneOptions)).toBe('Z'); + }); }); describe('am/pm', function() { @@ -589,13 +621,19 @@ describe('datetimepicker', function() { }); }); - describe('other', function() { - expect($.datepicker.formatTime('')).toBe(''); - expect($.datepicker.formatTime("'abc'")).toBe('abc'); - expect($.datepicker.formatTime('"abc"')).toBe('"abc"'); - expect($.datepicker.formatTime("'")).toBe("'"); - expect($.datepicker.formatTime("''")).toBe(""); - expect($.datepicker.formatTime("'abc' h 'def'")).toBe('abc 12 def'); + describe('literals', function() { + it('handles literals correctly', function() { + expect($.datepicker.formatTime('', emptyTime)).toBe(''); + expect($.datepicker.formatTime("'abc'", emptyTime)).toBe('abc'); + expect($.datepicker.formatTime("'", emptyTime)).toBe("'"); + expect($.datepicker.formatTime("''", emptyTime)).toBe(""); + expect($.datepicker.formatTime("'abc' h 'def'", emptyTime)).toBe('abc 12 def'); + }); + + it('does not treat double quotes as literals', function() { + expect($.datepicker.formatTime('"ab"', emptyTime)).toBe('"ab"'); + expect($.datepicker.formatTime('"abc"', emptyTime)).toBe('"ab000"'); + }); }); }); }); |