summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Vance <steve@vance.com>2013-07-14 15:25:14 -0400
committerStephen Vance <steve@vance.com>2013-07-14 15:25:14 -0400
commitf3456ce4d7fcb75a2da82c55a412167ff85681db (patch)
tree438d47c0b381a25f47fa05dc1b2a2d14baddcc43
parent353ff5efbe1786d09f8043d6c9ef353b5272ce84 (diff)
downloadjQuery-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.js32
-rw-r--r--test/jquery-ui-timepicker-addon_spec.js8
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.