diff options
author | Matt Vogt <matthew.vogt@jollamobile.com> | 2014-06-18 09:34:56 +1000 |
---|---|---|
committer | Matthew Vogt <matthew.vogt@qinetic.com.au> | 2014-06-24 03:11:16 +0200 |
commit | 98b975206c638f9b624bfa184367880bfc08949a (patch) | |
tree | 606650fd23e837258ed61bc2c4b46c647480bb43 | |
parent | 2c771de92d5c47d6ac58ab5f5b3e709b915492f3 (diff) |
Fix organizer tests in outlying timezones
Fix test failures resulting from incorrect handling of local and
UTC time, which fail only in timezones some distance from UTC.
Change-Id: I8ddecf501a4db46aca07a1e5d5db7dc5eb804b78
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
Reviewed-by: Michael Krasnyk <michael.krasnyk@gmail.com>
Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>
4 files changed, 499 insertions, 383 deletions
diff --git a/src/organizer/qorganizermanagerengine.cpp b/src/organizer/qorganizermanagerengine.cpp index 488025139..b54c1cf32 100644 --- a/src/organizer/qorganizermanagerengine.cpp +++ b/src/organizer/qorganizermanagerengine.cpp @@ -1290,10 +1290,12 @@ QOrganizerItem QOrganizerManagerEngine::generateOccurrence(const QOrganizerItem } } + const QDate localRDate(rdate.toLocalTime().date()); + // add the detail which identifies exactly which instance this item is. QOrganizerItemParent parentDetail; parentDetail.setParentId(parentItem.id()); - parentDetail.setOriginalDate(rdate.date()); + parentDetail.setOriginalDate(localRDate); occDetails.append(parentDetail); // save those details in the instance. @@ -1312,13 +1314,14 @@ QOrganizerItem QOrganizerManagerEngine::generateOccurrence(const QOrganizerItem int eventDayCount = 0; if (etr.startDateTime().isValid() && etr.endDateTime().isValid()) eventDayCount = etr.startDateTime().daysTo(etr.endDateTime()); - QDateTime temp = etr.startDateTime(); - temp.setDate(rdate.date()); - etr.setStartDateTime(temp); - temp = etr.endDateTime(); - QDate endDate = rdate.addDays(eventDayCount).date(); + // Perform time manipulations in local time + QDateTime temp = etr.startDateTime().toLocalTime(); + temp.setDate(localRDate); + etr.setStartDateTime(temp.toUTC()); + temp = etr.endDateTime().toLocalTime(); + QDate endDate = localRDate.addDays(eventDayCount); temp.setDate(endDate); - etr.setEndDateTime(temp); + etr.setEndDateTime(temp.toUTC()); instanceItem.saveDetail(&etr); } } @@ -1330,13 +1333,13 @@ QOrganizerItem QOrganizerManagerEngine::generateOccurrence(const QOrganizerItem int todoDayCount = 0; if (ttr.startDateTime().isValid() && ttr.dueDateTime().isValid()) todoDayCount = ttr.startDateTime().daysTo(ttr.dueDateTime()); - QDateTime temp = ttr.startDateTime(); - temp.setDate(rdate.date()); - ttr.setStartDateTime(temp); - temp = ttr.dueDateTime(); - QDate endDate = rdate.addDays(todoDayCount).date(); + QDateTime temp = ttr.startDateTime().toLocalTime(); + temp.setDate(localRDate); + ttr.setStartDateTime(temp.toUTC()); + temp = ttr.dueDateTime().toLocalTime(); + QDate endDate = localRDate.addDays(todoDayCount); temp.setDate(endDate); - ttr.setDueDateTime(temp); + ttr.setDueDateTime(temp.toUTC()); instanceItem.saveDetail(&ttr); } } @@ -1355,7 +1358,12 @@ QList<QDateTime> QOrganizerManagerEngine::generateDateTimes(const QDateTime &ini if (periodEnd.isValid() || maxCount <= 0) maxCount = INT_MAX; // count of returned items is unlimited - QDateTime realPeriodEnd(periodEnd); + // Perform calculations in local time, for meaningful comparison with date values + const QDateTime localInitialDateTime = initialDateTime.toLocalTime(); + const QDateTime localPeriodStart = periodStart.toLocalTime(); + const QDateTime localPeriodEnd = periodEnd.toLocalTime(); + + QDateTime realPeriodEnd(localPeriodEnd); if (rrule.limitType() == QOrganizerRecurrenceRule::DateLimit && rrule.limitDate() < realPeriodEnd.date()) { realPeriodEnd.setDate(rrule.limitDate()); @@ -1364,18 +1372,18 @@ QList<QDateTime> QOrganizerManagerEngine::generateDateTimes(const QDateTime &ini QDate nextDate; if (rrule.limitType() == QOrganizerRecurrenceRule::CountLimit) - nextDate = initialDateTime.date(); + nextDate = localInitialDateTime.date(); else - nextDate = periodStart.date(); + nextDate = localPeriodStart.date(); - inferMissingCriteria(&rrule, initialDateTime.date()); + inferMissingCriteria(&rrule, localInitialDateTime.date()); int countLimitDates = 0; bool periodEndReached = false; while (!periodEndReached && nextDate <= realPeriodEnd.date() && retn.size() < maxCount) { if (rrule.limitType() == QOrganizerRecurrenceRule::CountLimit && countLimitDates >= rrule.limitCount()) break; // reached limit count defined in the recurrence rule // Skip nextDate if it is not the right multiple of intervals away from initialDateTime. - if (inMultipleOfInterval(nextDate, initialDateTime.date(), rrule.frequency(), rrule.interval(), rrule.firstDayOfWeek())) { + if (inMultipleOfInterval(nextDate, localInitialDateTime.date(), rrule.frequency(), rrule.interval(), rrule.firstDayOfWeek())) { // Calculate the inclusive start and inclusive end of nextDate's week/month/year QDate subPeriodStart(firstDateInPeriod(nextDate, rrule.frequency(), rrule.firstDayOfWeek())); QDate subPeriodEnd(firstDateInNextPeriod(nextDate, rrule.frequency(), rrule.firstDayOfWeek()).addDays(-1)); @@ -1386,17 +1394,18 @@ QList<QDateTime> QOrganizerManagerEngine::generateDateTimes(const QDateTime &ini // A final filter over the dates list before adding it to the returned list foreach (const QDate &match, matchesInPeriod) { nextDate = match; - if (match < initialDateTime.date()) + if (match < localInitialDateTime.date()) continue; if (match > realPeriodEnd.date() || retn.size() >= maxCount) break; - QDateTime generatedDateTime(initialDateTime); + QDateTime generatedDateTime(localInitialDateTime); generatedDateTime.setDate(match); countLimitDates++; - if (generatedDateTime >= periodStart && generatedDateTime <= realPeriodEnd) { - retn.append(generatedDateTime); + if (generatedDateTime >= localPeriodStart && generatedDateTime <= realPeriodEnd) { + // Convert back to UTC for returned value + retn.append(generatedDateTime.toUTC()); } else if (generatedDateTime > realPeriodEnd) { // We've gone past the end of the period. Ensure we break both the foreach and // the while loop diff --git a/src/plugins/organizer/memory/qorganizeritemmemorybackend.cpp b/src/plugins/organizer/memory/qorganizeritemmemorybackend.cpp index ac95c8cf0..344880906 100644 --- a/src/plugins/organizer/memory/qorganizeritemmemorybackend.cpp +++ b/src/plugins/organizer/memory/qorganizeritemmemorybackend.cpp @@ -479,14 +479,16 @@ QList<QOrganizerItem> QOrganizerItemMemoryEngine::internalItemOccurrences(const xdates += xdate; } if (realPeriodStart.isValid()) { + // Dates are interpreted as local time, but realPeriodStart is UTC + const QDate localStartDate(realPeriodStart.toLocalTime().date()); QSet<QOrganizerRecurrenceRule> xrules = recur.exceptionRules(); foreach (const QOrganizerRecurrenceRule& xrule, xrules) { if (xrule.frequency() != QOrganizerRecurrenceRule::Invalid - && ((xrule.limitType() != QOrganizerRecurrenceRule::DateLimit) || (xrule.limitDate() >= realPeriodStart.date()))) { + && ((xrule.limitType() != QOrganizerRecurrenceRule::DateLimit) || (xrule.limitDate() >= localStartDate))) { // we cannot skip it, since it applies in the given time period. QList<QDateTime> xdatetimes = generateDateTimes(initialDateTime, xrule, realPeriodStart, realPeriodEnd, 50); // max count of 50 is arbitrary... foreach (const QDateTime& xdatetime, xdatetimes) - xdates += xdatetime.date(); + xdates += xdatetime.toLocalTime().date(); } } } @@ -496,14 +498,18 @@ QList<QOrganizerItem> QOrganizerItemMemoryEngine::internalItemOccurrences(const // we want to have dates sorted // Only key of the map is relevant (QDateTime), the value (int) is not used QMap<QDateTime, int> rdateMap; - foreach (const QDate& rdate, recur.recurrenceDates()) - rdateMap.insert(QDateTime(rdate, initialDateTime.time()), 0); + foreach (const QDate& rdate, recur.recurrenceDates()) { + QDateTime dt(initialDateTime.toLocalTime()); + dt.setDate(rdate); + rdateMap.insert(dt.toUTC(), 0); + } if (realPeriodStart.isValid()) { + const QDate localStartDate(realPeriodStart.toLocalTime().date()); QSet<QOrganizerRecurrenceRule> rrules = recur.recurrenceRules(); foreach (const QOrganizerRecurrenceRule& rrule, rrules) { if (rrule.frequency() != QOrganizerRecurrenceRule::Invalid - && ((rrule.limitType() != QOrganizerRecurrenceRule::DateLimit) || (rrule.limitDate() >= realPeriodStart.date()))) { + && ((rrule.limitType() != QOrganizerRecurrenceRule::DateLimit) || (rrule.limitDate() >= localStartDate))) { // we cannot skip it, since it applies in the given time period. QList<QDateTime> rdatetimes = generateDateTimes(initialDateTime, rrule, realPeriodStart, realPeriodEnd, 50); // max count of 50 is arbitrary... foreach (const QDateTime& rdatetime, rdatetimes) @@ -521,17 +527,18 @@ QList<QOrganizerItem> QOrganizerItemMemoryEngine::internalItemOccurrences(const // now for each rdate which isn't also an xdate foreach (const QDateTime& rdate, rdates) { if (rdate >= realPeriodStart && rdate <= realPeriodEnd) { - if (!xdates.contains(rdate.date())) { + const QDate localRDate(rdate.toLocalTime().date()); + if (!xdates.contains(localRDate)) { // generate the required instance and add it to the return list. retn.append(QOrganizerManagerEngine::generateOccurrence(parentItem, rdate)); } else if (includeExceptions) { for (int i = 0; i < xoccurrences.size(); i++) { QOrganizerItemParent parentDetail = xoccurrences[i].detail(QOrganizerItemDetail::TypeParent); - if (parentDetail.originalDate() == rdate.date()) + if (parentDetail.originalDate() == localRDate) retn.append(xoccurrences[i]); } } else if (exceptionDates) { - exceptionDates->append(rdate.date()); + exceptionDates->append(localRDate); } } } diff --git a/tests/auto/organizer/qmlorganizer/testcases/tst_organizermodelupdate.qml b/tests/auto/organizer/qmlorganizer/testcases/tst_organizermodelupdate.qml index dc25da948..1ea3b2d25 100644 --- a/tests/auto/organizer/qmlorganizer/testcases/tst_organizermodelupdate.qml +++ b/tests/auto/organizer/qmlorganizer/testcases/tst_organizermodelupdate.qml @@ -94,6 +94,42 @@ TestCase { model.manager = "" } + function localDateTime(tsSpec) { + // Parse a ISO8601 time spec and return it as local time; if passed to the Date + // ctor, it will be interpreted as UTC + var dt = tsSpec.split('T') + if (dt.length == 2) { + var d = dt[0].split('-') + if (d.length == 3) { + // If there is UTC offset information, we can't treat it as local time + var t = dt[1].split(/[\:\.\+\-]/) + if (t.length == 4) { + return new Date(d[0], d[1] - 1, d[2], t[0], t[1], t[2], t[3]) + } else if (t.length == 3) { + return new Date(d[0], d[1] - 1, d[2], t[0], t[1], t[2]) + } + } + } else if (dt.length == 1) { + // Only parse if this is exactly a date + if (dt[0].length <= 10) { + var d = dt[0].split('-') + if (d.length == 3) { + return new Date(d[0], d[1] - 1, d[2]) + } + } + } + + return new Date(tsSpec) + } + + function localDate(dSpec) { + // Despite the name, return this date as UTC - on conversion to a QDate, it will + // be converted from UTC value to a date portion, so from a positive UTC offset, it + // will be converted to the prior date. + // The date will always be interpreted as local time by the recurrence rule. + return new Date(dSpec) + } + function test_changeTimePeriod_data() { return [{ managers: utility.getManagerList(), @@ -102,8 +138,8 @@ TestCase { event : { "displayLabel" : "event0", - "start" : new Date('2011-10-25T15:00:00'), - "end" : new Date('2011-10-10T16:00:00'), + "start" : localDateTime('2011-10-25T15:00:00'), + "end" : localDateTime('2011-10-10T16:00:00'), "recurrenceDates": [], "exceptionDates": [] }, @@ -113,14 +149,14 @@ TestCase { event : { "displayLabel" : "recevent1", - "start" : new Date('2012-01-01T14:00:00'), - "end" : new Date('2012-01-01T15:00:00'), + "start" : localDateTime('2012-01-01T14:00:00'), + "end" : localDateTime('2012-01-01T15:00:00'), "recurrenceDates": [], "exceptionDates": [] }, rrule: { "frequency": RecurrenceRule.Daily, - "limit": new Date('2012-01-03'), + "limit": localDate('2012-01-03'), "interval": 1, "daysOfWeek": [], "daysOfMonth": [], @@ -135,8 +171,8 @@ TestCase { event : { "displayLabel" : "event1", - "start" : new Date('2012-01-02T15:00:00'), - "end" : new Date('2012-01-02T16:00:00'), + "start" : localDateTime('2012-01-02T15:00:00'), + "end" : localDateTime('2012-01-02T16:00:00'), "recurrenceDates": [], "exceptionDates": [] }, @@ -146,8 +182,8 @@ TestCase { event : { "displayLabel" : "event2", - "start" : new Date('2012-01-03T11:00:00'), - "end" : new Date('2012-01-03T18:00:00'), + "start" : localDateTime('2012-01-03T11:00:00'), + "end" : localDateTime('2012-01-03T18:00:00'), "recurrenceDates": [], "exceptionDates": [] }, @@ -157,8 +193,8 @@ TestCase { event : { "displayLabel" : "recevent2", - "start" : new Date('2011-01-01T16:00:00'), - "end" : new Date('2011-01-01T17:00:00'), + "start" : localDateTime('2011-01-01T16:00:00'), + "end" : localDateTime('2011-01-01T17:00:00'), "recurrenceDates": [], "exceptionDates": [] }, @@ -179,8 +215,8 @@ TestCase { event : { "displayLabel" : "event3", - "start" : new Date('2012-05-15T09:00:00'), - "end" : new Date('2012-05-15T10:00:00'), + "start" : localDateTime('2012-05-15T09:00:00'), + "end" : localDateTime('2012-05-15T10:00:00'), "recurrenceDates": [], "exceptionDates": [] }, @@ -190,8 +226,8 @@ TestCase { event : { "displayLabel" : "recevent3", - "start" : new Date('2012-06-03T20:00:00'), - "end" : new Date('2012-06-03T21:00:00'), + "start" : localDateTime('2012-06-03T20:00:00'), + "end" : localDateTime('2012-06-03T21:00:00'), "recurrenceDates": [], "exceptionDates": [] }, @@ -212,62 +248,62 @@ TestCase { ], results: [ - {label: "recevent2", start: new Date('2011-12-01T16:00:00')}, - {label: "recevent1", start: new Date('2012-01-01T14:00:00')}, - {label: "recevent2", start: new Date('2012-01-01T16:00:00')}, - {label: "recevent1", start: new Date('2012-01-02T14:00:00')}, - {label: "event1", start: new Date('2012-01-02T15:00:00')}, - {label: "event2", start: new Date('2012-01-03T11:00:00')}, - {label: "recevent1", start: new Date('2012-01-03T14:00:00')}, - {label: "recevent2", start: new Date('2012-02-01T16:00:00')}, - {label: "recevent2", start: new Date('2012-03-01T16:00:00')} + {label: "recevent2", start: localDateTime('2011-12-01T16:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-01T14:00:00')}, + {label: "recevent2", start: localDateTime('2012-01-01T16:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-02T14:00:00')}, + {label: "event1", start: localDateTime('2012-01-02T15:00:00')}, + {label: "event2", start: localDateTime('2012-01-03T11:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-03T14:00:00')}, + {label: "recevent2", start: localDateTime('2012-02-01T16:00:00')}, + {label: "recevent2", start: localDateTime('2012-03-01T16:00:00')} ], timePeriods: [ { - start: new Date('2012-01-03T00:00:00'), + start: localDateTime('2012-01-03T00:00:00'), autoUpdate: true, results: [ - {label: "event2", start: new Date('2012-01-03T11:00:00')}, - {label: "recevent1", start: new Date('2012-01-03T14:00:00')}, - {label: "recevent2", start: new Date('2012-02-01T16:00:00')}, - {label: "recevent2", start: new Date('2012-03-01T16:00:00')} + {label: "event2", start: localDateTime('2012-01-03T11:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-03T14:00:00')}, + {label: "recevent2", start: localDateTime('2012-02-01T16:00:00')}, + {label: "recevent2", start: localDateTime('2012-03-01T16:00:00')} ] }, { - end: new Date('2012-07-25T15:00:00'), + end: localDateTime('2012-07-25T15:00:00'), autoUpdate: true, results: [ - {label: "event2", start: new Date('2012-01-03T11:00:00')}, - {label: "recevent1", start: new Date('2012-01-03T14:00:00')}, - {label: "recevent2", start: new Date('2012-02-01T16:00:00')}, - {label: "recevent2", start: new Date('2012-03-01T16:00:00')}, - {label: "event3", start: new Date('2012-05-15T09:00:00')}, - {label: "recevent3", start: new Date('2012-06-03T20:00:00')}, - {label: "recevent3", start: new Date('2012-07-03T20:00:00')} + {label: "event2", start: localDateTime('2012-01-03T11:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-03T14:00:00')}, + {label: "recevent2", start: localDateTime('2012-02-01T16:00:00')}, + {label: "recevent2", start: localDateTime('2012-03-01T16:00:00')}, + {label: "event3", start: localDateTime('2012-05-15T09:00:00')}, + {label: "recevent3", start: localDateTime('2012-06-03T20:00:00')}, + {label: "recevent3", start: localDateTime('2012-07-03T20:00:00')} ] }, { - start: new Date('2011-09-25T15:00:00'), - end: new Date('2012-12-25T15:00:00'), + start: localDateTime('2011-09-25T15:00:00'), + end: localDateTime('2012-12-25T15:00:00'), autoUpdate: false, results: [ - {label: "recevent2", start: new Date('2011-10-01T16:00:00')}, - {label: "event0", start: new Date('2011-10-25T15:00:00')}, - {label: "recevent2", start: new Date('2011-11-01T16:00:00')}, - {label: "recevent2", start: new Date('2011-12-01T16:00:00')}, - {label: "recevent1", start: new Date('2012-01-01T14:00:00')}, - {label: "recevent2", start: new Date('2012-01-01T16:00:00')}, - {label: "recevent1", start: new Date('2012-01-02T14:00:00')}, - {label: "event1", start: new Date('2012-01-02T15:00:00')}, - {label: "event2", start: new Date('2012-01-03T11:00:00')}, - {label: "recevent1", start: new Date('2012-01-03T14:00:00')}, - {label: "recevent2", start: new Date('2012-02-01T16:00:00')}, - {label: "recevent2", start: new Date('2012-03-01T16:00:00')}, - {label: "event3", start: new Date('2012-05-15T09:00:00')}, - {label: "recevent3", start: new Date('2012-06-03T20:00:00')}, - {label: "recevent3", start: new Date('2012-07-03T20:00:00')}, - {label: "recevent3", start: new Date('2012-08-03T20:00:00')}, - {label: "recevent3", start: new Date('2012-09-03T20:00:00')} + {label: "recevent2", start: localDateTime('2011-10-01T16:00:00')}, + {label: "event0", start: localDateTime('2011-10-25T15:00:00')}, + {label: "recevent2", start: localDateTime('2011-11-01T16:00:00')}, + {label: "recevent2", start: localDateTime('2011-12-01T16:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-01T14:00:00')}, + {label: "recevent2", start: localDateTime('2012-01-01T16:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-02T14:00:00')}, + {label: "event1", start: localDateTime('2012-01-02T15:00:00')}, + {label: "event2", start: localDateTime('2012-01-03T11:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-03T14:00:00')}, + {label: "recevent2", start: localDateTime('2012-02-01T16:00:00')}, + {label: "recevent2", start: localDateTime('2012-03-01T16:00:00')}, + {label: "event3", start: localDateTime('2012-05-15T09:00:00')}, + {label: "recevent3", start: localDateTime('2012-06-03T20:00:00')}, + {label: "recevent3", start: localDateTime('2012-07-03T20:00:00')}, + {label: "recevent3", start: localDateTime('2012-08-03T20:00:00')}, + {label: "recevent3", start: localDateTime('2012-09-03T20:00:00')} ] } ] @@ -277,14 +313,13 @@ TestCase { // initialize db with normal and recurring items, some are in mode time period some not // change time period and check correct items are in model function test_changeTimePeriod(data) { - skip("TODO Currently fails"); var j = 0; for (var i in data.managers) { console.log("Testing "+data.managers[i]+" backend") model.manager = data.managers[i]; model.autoUpdate = true; - model.startPeriod = new Date('2011-12-01'); - model.endPeriod = new Date('2012-04-30'); + model.startPeriod = localDate('2011-12-01'); + model.endPeriod = localDate('2012-04-30'); spyManagerChanged.wait(spyWaitDelay) cleanDatabase(); compare(model.itemCount, 0, "Model not empty") @@ -296,6 +331,7 @@ TestCase { } compareResultDatesToModel(data.results, model); + skip("TODO Currently fails"); for (j = 0; j < data.timePeriods.length; j++) { model.autoUpdate = data.timePeriods[j].autoUpdate; if (data.timePeriods[j].start !== undefined) { @@ -328,8 +364,8 @@ TestCase { event : { "displayLabel" : "event0", - "start" : new Date('2011-10-25T15:00:00'), - "end" : new Date('2011-10-10T16:00:00'), + "start" : localDateTime('2011-10-25T15:00:00'), + "end" : localDateTime('2011-10-10T16:00:00'), "recurrenceDates": [], "exceptionDates": [] }, @@ -339,14 +375,14 @@ TestCase { event : { "displayLabel" : "recevent1", - "start" : new Date('2012-01-01T14:00:00'), - "end" : new Date('2012-01-01T15:00:00'), + "start" : localDateTime('2012-01-01T14:00:00'), + "end" : localDateTime('2012-01-01T15:00:00'), "recurrenceDates": [], "exceptionDates": [] }, rrule: { "frequency": RecurrenceRule.Daily, - "limit": new Date('2012-01-03'), + "limit": localDate('2012-01-03'), "interval": 1, "daysOfWeek": [], "daysOfMonth": [], @@ -361,8 +397,8 @@ TestCase { event : { "displayLabel" : "event1", - "start" : new Date('2012-01-02T15:00:00'), - "end" : new Date('2012-01-02T16:00:00'), + "start" : localDateTime('2012-01-02T15:00:00'), + "end" : localDateTime('2012-01-02T16:00:00'), "recurrenceDates": [], "exceptionDates": [] }, @@ -372,8 +408,8 @@ TestCase { event : { "displayLabel" : "event2", - "start" : new Date('2012-01-03T11:00:00'), - "end" : new Date('2012-01-03T18:00:00'), + "start" : localDateTime('2012-01-03T11:00:00'), + "end" : localDateTime('2012-01-03T18:00:00'), "recurrenceDates": [], "exceptionDates": [] }, @@ -383,8 +419,8 @@ TestCase { event : { "displayLabel" : "recevent2", - "start" : new Date('2011-01-01T16:00:00'), - "end" : new Date('2011-01-01T17:00:00'), + "start" : localDateTime('2011-01-01T16:00:00'), + "end" : localDateTime('2011-01-01T17:00:00'), "recurrenceDates": [], "exceptionDates": [] }, @@ -405,8 +441,8 @@ TestCase { event : { "displayLabel" : "event3", - "start" : new Date('2012-05-15T09:00:00'), - "end" : new Date('2012-05-15T10:00:00'), + "start" : localDateTime('2012-05-15T09:00:00'), + "end" : localDateTime('2012-05-15T10:00:00'), "recurrenceDates": [], "exceptionDates": [] }, @@ -416,8 +452,8 @@ TestCase { event : { "displayLabel" : "recevent3", - "start" : new Date('2012-06-03T20:00:00'), - "end" : new Date('2012-06-03T21:00:00'), + "start" : localDateTime('2012-06-03T20:00:00'), + "end" : localDateTime('2012-06-03T21:00:00'), "recurrenceDates": [], "exceptionDates": [] }, @@ -438,15 +474,15 @@ TestCase { ], results: [ - {label: "recevent2", start: new Date('2011-12-01T16:00:00')}, - {label: "recevent1", start: new Date('2012-01-01T14:00:00')}, - {label: "recevent2", start: new Date('2012-01-01T16:00:00')}, - {label: "recevent1", start: new Date('2012-01-02T14:00:00')}, - {label: "event1", start: new Date('2012-01-02T15:00:00')}, - {label: "event2", start: new Date('2012-01-03T11:00:00')}, - {label: "recevent1", start: new Date('2012-01-03T14:00:00')}, - {label: "recevent2", start: new Date('2012-02-01T16:00:00')}, - {label: "recevent2", start: new Date('2012-03-01T16:00:00')} + {label: "recevent2", start: localDateTime('2011-12-01T16:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-01T14:00:00')}, + {label: "recevent2", start: localDateTime('2012-01-01T16:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-02T14:00:00')}, + {label: "event1", start: localDateTime('2012-01-02T15:00:00')}, + {label: "event2", start: localDateTime('2012-01-03T11:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-03T14:00:00')}, + {label: "recevent2", start: localDateTime('2012-02-01T16:00:00')}, + {label: "recevent2", start: localDateTime('2012-03-01T16:00:00')} ], modifications: { addRule: @@ -463,17 +499,17 @@ TestCase { "firstDayOfWeek": Qt.Monday }, results: [ - {label: "recevent2", start: new Date('2011-12-01T16:00:00')}, - {label: "recevent1", start: new Date('2012-01-01T14:00:00')}, - {label: "recevent2", start: new Date('2012-01-01T16:00:00')}, - {label: "recevent1", start: new Date('2012-01-02T14:00:00')}, - {label: "event1", start: new Date('2012-01-02T15:00:00')}, - {label: "event2", start: new Date('2012-01-03T11:00:00')}, - {label: "recevent1", start: new Date('2012-01-03T14:00:00')}, - {label: "event1", start: new Date('2012-01-03T15:00:00')}, - {label: "event1", start: new Date('2012-01-04T15:00:00')}, - {label: "recevent2", start: new Date('2012-02-01T16:00:00')}, - {label: "recevent2", start: new Date('2012-03-01T16:00:00')} + {label: "recevent2", start: localDateTime('2011-12-01T16:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-01T14:00:00')}, + {label: "recevent2", start: localDateTime('2012-01-01T16:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-02T14:00:00')}, + {label: "event1", start: localDateTime('2012-01-02T15:00:00')}, + {label: "event2", start: localDateTime('2012-01-03T11:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-03T14:00:00')}, + {label: "event1", start: localDateTime('2012-01-03T15:00:00')}, + {label: "event1", start: localDateTime('2012-01-04T15:00:00')}, + {label: "recevent2", start: localDateTime('2012-02-01T16:00:00')}, + {label: "recevent2", start: localDateTime('2012-03-01T16:00:00')} ] }, modifyRule1: @@ -490,17 +526,17 @@ TestCase { "firstDayOfWeek": Qt.Monday }, results: [ - {label: "recevent2", start: new Date('2011-12-01T16:00:00')}, - {label: "recevent1", start: new Date('2012-01-01T14:00:00')}, - {label: "recevent2", start: new Date('2012-01-01T16:00:00')}, - {label: "recevent1", start: new Date('2012-01-02T14:00:00')}, - {label: "event1", start: new Date('2012-01-02T15:00:00')}, - {label: "event2", start: new Date('2012-01-03T11:00:00')}, - {label: "recevent1", start: new Date('2012-01-03T14:00:00')}, - {label: "recevent2", start: new Date('2012-02-01T16:00:00')}, - {label: "event1", start: new Date('2012-02-02T15:00:00')}, - {label: "recevent2", start: new Date('2012-03-01T16:00:00')}, - {label: "event1", start: new Date('2012-03-02T15:00:00')} + {label: "recevent2", start: localDateTime('2011-12-01T16:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-01T14:00:00')}, + {label: "recevent2", start: localDateTime('2012-01-01T16:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-02T14:00:00')}, + {label: "event1", start: localDateTime('2012-01-02T15:00:00')}, + {label: "event2", start: localDateTime('2012-01-03T11:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-03T14:00:00')}, + {label: "recevent2", start: localDateTime('2012-02-01T16:00:00')}, + {label: "event1", start: localDateTime('2012-02-02T15:00:00')}, + {label: "recevent2", start: localDateTime('2012-03-01T16:00:00')}, + {label: "event1", start: localDateTime('2012-03-02T15:00:00')} ] }, modifyRule2: @@ -517,31 +553,31 @@ TestCase { "firstDayOfWeek": Qt.Monday }, results: [ - {label: "recevent2", start: new Date('2011-12-01T16:00:00')}, - {label: "recevent1", start: new Date('2012-01-01T14:00:00')}, - {label: "recevent2", start: new Date('2012-01-01T16:00:00')}, - {label: "recevent1", start: new Date('2012-01-02T14:00:00')}, - {label: "event1", start: new Date('2012-01-02T15:00:00')}, - {label: "event2", start: new Date('2012-01-03T11:00:00')}, - {label: "recevent1", start: new Date('2012-01-03T14:00:00')}, - {label: "event1", start: new Date('2012-01-09T15:00:00')}, - {label: "event1", start: new Date('2012-01-16T15:00:00')}, - {label: "recevent2", start: new Date('2012-02-01T16:00:00')}, - {label: "recevent2", start: new Date('2012-03-01T16:00:00')} + {label: "recevent2", start: localDateTime('2011-12-01T16:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-01T14:00:00')}, + {label: "recevent2", start: localDateTime('2012-01-01T16:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-02T14:00:00')}, + {label: "event1", start: localDateTime('2012-01-02T15:00:00')}, + {label: "event2", start: localDateTime('2012-01-03T11:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-03T14:00:00')}, + {label: "event1", start: localDateTime('2012-01-09T15:00:00')}, + {label: "event1", start: localDateTime('2012-01-16T15:00:00')}, + {label: "recevent2", start: localDateTime('2012-02-01T16:00:00')}, + {label: "recevent2", start: localDateTime('2012-03-01T16:00:00')} ] }, removeRule: { results: [ - {label: "recevent2", start: new Date('2011-12-01T16:00:00')}, - {label: "recevent1", start: new Date('2012-01-01T14:00:00')}, - {label: "recevent2", start: new Date('2012-01-01T16:00:00')}, - {label: "recevent1", start: new Date('2012-01-02T14:00:00')}, - {label: "event1", start: new Date('2012-01-02T15:00:00')}, - {label: "event2", start: new Date('2012-01-03T11:00:00')}, - {label: "recevent1", start: new Date('2012-01-03T14:00:00')}, - {label: "recevent2", start: new Date('2012-02-01T16:00:00')}, - {label: "recevent2", start: new Date('2012-03-01T16:00:00')} + {label: "recevent2", start: localDateTime('2011-12-01T16:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-01T14:00:00')}, + {label: "recevent2", start: localDateTime('2012-01-01T16:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-02T14:00:00')}, + {label: "event1", start: localDateTime('2012-01-02T15:00:00')}, + {label: "event2", start: localDateTime('2012-01-03T11:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-03T14:00:00')}, + {label: "recevent2", start: localDateTime('2012-02-01T16:00:00')}, + {label: "recevent2", start: localDateTime('2012-03-01T16:00:00')} ] } } @@ -556,8 +592,8 @@ TestCase { for (var i in data.managers) { console.log("Testing "+data.managers[i]+" backend") model.manager = data.managers[i]; - model.startPeriod = new Date('2011-12-01'); - model.endPeriod = new Date('2012-04-30'); + model.startPeriod = localDate('2011-12-01'); + model.endPeriod = localDate('2012-04-30'); model.autoUpdate = true; spyManagerChanged.wait(spyWaitDelay) cleanDatabase(); @@ -605,8 +641,8 @@ TestCase { compareResultDatesToModel(data.modifications.removeRule.results, model); // clean db - model.startPeriod = new Date('2011-01-01'); - model.endPeriod = new Date('2012-08-30'); + model.startPeriod = localDate('2011-01-01'); + model.endPeriod = localDate('2012-08-30'); modelChangedSpy.wait(spyWaitDelay); cleanDatabase(); compare(model.itemCount, 0, "Model not empty") @@ -621,8 +657,8 @@ TestCase { event : { "displayLabel" : "event0", - "start" : new Date('2011-10-25T15:00:00'), - "end" : new Date('2011-10-10T16:00:00'), + "start" : localDateTime('2011-10-25T15:00:00'), + "end" : localDateTime('2011-10-10T16:00:00'), "recurrenceDates": [], "exceptionDates": [] }, @@ -632,14 +668,14 @@ TestCase { event : { "displayLabel" : "recevent1", - "start" : new Date('2012-01-01T14:00:00'), - "end" : new Date('2012-01-01T15:00:00'), + "start" : localDateTime('2012-01-01T14:00:00'), + "end" : localDateTime('2012-01-01T15:00:00'), "recurrenceDates": [], "exceptionDates": [] }, rrule: { "frequency": RecurrenceRule.Daily, - "limit": new Date('2012-01-03'), + "limit": localDate('2012-01-03'), "interval": 1, "daysOfWeek": [], "daysOfMonth": [], @@ -654,8 +690,8 @@ TestCase { event : { "displayLabel" : "event1", - "start" : new Date('2012-01-02T15:00:00'), - "end" : new Date('2012-01-02T16:00:00'), + "start" : localDateTime('2012-01-02T15:00:00'), + "end" : localDateTime('2012-01-02T16:00:00'), "recurrenceDates": [], "exceptionDates": [] }, @@ -665,8 +701,8 @@ TestCase { event : { "displayLabel" : "event2", - "start" : new Date('2012-01-03T11:00:00'), - "end" : new Date('2012-01-03T18:00:00'), + "start" : localDateTime('2012-01-03T11:00:00'), + "end" : localDateTime('2012-01-03T18:00:00'), "recurrenceDates": [], "exceptionDates": [] }, @@ -676,8 +712,8 @@ TestCase { event : { "displayLabel" : "recevent2", - "start" : new Date('2011-01-01T16:00:00'), - "end" : new Date('2011-01-01T17:00:00'), + "start" : localDateTime('2011-01-01T16:00:00'), + "end" : localDateTime('2011-01-01T17:00:00'), "recurrenceDates": [], "exceptionDates": [] }, @@ -698,8 +734,8 @@ TestCase { event : { "displayLabel" : "event3", - "start" : new Date('2012-05-15T09:00:00'), - "end" : new Date('2012-05-15T10:00:00'), + "start" : localDateTime('2012-05-15T09:00:00'), + "end" : localDateTime('2012-05-15T10:00:00'), "recurrenceDates": [], "exceptionDates": [] }, @@ -709,8 +745,8 @@ TestCase { event : { "displayLabel" : "recevent3", - "start" : new Date('2012-06-03T20:00:00'), - "end" : new Date('2012-06-03T21:00:00'), + "start" : localDateTime('2012-06-03T20:00:00'), + "end" : localDateTime('2012-06-03T21:00:00'), "recurrenceDates": [], "exceptionDates": [] }, @@ -731,25 +767,25 @@ TestCase { ], results: [ - {label: "recevent2", start: new Date('2011-10-01T16:00:00')}, - {label: "event0", start: new Date('2011-10-25T15:00:00')}, - {label: "recevent2", start: new Date('2011-11-01T16:00:00')}, - {label: "recevent2", start: new Date('2011-12-01T16:00:00')}, - {label: "recevent1", start: new Date('2012-01-01T14:00:00')}, - {label: "recevent2", start: new Date('2012-01-01T16:00:00')}, - {label: "recevent1", start: new Date('2012-01-02T14:00:00')}, - {label: "event1", start: new Date('2012-01-02T15:00:00')}, - {label: "event2", start: new Date('2012-01-03T11:00:00')}, - {label: "recevent1", start: new Date('2012-01-03T14:00:00')}, - {label: "recevent2", start: new Date('2012-02-01T16:00:00')}, - {label: "recevent2", start: new Date('2012-03-01T16:00:00')} + {label: "recevent2", start: localDateTime('2011-10-01T16:00:00')}, + {label: "event0", start: localDateTime('2011-10-25T15:00:00')}, + {label: "recevent2", start: localDateTime('2011-11-01T16:00:00')}, + {label: "recevent2", start: localDateTime('2011-12-01T16:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-01T14:00:00')}, + {label: "recevent2", start: localDateTime('2012-01-01T16:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-02T14:00:00')}, + {label: "event1", start: localDateTime('2012-01-02T15:00:00')}, + {label: "event2", start: localDateTime('2012-01-03T11:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-03T14:00:00')}, + {label: "recevent2", start: localDateTime('2012-02-01T16:00:00')}, + {label: "recevent2", start: localDateTime('2012-03-01T16:00:00')} ], modifications: { addRule: { rrule: { "frequency": RecurrenceRule.Monthly, - "limit": new Date('2012-05-31'), + "limit": localDate('2012-05-31'), "interval": 1, "daysOfWeek": [], "daysOfMonth": [], @@ -759,138 +795,138 @@ TestCase { "firstDayOfWeek": Qt.Monday }, results: [ - {label: "recevent2", start: new Date('2011-10-01T16:00:00')}, - {label: "event0", start: new Date('2011-10-25T15:00:00')}, - {label: "recevent2", start: new Date('2011-11-01T16:00:00')}, - {label: "event0", start: new Date('2011-11-25T15:00:00')}, - {label: "recevent2", start: new Date('2011-12-01T16:00:00')}, - {label: "event0", start: new Date('2011-12-25T15:00:00')}, - {label: "recevent1", start: new Date('2012-01-01T14:00:00')}, - {label: "recevent2", start: new Date('2012-01-01T16:00:00')}, - {label: "recevent1", start: new Date('2012-01-02T14:00:00')}, - {label: "event1", start: new Date('2012-01-02T15:00:00')}, - {label: "event2", start: new Date('2012-01-03T11:00:00')}, - {label: "recevent1", start: new Date('2012-01-03T14:00:00')}, - {label: "event0", start: new Date('2012-01-25T15:00:00')}, - {label: "recevent2", start: new Date('2012-02-01T16:00:00')}, - {label: "event0", start: new Date('2012-02-25T15:00:00')}, - {label: "recevent2", start: new Date('2012-03-01T16:00:00')}, - {label: "event0", start: new Date('2012-03-25T15:00:00')}, - {label: "event0", start: new Date('2012-04-25T15:00:00')} + {label: "recevent2", start: localDateTime('2011-10-01T16:00:00')}, + {label: "event0", start: localDateTime('2011-10-25T15:00:00')}, + {label: "recevent2", start: localDateTime('2011-11-01T16:00:00')}, + {label: "event0", start: localDateTime('2011-11-25T15:00:00')}, + {label: "recevent2", start: localDateTime('2011-12-01T16:00:00')}, + {label: "event0", start: localDateTime('2011-12-25T15:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-01T14:00:00')}, + {label: "recevent2", start: localDateTime('2012-01-01T16:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-02T14:00:00')}, + {label: "event1", start: localDateTime('2012-01-02T15:00:00')}, + {label: "event2", start: localDateTime('2012-01-03T11:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-03T14:00:00')}, + {label: "event0", start: localDateTime('2012-01-25T15:00:00')}, + {label: "recevent2", start: localDateTime('2012-02-01T16:00:00')}, + {label: "event0", start: localDateTime('2012-02-25T15:00:00')}, + {label: "recevent2", start: localDateTime('2012-03-01T16:00:00')}, + {label: "event0", start: localDateTime('2012-03-25T15:00:00')}, + {label: "event0", start: localDateTime('2012-04-25T15:00:00')} ] }, addException: { results: [ - {label: "recevent2", start: new Date('2011-10-01T16:00:00')}, - {label: "event0", start: new Date('2011-10-25T15:00:00')}, - {label: "recevent2", start: new Date('2011-11-01T16:00:00')}, - {label: "event0", start: new Date('2011-11-25T15:00:00')}, - {label: "recevent2", start: new Date('2011-12-01T16:00:00')}, - {label: "event0", start: new Date('2011-12-25T15:00:00')}, - {label: "recevent1", start: new Date('2012-01-01T14:00:00')}, - {label: "recevent2", start: new Date('2012-01-01T16:00:00')}, - {label: "recevent1", start: new Date('2012-01-02T14:00:00')}, - {label: "event1", start: new Date('2012-01-02T15:00:00')}, - {label: "event2", start: new Date('2012-01-03T11:00:00')}, - {label: "recevent1", start: new Date('2012-01-03T14:00:00')}, - {label: "recevent2", start: new Date('2012-02-01T16:00:00')}, - {label: "event0", start: new Date('2012-02-02T15:00:00')}, - {label: "event0", start: new Date('2012-02-25T15:00:00')}, - {label: "recevent2", start: new Date('2012-03-01T16:00:00')}, - {label: "event0", start: new Date('2012-03-25T15:00:00')}, - {label: "event0", start: new Date('2012-04-25T15:00:00')} + {label: "recevent2", start: localDateTime('2011-10-01T16:00:00')}, + {label: "event0", start: localDateTime('2011-10-25T15:00:00')}, + {label: "recevent2", start: localDateTime('2011-11-01T16:00:00')}, + {label: "event0", start: localDateTime('2011-11-25T15:00:00')}, + {label: "recevent2", start: localDateTime('2011-12-01T16:00:00')}, + {label: "event0", start: localDateTime('2011-12-25T15:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-01T14:00:00')}, + {label: "recevent2", start: localDateTime('2012-01-01T16:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-02T14:00:00')}, + {label: "event1", start: localDateTime('2012-01-02T15:00:00')}, + {label: "event2", start: localDateTime('2012-01-03T11:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-03T14:00:00')}, + {label: "recevent2", start: localDateTime('2012-02-01T16:00:00')}, + {label: "event0", start: localDateTime('2012-02-02T15:00:00')}, + {label: "event0", start: localDateTime('2012-02-25T15:00:00')}, + {label: "recevent2", start: localDateTime('2012-03-01T16:00:00')}, + {label: "event0", start: localDateTime('2012-03-25T15:00:00')}, + {label: "event0", start: localDateTime('2012-04-25T15:00:00')} ] }, removeException: { results: [ - {label: "recevent2", start: new Date('2011-10-01T16:00:00')}, - {label: "event0", start: new Date('2011-10-25T15:00:00')}, - {label: "recevent2", start: new Date('2011-11-01T16:00:00')}, - {label: "event0", start: new Date('2011-11-25T15:00:00')}, - {label: "recevent2", start: new Date('2011-12-01T16:00:00')}, - {label: "event0", start: new Date('2011-12-25T15:00:00')}, - {label: "recevent1", start: new Date('2012-01-01T14:00:00')}, - {label: "recevent2", start: new Date('2012-01-01T16:00:00')}, - {label: "recevent1", start: new Date('2012-01-02T14:00:00')}, - {label: "event1", start: new Date('2012-01-02T15:00:00')}, - {label: "event2", start: new Date('2012-01-03T11:00:00')}, - {label: "recevent1", start: new Date('2012-01-03T14:00:00')}, - {label: "recevent2", start: new Date('2012-02-01T16:00:00')}, - {label: "event0", start: new Date('2012-02-25T15:00:00')}, - {label: "recevent2", start: new Date('2012-03-01T16:00:00')}, - {label: "event0", start: new Date('2012-03-25T15:00:00')}, - {label: "event0", start: new Date('2012-04-25T15:00:00')} + {label: "recevent2", start: localDateTime('2011-10-01T16:00:00')}, + {label: "event0", start: localDateTime('2011-10-25T15:00:00')}, + {label: "recevent2", start: localDateTime('2011-11-01T16:00:00')}, + {label: "event0", start: localDateTime('2011-11-25T15:00:00')}, + {label: "recevent2", start: localDateTime('2011-12-01T16:00:00')}, + {label: "event0", start: localDateTime('2011-12-25T15:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-01T14:00:00')}, + {label: "recevent2", start: localDateTime('2012-01-01T16:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-02T14:00:00')}, + {label: "event1", start: localDateTime('2012-01-02T15:00:00')}, + {label: "event2", start: localDateTime('2012-01-03T11:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-03T14:00:00')}, + {label: "recevent2", start: localDateTime('2012-02-01T16:00:00')}, + {label: "event0", start: localDateTime('2012-02-25T15:00:00')}, + {label: "recevent2", start: localDateTime('2012-03-01T16:00:00')}, + {label: "event0", start: localDateTime('2012-03-25T15:00:00')}, + {label: "event0", start: localDateTime('2012-04-25T15:00:00')} ] }, addException2: { results: [ - {label: "recevent2", start: new Date('2011-10-01T16:00:00')}, - {label: "event0", start: new Date('2011-10-25T15:00:00')}, - {label: "recevent2", start: new Date('2011-11-01T16:00:00')}, - {label: "event0", start: new Date('2011-11-25T15:00:00')}, - {label: "modifiedrecevent2", start: new Date('2011-12-01T16:00:00')}, - {label: "event0", start: new Date('2011-12-25T15:00:00')}, - {label: "recevent1", start: new Date('2012-01-01T14:00:00')}, - {label: "recevent2", start: new Date('2012-01-01T16:00:00')}, - {label: "recevent1", start: new Date('2012-01-02T14:00:00')}, - {label: "event1", start: new Date('2012-01-02T15:00:00')}, - {label: "event2", start: new Date('2012-01-03T11:00:00')}, - {label: "recevent1", start: new Date('2012-01-03T14:00:00')}, - {label: "recevent2", start: new Date('2012-02-01T16:00:00')}, - {label: "event0", start: new Date('2012-02-25T15:00:00')}, - {label: "recevent2", start: new Date('2012-03-01T16:00:00')}, - {label: "event0", start: new Date('2012-03-25T15:00:00')}, - {label: "event0", start: new Date('2012-04-25T15:00:00')} + {label: "recevent2", start: localDateTime('2011-10-01T16:00:00')}, + {label: "event0", start: localDateTime('2011-10-25T15:00:00')}, + {label: "recevent2", start: localDateTime('2011-11-01T16:00:00')}, + {label: "event0", start: localDateTime('2011-11-25T15:00:00')}, + {label: "modifiedrecevent2", start: localDateTime('2011-12-01T16:00:00')}, + {label: "event0", start: localDateTime('2011-12-25T15:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-01T14:00:00')}, + {label: "recevent2", start: localDateTime('2012-01-01T16:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-02T14:00:00')}, + {label: "event1", start: localDateTime('2012-01-02T15:00:00')}, + {label: "event2", start: localDateTime('2012-01-03T11:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-03T14:00:00')}, + {label: "recevent2", start: localDateTime('2012-02-01T16:00:00')}, + {label: "event0", start: localDateTime('2012-02-25T15:00:00')}, + {label: "recevent2", start: localDateTime('2012-03-01T16:00:00')}, + {label: "event0", start: localDateTime('2012-03-25T15:00:00')}, + {label: "event0", start: localDateTime('2012-04-25T15:00:00')} ] }, removeGeneratedOccurrence: { results: [ - {label: "event0", start: new Date('2011-10-25T15:00:00')}, - {label: "recevent2", start: new Date('2011-11-01T16:00:00')}, - {label: "event0", start: new Date('2011-11-25T15:00:00')}, - {label: "modifiedrecevent2", start: new Date('2011-12-01T16:00:00')}, - {label: "event0", start: new Date('2011-12-25T15:00:00')}, - {label: "recevent1", start: new Date('2012-01-01T14:00:00')}, - {label: "recevent2", start: new Date('2012-01-01T16:00:00')}, - {label: "recevent1", start: new Date('2012-01-02T14:00:00')}, - {label: "event1", start: new Date('2012-01-02T15:00:00')}, - {label: "event2", start: new Date('2012-01-03T11:00:00')}, - {label: "recevent1", start: new Date('2012-01-03T14:00:00')}, - {label: "recevent2", start: new Date('2012-02-01T16:00:00')}, - {label: "event0", start: new Date('2012-02-25T15:00:00')}, - {label: "recevent2", start: new Date('2012-03-01T16:00:00')}, - {label: "event0", start: new Date('2012-03-25T15:00:00')}, - {label: "event0", start: new Date('2012-04-25T15:00:00')} + {label: "event0", start: localDateTime('2011-10-25T15:00:00')}, + {label: "recevent2", start: localDateTime('2011-11-01T16:00:00')}, + {label: "event0", start: localDateTime('2011-11-25T15:00:00')}, + {label: "modifiedrecevent2", start: localDateTime('2011-12-01T16:00:00')}, + {label: "event0", start: localDateTime('2011-12-25T15:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-01T14:00:00')}, + {label: "recevent2", start: localDateTime('2012-01-01T16:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-02T14:00:00')}, + {label: "event1", start: localDateTime('2012-01-02T15:00:00')}, + {label: "event2", start: localDateTime('2012-01-03T11:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-03T14:00:00')}, + {label: "recevent2", start: localDateTime('2012-02-01T16:00:00')}, + {label: "event0", start: localDateTime('2012-02-25T15:00:00')}, + {label: "recevent2", start: localDateTime('2012-03-01T16:00:00')}, + {label: "event0", start: localDateTime('2012-03-25T15:00:00')}, + {label: "event0", start: localDateTime('2012-04-25T15:00:00')} ] }, removeParent: { results: [ - {label: "event0", start: new Date('2011-10-25T15:00:00')}, - {label: "event0", start: new Date('2011-11-25T15:00:00')}, - {label: "event0", start: new Date('2011-12-25T15:00:00')}, - {label: "recevent1", start: new Date('2012-01-01T14:00:00')}, - {label: "recevent1", start: new Date('2012-01-02T14:00:00')}, - {label: "event1", start: new Date('2012-01-02T15:00:00')}, - {label: "event2", start: new Date('2012-01-03T11:00:00')}, - {label: "recevent1", start: new Date('2012-01-03T14:00:00')}, - {label: "event0", start: new Date('2012-02-25T15:00:00')}, - {label: "event0", start: new Date('2012-03-25T15:00:00')}, - {label: "event0", start: new Date('2012-04-25T15:00:00')} + {label: "event0", start: localDateTime('2011-10-25T15:00:00')}, + {label: "event0", start: localDateTime('2011-11-25T15:00:00')}, + {label: "event0", start: localDateTime('2011-12-25T15:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-01T14:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-02T14:00:00')}, + {label: "event1", start: localDateTime('2012-01-02T15:00:00')}, + {label: "event2", start: localDateTime('2012-01-03T11:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-03T14:00:00')}, + {label: "event0", start: localDateTime('2012-02-25T15:00:00')}, + {label: "event0", start: localDateTime('2012-03-25T15:00:00')}, + {label: "event0", start: localDateTime('2012-04-25T15:00:00')} ] }, removeParent2: { results: [ - {label: "recevent1", start: new Date('2012-01-01T14:00:00')}, - {label: "recevent1", start: new Date('2012-01-02T14:00:00')}, - {label: "event1", start: new Date('2012-01-02T15:00:00')}, - {label: "event2", start: new Date('2012-01-03T11:00:00')}, - {label: "recevent1", start: new Date('2012-01-03T14:00:00')} + {label: "recevent1", start: localDateTime('2012-01-01T14:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-02T14:00:00')}, + {label: "event1", start: localDateTime('2012-01-02T15:00:00')}, + {label: "event2", start: localDateTime('2012-01-03T11:00:00')}, + {label: "recevent1", start: localDateTime('2012-01-03T14:00:00')} ] } } @@ -910,8 +946,8 @@ TestCase { for (var i in data.managers) { console.log("Testing "+data.managers[i]+" backend") model.manager = data.managers[i]; - model.startPeriod = new Date('2011-10-01'); - model.endPeriod = new Date('2012-04-30'); + model.startPeriod = localDate('2011-10-01'); + model.endPeriod = localDate('2012-04-30'); model.autoUpdate = true; spyManagerChanged.wait(spyWaitDelay) cleanDatabase(); @@ -936,8 +972,8 @@ TestCase { // addException, modify generated occurrence and save it var xoccurrence = model.items[12]; - xoccurrence.startDateTime = new Date('2012-02-02T15:00:00'); - xoccurrence.endDateTime = new Date('2012-02-02T16:00:00'); + xoccurrence.startDateTime = localDateTime('2012-02-02T15:00:00'); + xoccurrence.endDateTime = localDateTime('2012-02-02T16:00:00'); model.saveItem(xoccurrence); modelChangedSpy.wait(spyWaitDelay); compareResultDatesToModel(data.modifications.addException.results, model); @@ -980,8 +1016,8 @@ TestCase { compareResultDatesToModel(data.modifications.removeParent2.results, model); // clean db - model.startPeriod = new Date('2011-01-01'); - model.endPeriod = new Date('2012-08-30'); + model.startPeriod = localDate('2011-01-01'); + model.endPeriod = localDate('2012-08-30'); modelChangedSpy.wait(spyWaitDelay); cleanDatabase(); compare(model.itemCount, 0, "Model not empty") @@ -1067,8 +1103,8 @@ TestCase { for (var i = 0; i < results.length; i++) { var itemDisplayLabel = model.items[i].displayLabel; var itemStart = model.items[i].startDateTime; - compare(itemDisplayLabel, results[i].label, "Item displayLabel is not correct"); - compare(itemStart, results[i].start, "Item start date is not correct") + compare(itemDisplayLabel, results[i].label, "Item displayLabel is not correct at " + i); + compare(itemStart, results[i].start, "Item start date is not correct at " + i) } } diff --git a/tests/auto/organizer/qmlorganizer/testcases/tst_organizerrecurrence.qml b/tests/auto/organizer/qmlorganizer/testcases/tst_organizerrecurrence.qml index 620691242..03d4ae7fe 100644 --- a/tests/auto/organizer/qmlorganizer/testcases/tst_organizerrecurrence.qml +++ b/tests/auto/organizer/qmlorganizer/testcases/tst_organizerrecurrence.qml @@ -90,6 +90,42 @@ TestCase { model.manager = "" } + function localDateTime(tsSpec) { + // Parse a ISO8601 time spec and return it as local time; if passed to the Date + // ctor, it will be interpreted as UTC + var dt = tsSpec.split('T') + if (dt.length == 2) { + var d = dt[0].split('-') + if (d.length == 3) { + // If there is UTC offset information, we can't treat it as local time + var t = dt[1].split(/[\:\.\+\-]/) + if (t.length == 4) { + return new Date(d[0], d[1] - 1, d[2], t[0], t[1], t[2], t[3]) + } else if (t.length == 3) { + return new Date(d[0], d[1] - 1, d[2], t[0], t[1], t[2]) + } + } + } else if (dt.length == 1) { + // Only parse if this is exactly a date + if (dt[0].length <= 10) { + var d = dt[0].split('-') + if (d.length == 3) { + return new Date(d[0], d[1] - 1, d[2]) + } + } + } + + return new Date(tsSpec) + } + + function localDate(dSpec) { + // Despite the name, return this date as UTC - on conversion to a QDate, it will + // be converted from UTC value to a date portion, so from a positive UTC offset, it + // will be converted to the prior date. + // The date will always be interpreted as local time by the recurrence rule. + return new Date(dSpec) + } + function test_recurrenceDates_data() { return [ { @@ -97,14 +133,14 @@ TestCase { managers: utility.getManagerList(), definitions: { - "start" : new Date('2012-01-01T14:00:00'), - "end" : new Date('2012-01-01T15:00:00'), - "recurrenceDates": [new Date('2012-01-02'), new Date('2012-01-03')], + "start" : localDateTime('2012-01-01T14:00:00'), + "end" : localDateTime('2012-01-01T15:00:00'), + "recurrenceDates": [localDate('2012-01-02'), localDate('2012-01-03')], "exceptionDates": [], "recurrenceRules": [], "exceptionRules": [] }, - results: [new Date('2012-01-01T14:00:00'), new Date('2012-01-02T14:00:00'), new Date('2012-01-03T14:00:00')] + results: [localDateTime('2012-01-01T14:00:00'), localDateTime('2012-01-02T14:00:00'), localDateTime('2012-01-03T14:00:00')] }, { @@ -112,14 +148,14 @@ TestCase { managers: utility.getManagerList(), definitions: { - "start" : new Date('2012-01-01T14:00:00'), - "end" : new Date('2012-01-01T15:00:00'), - "recurrenceDates": [new Date('2011-01-01')], + "start" : localDateTime('2012-01-01T14:00:00'), + "end" : localDateTime('2012-01-01T15:00:00'), + "recurrenceDates": [localDate('2011-01-01')], "exceptionDates": [], "recurrenceRules": [], "exceptionRules": [] }, - results: [new Date('2012-01-01T14:00:00')] + results: [localDateTime('2012-01-01T14:00:00')] }, { @@ -127,14 +163,14 @@ TestCase { managers: utility.getManagerList(), definitions: { - "start" : new Date('2008-01-01T14:00:00'), - "end" : new Date('2008-01-01T15:00:00'), - "recurrenceDates": [new Date('2012-01-02'), new Date('2012-01-03')], + "start" : localDateTime('2008-01-01T14:00:00'), + "end" : localDateTime('2008-01-01T15:00:00'), + "recurrenceDates": [localDate('2012-01-02'), localDate('2012-01-03')], "exceptionDates": [], "recurrenceRules": [], "exceptionRules": [] }, - results: [new Date('2012-01-02T14:00:00'), new Date('2012-01-03T14:00:00')] + results: [localDateTime('2012-01-02T14:00:00'), localDateTime('2012-01-03T14:00:00')] }, { @@ -142,14 +178,14 @@ TestCase { managers: utility.getManagerList(), definitions: { - "start" : new Date('2012-01-01T14:00:00'), - "end" : new Date('2012-01-01T15:00:00'), - "recurrenceDates": [new Date('2020-01-02'), new Date('2020-01-03')], + "start" : localDateTime('2012-01-01T14:00:00'), + "end" : localDateTime('2012-01-01T15:00:00'), + "recurrenceDates": [localDate('2020-01-02'), localDate('2020-01-03')], "exceptionDates": [], "recurrenceRules": [], "exceptionRules": [] }, - results: [new Date('2012-01-01T14:00:00')] + results: [localDateTime('2012-01-01T14:00:00')] }, { @@ -157,14 +193,14 @@ TestCase { managers: utility.getManagerList(), definitions: { - "start" : new Date('2012-01-01T14:00:00'), - "end" : new Date('2012-01-01T15:00:00'), - "recurrenceDates": [new Date('2012-01-02'), new Date('2020-01-02')], + "start" : localDateTime('2012-01-01T14:00:00'), + "end" : localDateTime('2012-01-01T15:00:00'), + "recurrenceDates": [localDate('2012-01-02'), localDate('2020-01-02')], "exceptionDates": [], "recurrenceRules": [], "exceptionRules": [] }, - results: [new Date('2012-01-01T14:00:00'), new Date('2012-01-02T14:00:00')] + results: [localDateTime('2012-01-01T14:00:00'), localDateTime('2012-01-02T14:00:00')] } ] } @@ -181,8 +217,8 @@ TestCase { managers: utility.getManagerList(), definitions: { - "start" : new Date('2012-01-01T14:00:00'), - "end" : new Date('2012-01-01T15:00:00'), + "start" : localDateTime('2012-01-01T14:00:00'), + "end" : localDateTime('2012-01-01T15:00:00'), "recurrenceDates": [], "exceptionDates": [], "recurrenceRules": [testRule], @@ -200,7 +236,7 @@ TestCase { "firstDayOfWeek": Qt.Monday }, - results: [new Date('2012-01-01T14:00:00'), new Date('2012-01-02T14:00:00'), new Date('2012-01-03T14:00:00')] + results: [localDateTime('2012-01-01T14:00:00'), localDateTime('2012-01-02T14:00:00'), localDateTime('2012-01-03T14:00:00')] }, { @@ -208,8 +244,8 @@ TestCase { managers: utility.getManagerList(), definitions: { - "start" : new Date('2012-01-01T14:00:00'), - "end" : new Date('2012-01-01T15:00:00'), + "start" : localDateTime('2012-01-01T14:00:00'), + "end" : localDateTime('2012-01-01T15:00:00'), "recurrenceDates": [], "exceptionDates": [], "recurrenceRules": [testRule], @@ -227,16 +263,44 @@ TestCase { "firstDayOfWeek": Qt.Monday }, - results: [new Date('2012-01-01T14:00:00'), new Date('2012-01-03T14:00:00'), new Date('2012-01-05T14:00:00')] + results: [localDateTime('2012-01-01T14:00:00'), localDateTime('2012-01-03T14:00:00'), localDateTime('2012-01-05T14:00:00')] + }, + + { + tag: "Daily recurrence, limit to date (high)", + managers: utility.getManagerList(), + definitions: { + + "start" : localDateTime('2012-01-01T23:15:00'), + "end" : localDateTime('2012-01-01T23:45:00'), + "recurrenceDates": [], + "exceptionDates": [], + "recurrenceRules": [testRule], + "exceptionRules": [] + }, + rrule: { + "frequency": RecurrenceRule.Daily, + "limit": localDate('2012-01-05'), + "interval": 1, + "daysOfWeek": [], + "daysOfMonth": [], + "daysOfYear": [], + "monthsOfYear": [], + "positions": [], + "firstDayOfWeek": Qt.Monday + }, + + results: [localDateTime('2012-01-01T23:15:00'), localDateTime('2012-01-02T23:15:00'), localDateTime('2012-01-03T23:15:00'), + localDateTime('2012-01-04T23:15:00'), localDateTime('2012-01-05T23:15:00')] }, { - tag: "Daily recurrence, limit to date", + tag: "Daily recurrence, limit to date (low)", managers: utility.getManagerList(), definitions: { - "start" : new Date('2012-01-01T14:00:00'), - "end" : new Date('2012-01-01T15:00:00'), + "start" : localDateTime('2012-01-01T00:15:00'), + "end" : localDateTime('2012-01-01T00:45:00'), "recurrenceDates": [], "exceptionDates": [], "recurrenceRules": [testRule], @@ -244,7 +308,7 @@ TestCase { }, rrule: { "frequency": RecurrenceRule.Daily, - "limit": new Date('2012-01-05'), + "limit": localDate('2012-01-05'), "interval": 1, "daysOfWeek": [], "daysOfMonth": [], @@ -254,8 +318,8 @@ TestCase { "firstDayOfWeek": Qt.Monday }, - results: [new Date('2012-01-01T14:00:00'), new Date('2012-01-02T14:00:00'), new Date('2012-01-03T14:00:00'), - new Date('2012-01-04T14:00:00'), new Date('2012-01-05T14:00:00')] + results: [localDateTime('2012-01-01T00:15:00'), localDateTime('2012-01-02T00:15:00'), localDateTime('2012-01-03T00:15:00'), + localDateTime('2012-01-04T00:15:00'), localDateTime('2012-01-05T00:15:00')] }, { @@ -263,10 +327,10 @@ TestCase { managers: utility.getManagerList(), definitions: { - "start" : new Date('2012-01-01T14:00:00'), - "end" : new Date('2012-01-01T15:00:00'), + "start" : localDateTime('2012-01-01T14:00:00'), + "end" : localDateTime('2012-01-01T15:00:00'), "recurrenceDates": [], - "exceptionDates": [new Date('2012-01-04T14:00:00'), new Date('2012-01-09T14:00:00')], + "exceptionDates": [localDate('2012-01-04'), localDate('2012-01-09')], "recurrenceRules": [testRule], "exceptionRules": [] }, @@ -282,8 +346,8 @@ TestCase { "firstDayOfWeek": Qt.Monday }, - results: [new Date('2012-01-02T14:00:00'), new Date('2012-01-07T14:00:00'), - new Date('2012-01-11T14:00:00'), new Date('2012-01-14T14:00:00')] + results: [localDateTime('2012-01-02T14:00:00'), localDateTime('2012-01-07T14:00:00'), + localDateTime('2012-01-11T14:00:00'), localDateTime('2012-01-14T14:00:00')] }, { @@ -291,8 +355,8 @@ TestCase { managers: utility.getManagerList(), definitions: { - "start" : new Date('2012-01-01T14:00:00'), - "end" : new Date('2012-01-01T15:00:00'), + "start" : localDateTime('2012-01-01T14:00:00'), + "end" : localDateTime('2012-01-01T15:00:00'), "recurrenceDates": [], "exceptionDates": [], "recurrenceRules": [testRule], @@ -310,7 +374,7 @@ TestCase { "firstDayOfWeek": Qt.Monday }, - results: [new Date('2012-01-01T14:00:00'), new Date('2012-01-02T14:00:00'), new Date('2012-01-10T14:00:00'), new Date('2012-01-11T14:00:00')] + results: [localDateTime('2012-01-01T14:00:00'), localDateTime('2012-01-02T14:00:00'), localDateTime('2012-01-10T14:00:00'), localDateTime('2012-01-11T14:00:00')] }, // Weekly recurrences @@ -320,8 +384,8 @@ TestCase { managers: utility.getManagerList(), definitions: { - "start" : new Date('2012-01-01T14:00:00'), - "end" : new Date('2012-01-01T15:00:00'), + "start" : localDateTime('2012-01-01T14:00:00'), + "end" : localDateTime('2012-01-01T15:00:00'), "recurrenceDates": [], "exceptionDates": [], "recurrenceRules": [testRule], @@ -329,7 +393,7 @@ TestCase { }, rrule: { "frequency": RecurrenceRule.Weekly, - "limit": new Date('2012-02-05'), + "limit": localDate('2012-02-05'), "interval": 2, "daysOfWeek": [], "daysOfMonth": [], @@ -339,7 +403,7 @@ TestCase { "firstDayOfWeek": Qt.Monday }, - results: [new Date('2012-01-01T14:00:00'), new Date('2012-01-15T14:00:00'), new Date('2012-01-29T14:00:00')] + results: [localDateTime('2012-01-01T14:00:00'), localDateTime('2012-01-15T14:00:00'), localDateTime('2012-01-29T14:00:00')] }, // Monthly recurrences @@ -349,8 +413,8 @@ TestCase { managers: utility.getManagerList(), definitions: { - "start" : new Date('2012-01-01T14:00:00'), - "end" : new Date('2012-01-01T15:00:00'), + "start" : localDateTime('2012-01-01T14:00:00'), + "end" : localDateTime('2012-01-01T15:00:00'), "recurrenceDates": [], "exceptionDates": [], "recurrenceRules": [testRule], @@ -368,8 +432,8 @@ TestCase { "firstDayOfWeek": Qt.Monday }, - results: [new Date('2012-02-01T14:00:00'), new Date('2012-05-01T14:00:00'), new Date('2012-12-01T14:00:00'), - new Date('2013-02-01T14:00:00'), new Date('2013-05-01T14:00:00'), new Date('2013-12-01T14:00:00')] + results: [localDateTime('2012-02-01T14:00:00'), localDateTime('2012-05-01T14:00:00'), localDateTime('2012-12-01T14:00:00'), + localDateTime('2013-02-01T14:00:00'), localDateTime('2013-05-01T14:00:00'), localDateTime('2013-12-01T14:00:00')] }, { @@ -377,8 +441,8 @@ TestCase { managers: utility.getManagerList(), definitions: { - "start" : new Date('2012-01-01T14:00:00'), - "end" : new Date('2012-01-01T15:00:00'), + "start" : localDateTime('2012-01-01T14:00:00'), + "end" : localDateTime('2012-01-01T15:00:00'), "recurrenceDates": [], "exceptionDates": [], "recurrenceRules": [testRule], @@ -396,8 +460,8 @@ TestCase { "firstDayOfWeek": Qt.Monday }, - results: [new Date('2012-01-01T14:00:00'), new Date('2012-01-02T14:00:00'), new Date('2012-01-31T14:00:00'), - new Date('2012-02-01T14:00:00'), new Date('2012-02-02T14:00:00'), new Date('2012-02-29T14:00:00')] + results: [localDateTime('2012-01-01T14:00:00'), localDateTime('2012-01-02T14:00:00'), localDateTime('2012-01-31T14:00:00'), + localDateTime('2012-02-01T14:00:00'), localDateTime('2012-02-02T14:00:00'), localDateTime('2012-02-29T14:00:00')] }, { @@ -405,8 +469,8 @@ TestCase { managers: utility.getManagerList(), definitions: { - "start" : new Date('2012-01-01T14:00:00'), - "end" : new Date('2012-01-01T15:00:00'), + "start" : localDateTime('2012-01-01T14:00:00'), + "end" : localDateTime('2012-01-01T15:00:00'), "recurrenceDates": [], "exceptionDates": [], "recurrenceRules": [testRule], @@ -424,8 +488,8 @@ TestCase { "firstDayOfWeek": Qt.Monday }, - results: [new Date('2012-01-31T14:00:00'), new Date('2012-03-31T14:00:00'), new Date('2012-05-31T14:00:00'), - new Date('2012-07-31T14:00:00'), new Date('2012-08-31T14:00:00'), new Date('2012-10-31T14:00:00')] + results: [localDateTime('2012-01-31T14:00:00'), localDateTime('2012-03-31T14:00:00'), localDateTime('2012-05-31T14:00:00'), + localDateTime('2012-07-31T14:00:00'), localDateTime('2012-08-31T14:00:00'), localDateTime('2012-10-31T14:00:00')] }, // Yearly recurrences @@ -435,10 +499,10 @@ TestCase { managers: utility.getManagerList(), definitions: { - "start" : new Date('2012-01-01T14:00:00'), - "end" : new Date('2012-01-01T15:00:00'), + "start" : localDateTime('2012-01-01T14:00:00'), + "end" : localDateTime('2012-01-01T15:00:00'), "recurrenceDates": [], - "exceptionDates": [new Date('2012-01-04T14:00:00'), new Date('2012-01-09T14:00:00')], + "exceptionDates": [localDate('2012-01-04'), localDate('2012-01-09')], "recurrenceRules": [testRule], "exceptionRules": [] }, @@ -454,7 +518,7 @@ TestCase { "firstDayOfWeek": Qt.Monday }, - results: [new Date('2012-01-01T14:00:00'), new Date('2013-01-01T14:00:00'), new Date('2014-01-01T14:00:00')] + results: [localDateTime('2012-01-01T14:00:00'), localDateTime('2013-01-01T14:00:00'), localDateTime('2014-01-01T14:00:00')] }, { @@ -462,8 +526,8 @@ TestCase { managers: utility.getManagerList(), definitions: { - "start" : new Date('2012-01-01T14:00:00'), - "end" : new Date('2012-01-01T15:00:00'), + "start" : localDateTime('2012-01-01T14:00:00'), + "end" : localDateTime('2012-01-01T15:00:00'), "recurrenceDates": [], "exceptionDates": [], "recurrenceRules": [testRule], @@ -481,8 +545,8 @@ TestCase { "firstDayOfWeek": Qt.Monday }, - results: [new Date('2012-07-01T14:00:00'), new Date('2012-08-01T14:00:00'), new Date('2013-07-01T14:00:00'), - new Date('2013-08-01T14:00:00'), new Date('2014-07-01T14:00:00'), new Date('2014-08-01T14:00:00')] + results: [localDateTime('2012-07-01T14:00:00'), localDateTime('2012-08-01T14:00:00'), localDateTime('2013-07-01T14:00:00'), + localDateTime('2013-08-01T14:00:00'), localDateTime('2014-07-01T14:00:00'), localDateTime('2014-08-01T14:00:00')] } ] } @@ -498,14 +562,14 @@ TestCase { managers: utility.getManagerList(), definitions: { - "start" : new Date('2012-01-01T23:00:00'), - "end" : new Date('2012-01-02T01:00:00'), - "recurrenceDates": [new Date('2012-01-02'), new Date('2012-01-03'), new Date('2012-01-04')], - "exceptionDates": [new Date('2012-01-02'), new Date('2012-01-04')], + "start" : localDateTime('2012-01-01T23:00:00'), + "end" : localDateTime('2012-01-02T01:00:00'), + "recurrenceDates": [localDate('2012-01-02'), localDate('2012-01-03'), localDate('2012-01-04')], + "exceptionDates": [localDate('2012-01-02'), localDate('2012-01-04')], "recurrenceRules": [], "exceptionRules": [] }, - results: [new Date('2012-01-01T23:00:00'), new Date('2012-01-03T23:00:00')] + results: [localDateTime('2012-01-01T23:00:00'), localDateTime('2012-01-03T23:00:00')] }, { @@ -513,14 +577,14 @@ TestCase { managers: utility.getManagerList(), definitions: { - "start" : new Date('2012-01-01T14:00:00'), - "end" : new Date('2012-01-01T15:00:00'), + "start" : localDateTime('2012-01-01T14:00:00'), + "end" : localDateTime('2012-01-01T15:00:00'), "recurrenceDates": [], - "exceptionDates": [new Date('2012-01-02'), new Date('2012-01-03')], + "exceptionDates": [localDate('2012-01-02'), localDate('2012-01-03')], "recurrenceRules": [], "exceptionRules": [] }, - results: [new Date('2012-01-01T14:00:00')] + results: [localDateTime('2012-01-01T14:00:00')] } ] } @@ -536,9 +600,9 @@ TestCase { managers: utility.getManagerList(), definitions: { - "start" : new Date('2012-01-01T14:00:00'), - "end" : new Date('2012-01-01T15:00:00'), - "recurrenceDates": [new Date('2012-05-18')], + "start" : localDateTime('2012-01-01T14:00:00'), + "end" : localDateTime('2012-01-01T15:00:00'), + "recurrenceDates": [localDate('2012-05-18')], "exceptionDates": [], "recurrenceRules": [testRule], "exceptionRules": [testXRule] @@ -566,7 +630,7 @@ TestCase { "firstDayOfWeek": Qt.Monday }, - results: [new Date('2012-05-18T14:00:00')] + results: [localDateTime('2012-05-18T14:00:00')] }, { @@ -574,8 +638,8 @@ TestCase { managers: utility.getManagerList(), definitions: { - "start" : new Date('2012-01-01T14:00:00'), - "end" : new Date('2012-01-01T15:00:00'), + "start" : localDateTime('2012-01-01T14:00:00'), + "end" : localDateTime('2012-01-01T15:00:00'), "recurrenceDates": [], "exceptionDates": [], "recurrenceRules": [testRule], @@ -604,8 +668,8 @@ TestCase { "firstDayOfWeek": Qt.Monday }, - results: [new Date('2012-01-03T14:00:00'), new Date('2012-01-04T14:00:00'), new Date('2012-01-05T14:00:00'), - new Date('2012-01-06T14:00:00'), new Date('2012-01-07T14:00:00'), new Date('2012-01-10T14:00:00')] + results: [localDateTime('2012-01-03T14:00:00'), localDateTime('2012-01-04T14:00:00'), localDateTime('2012-01-05T14:00:00'), + localDateTime('2012-01-06T14:00:00'), localDateTime('2012-01-07T14:00:00'), localDateTime('2012-01-10T14:00:00')] }] } @@ -622,9 +686,9 @@ TestCase { managers: ["memory"], definitions: { - "start" : new Date('2012-01-01T14:00:00'), - "end" : new Date('2012-01-01T15:00:00'), - "recurrenceDates": [new Date('2012-01-01T14:00:00')], + "start" : localDateTime('2012-01-01T14:00:00'), + "end" : localDateTime('2012-01-01T15:00:00'), + "recurrenceDates": [localDateTime('2012-01-01T14:00:00')], "exceptionDates": [], "recurrenceRules": [testRule], "exceptionRules": [] @@ -640,7 +704,7 @@ TestCase { "positions": [], "firstDayOfWeek": Qt.Monday }, - results: [new Date('2012-01-01T14:00:00')] + results: [localDateTime('2012-01-01T14:00:00')] }] } @@ -826,7 +890,7 @@ TestCase { for (var i = 0; i < results.length; i++) { var itemStart = model.items[i].startDateTime; - compare(itemStart, results[i], " Occurrence start date is not correct"); + compare(itemStart, results[i], " Occurrence start date is not correct at " + i); } } |