diff options
author | Stephen Vance <steve@vance.com> | 2013-07-14 15:25:14 -0400 |
---|---|---|
committer | Stephen Vance <steve@vance.com> | 2013-07-14 15:25:14 -0400 |
commit | f3456ce4d7fcb75a2da82c55a412167ff85681db (patch) | |
tree | 438d47c0b381a25f47fa05dc1b2a2d14baddcc43 | |
parent | 353ff5efbe1786d09f8043d6c9ef353b5272ce84 (diff) | |
download | jQuery-Timepicker-Addon-f3456ce4d7fcb75a2da82c55a412167ff85681db.zip jQuery-Timepicker-Addon-f3456ce4d7fcb75a2da82c55a412167ff85681db.tar.gz jQuery-Timepicker-Addon-f3456ce4d7fcb75a2da82c55a412167ff85681db.tar.bz2 |
Now that the basic time and date parsing functions are test protected, make splitDateTime() return an object instead of an array to simplify the code a bit.
-rw-r--r-- | jquery-ui-timepicker-addon.js | 32 | ||||
-rw-r--r-- | test/jquery-ui-timepicker-addon_spec.js | 8 |
2 files changed, 22 insertions, 18 deletions
diff --git a/jquery-ui-timepicker-addon.js b/jquery-ui-timepicker-addon.js index 9f11849..a0fec1c 100644 --- a/jquery-ui-timepicker-addon.js +++ b/jquery-ui-timepicker-addon.js @@ -1826,7 +1826,7 @@ /* * Splits datetime string into date and time substrings. * Throws exception when date can't be parsed - * Returns [dateString, timeString] + * Returns {dateString: dateString, timeString: timeString} */ var splitDateTime = function(dateFormat, dateTimeString, dateSettings, timeSettings) { try { @@ -1840,10 +1840,10 @@ allPartsLen = allParts.length; if (allPartsLen > 1) { - return [ - allParts.splice(0,allPartsLen-timePartsLen).join(separator), - allParts.splice(0,timePartsLen).join(separator) - ]; + return { + dateString: allParts.splice(0,allPartsLen-timePartsLen).join(separator), + timeString: allParts.splice(0,timePartsLen).join(separator) + }; } } catch (err) { @@ -1861,13 +1861,19 @@ var dateStringLength = dateTimeString.length - (err.length - err.indexOf(':') - 2), timeString = dateTimeString.substring(dateStringLength); - return [$.trim(dateTimeString.substring(0, dateStringLength)), $.trim(dateTimeString.substring(dateStringLength))]; + return { + dateString: $.trim(dateTimeString.substring(0, dateStringLength)), + timeString: $.trim(dateTimeString.substring(dateStringLength)) + }; } else { throw err; } } - return [dateTimeString, '']; + return { + dateString: dateTimeString, + timeString: '' + }; }; /* @@ -1878,21 +1884,19 @@ */ var parseDateTimeInternal = function(dateFormat, timeFormat, dateTimeString, dateSettings, timeSettings) { var date, - splitRes, - timeString, + parts, parsedTime; - splitRes = splitDateTime(dateFormat, dateTimeString, dateSettings, timeSettings); - date = $.datepicker._base_parseDate(dateFormat, splitRes[0], dateSettings); - timeString = splitRes[1]; + parts = splitDateTime(dateFormat, dateTimeString, dateSettings, timeSettings); + date = $.datepicker._base_parseDate(dateFormat, parts.dateString, dateSettings); - if (timeString === '') { + if (parts.timeString === '') { return { date: date }; } - parsedTime = $.datepicker.parseTime(timeFormat, timeString, timeSettings); + parsedTime = $.datepicker.parseTime(timeFormat, parts.timeString, timeSettings); if (!parsedTime) { throw 'Wrong time format'; diff --git a/test/jquery-ui-timepicker-addon_spec.js b/test/jquery-ui-timepicker-addon_spec.js index 1421b72..3cd4554 100644 --- a/test/jquery-ui-timepicker-addon_spec.js +++ b/test/jquery-ui-timepicker-addon_spec.js @@ -206,7 +206,7 @@ describe('datetimepicker', function() { result = $.timepicker._util._splitDateTime('', inputDateTimeString, {}, {}); - expect(result).toEqual([expectedDateString, expectedTimeString]); + expect(result).toEqual({dateString: expectedDateString, timeString: expectedTimeString}); }); it('splits a date and time into its parts using a supplied separator', function() { @@ -216,7 +216,7 @@ describe('datetimepicker', function() { result = $.timepicker._util._splitDateTime('', inputDateTimeString, {}, {separator: separator}); - expect(result).toEqual([expectedDateString, expectedTimeString]); + expect(result).toEqual({dateString: expectedDateString, timeString: expectedTimeString}); }); it('splits a date and time into its parts when there are multiple separators in the time format', function() { @@ -229,13 +229,13 @@ describe('datetimepicker', function() { result = $.timepicker._util._splitDateTime('', inputDateTimeString, {}, timeSettings); - expect(result).toEqual([expectedDateString, alternateTimeString]); + expect(result).toEqual({dateString: expectedDateString, timeString: alternateTimeString}); }); it('splits only a date into itself', function() { var result = $.timepicker._util._splitDateTime('', expectedDateString, {}, {}); - expect(result).toEqual([expectedDateString, '']); + expect(result).toEqual({dateString: expectedDateString, timeString: ''}); }); // TODO: Should test the error path, but not sure what throws the error or what the message looks like. |