Be consistent in the RFC2822Date invalid character tests
The ones we reject used a zero offset while the one that does parse (though it shouldn't - revised comment) has a one hour offset. Made them all use that offset and added a partner test that has no invalid characters, so ensure the success of the invalid character tests isn't due to falsely rejecting the valid date/time text to which the invalid characters are added. Task-number: QTBUG-80038 Change-Id: I6e3dd79b981af6803e60877229c56599cfd719cb Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>bb10
parent
0debb205b2
commit
52affd322c
|
|
@ -1159,17 +1159,23 @@ void tst_QDate::fromStringDateFormat_data()
|
|||
<< Qt::RFC2822Date << QDate();
|
||||
QTest::newRow("RFC 2822 invalid year") << QString::fromLatin1("13 Fev 0000 13:24:51 +0100")
|
||||
<< Qt::RFC2822Date << QDate();
|
||||
// Test invalid characters (should ignore invalid characters at end of string).
|
||||
QTest::newRow("RFC 2822 invalid character at end") << QString::fromLatin1("01 Jan 2012 08:00:00 +0100!")
|
||||
// Test invalid characters (currently ignoring trailing junk, but see QTBUG-80038).
|
||||
QTest::newRow("RFC 2822 invalid character at end")
|
||||
<< QString::fromLatin1("01 Jan 2012 08:00:00 +0100!")
|
||||
<< Qt::RFC2822Date << QDate(2012, 1, 1);
|
||||
QTest::newRow("RFC 2822 invalid character at front")
|
||||
<< QString::fromLatin1("!01 Jan 2012 08:00:00 +0100") << Qt::RFC2822Date << QDate();
|
||||
QTest::newRow("RFC 2822 invalid character both ends")
|
||||
<< QString::fromLatin1("!01 Jan 2012 08:00:00 +0100!") << Qt::RFC2822Date << QDate();
|
||||
QTest::newRow("RFC 2822 invalid character at front, 2 at back")
|
||||
<< QString::fromLatin1("!01 Jan 2012 08:00:00 +0100..") << Qt::RFC2822Date << QDate();
|
||||
QTest::newRow("RFC 2822 invalid character 2 at front")
|
||||
<< QString::fromLatin1("!!01 Jan 2012 08:00:00 +0100") << Qt::RFC2822Date << QDate();
|
||||
// The common date text used by the "invalid character" tests, just to be
|
||||
// sure *it's* not what's invalid:
|
||||
QTest::newRow("RFC 2822 (not invalid)")
|
||||
<< QString::fromLatin1("01 Jan 2012 08:00:00 +0100")
|
||||
<< Qt::RFC2822Date << QDate(2012, 1, 1);
|
||||
QTest::newRow("RFC 2822 invalid character at front") << QString::fromLatin1("!01 Jan 2012 08:00:00 +0000")
|
||||
<< Qt::RFC2822Date << QDate();
|
||||
QTest::newRow("RFC 2822 invalid character both ends") << QString::fromLatin1("!01 Jan 2012 08:00:00 +0000!")
|
||||
<< Qt::RFC2822Date << QDate();
|
||||
QTest::newRow("RFC 2822 invalid character at front, 2 at back") << QString::fromLatin1("!01 Jan 2012 08:00:00 +0000..")
|
||||
<< Qt::RFC2822Date << QDate();
|
||||
QTest::newRow("RFC 2822 invalid character 2 at front") << QString::fromLatin1("!!01 Jan 2012 08:00:00 +0000")
|
||||
<< Qt::RFC2822Date << QDate();
|
||||
|
||||
// Test Qt::RFC2822Date format (RFC 850 and 1036, permissive).
|
||||
QTest::newRow("RFC 850 and 1036") << QString::fromLatin1("Fri Feb 13 13:24:51 1987 +0100")
|
||||
|
|
@ -1183,17 +1189,26 @@ void tst_QDate::fromStringDateFormat_data()
|
|||
// No time specified
|
||||
QTest::newRow("RFC 850 and 1036 date only") << QString::fromLatin1("Fri Nov 01 2002")
|
||||
<< Qt::RFC2822Date << QDate(2002, 11, 1);
|
||||
// Test invalid characters (should ignore invalid characters at end of string).
|
||||
QTest::newRow("RFC 850 and 1036 invalid character at end") << QString::fromLatin1("Sun Jan 01 08:00:00 2012 +0100!")
|
||||
// Test invalid characters (currently ignoring trailing junk, but see QTBUG-80038).
|
||||
QTest::newRow("RFC 850 and 1036 invalid character at end")
|
||||
<< QString::fromLatin1("Sun Jan 01 08:00:00 2012 +0100!")
|
||||
<< Qt::RFC2822Date << QDate(2012, 1, 1);
|
||||
QTest::newRow("RFC 850 and 1036 invalid character at front") << QString::fromLatin1("!Sun Jan 01 08:00:00 2012 +0000")
|
||||
QTest::newRow("RFC 850 and 1036 invalid character at front")
|
||||
<< QString::fromLatin1("!Sun Jan 01 08:00:00 2012 +0100")
|
||||
<< Qt::RFC2822Date << QDate();
|
||||
QTest::newRow("RFC 850 and 1036 invalid character both ends") << QString::fromLatin1("!Sun Jan 01 08:00:00 2012 +0000!")
|
||||
QTest::newRow("RFC 850 and 1036 invalid character both ends")
|
||||
<< QString::fromLatin1("!Sun Jan 01 08:00:00 2012 +0100!")
|
||||
<< Qt::RFC2822Date << QDate();
|
||||
QTest::newRow("RFC 850 and 1036 invalid character at front, 2 at back") << QString::fromLatin1("!Sun Jan 01 08:00:00 2012 +0000..")
|
||||
QTest::newRow("RFC 850 and 1036 invalid character at front, 2 at back")
|
||||
<< QString::fromLatin1("!Sun Jan 01 08:00:00 2012 +0100..")
|
||||
<< Qt::RFC2822Date << QDate();
|
||||
QTest::newRow("RFC 850 and 1036 invalid character 2 at front") << QString::fromLatin1("!!Sun Jan 01 08:00:00 2012 +0000")
|
||||
QTest::newRow("RFC 850 and 1036 invalid character 2 at front")
|
||||
<< QString::fromLatin1("!!Sun Jan 01 08:00:00 2012 +0100")
|
||||
<< Qt::RFC2822Date << QDate();
|
||||
// Again, check the text in the "invalid character" tests isn't the source of invalidity:
|
||||
QTest::newRow("RFC 850 and 1036 (not invalid)")
|
||||
<< QString::fromLatin1("Sun Jan 01 08:00:00 2012 +0100")
|
||||
<< Qt::RFC2822Date << QDate(2012, 1, 1);
|
||||
|
||||
QTest::newRow("RFC empty") << QString::fromLatin1("") << Qt::RFC2822Date << QDate();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1003,8 +1003,9 @@ void tst_QDateTime::toString_rfcDate()
|
|||
// Set to non-English locale to confirm still uses English
|
||||
QLocale oldLocale;
|
||||
QLocale::setDefault(QLocale("de_DE"));
|
||||
QCOMPARE(dt.toString(Qt::RFC2822Date), formatted);
|
||||
QString actual(dt.toString(Qt::RFC2822Date));
|
||||
QLocale::setDefault(oldLocale);
|
||||
QCOMPARE(actual, formatted);
|
||||
}
|
||||
|
||||
void tst_QDateTime::toString_enumformat()
|
||||
|
|
@ -2350,17 +2351,27 @@ void tst_QDateTime::fromStringDateFormat_data()
|
|||
<< Qt::RFC2822Date << invalidDateTime();
|
||||
QTest::newRow("RFC 2822 invalid year") << QString::fromLatin1("13 Fev 0000 13:24:51 +0100")
|
||||
<< Qt::RFC2822Date << invalidDateTime();
|
||||
// Test invalid characters (should ignore invalid characters at end of string).
|
||||
QTest::newRow("RFC 2822 invalid character at end") << QString::fromLatin1("01 Jan 2012 08:00:00 +0100!")
|
||||
// Test invalid characters (currently ignoring trailing junk, but see QTBUG-80038).
|
||||
QTest::newRow("RFC 2822 invalid character at end")
|
||||
<< QString::fromLatin1("01 Jan 2012 08:00:00 +0100!")
|
||||
<< Qt::RFC2822Date << QDateTime(QDate(2012, 1, 1), QTime(7, 0, 0, 0), Qt::UTC);
|
||||
QTest::newRow("RFC 2822 invalid character at front") << QString::fromLatin1("!01 Jan 2012 08:00:00 +0000")
|
||||
QTest::newRow("RFC 2822 invalid character at front")
|
||||
<< QString::fromLatin1("!01 Jan 2012 08:00:00 +0100")
|
||||
<< Qt::RFC2822Date << invalidDateTime();
|
||||
QTest::newRow("RFC 2822 invalid character both ends") << QString::fromLatin1("!01 Jan 2012 08:00:00 +0000!")
|
||||
QTest::newRow("RFC 2822 invalid character both ends")
|
||||
<< QString::fromLatin1("!01 Jan 2012 08:00:00 +0100!")
|
||||
<< Qt::RFC2822Date << invalidDateTime();
|
||||
QTest::newRow("RFC 2822 invalid character at front, 2 at back") << QString::fromLatin1("!01 Jan 2012 08:00:00 +0000..")
|
||||
QTest::newRow("RFC 2822 invalid character at front, 2 at back")
|
||||
<< QString::fromLatin1("!01 Jan 2012 08:00:00 +0100..")
|
||||
<< Qt::RFC2822Date << invalidDateTime();
|
||||
QTest::newRow("RFC 2822 invalid character 2 at front") << QString::fromLatin1("!!01 Jan 2012 08:00:00 +0000")
|
||||
QTest::newRow("RFC 2822 invalid character 2 at front")
|
||||
<< QString::fromLatin1("!!01 Jan 2012 08:00:00 +0100")
|
||||
<< Qt::RFC2822Date << invalidDateTime();
|
||||
// The common date text used by the "invalid character" tests, just to be
|
||||
// sure *it's* not what's invalid:
|
||||
QTest::newRow("RFC 2822 (not invalid)")
|
||||
<< QString::fromLatin1("01 Jan 2012 08:00:00 +0100")
|
||||
<< Qt::RFC2822Date << QDateTime(QDate(2012, 1, 1), QTime(7, 0, 0, 0), Qt::UTC);
|
||||
|
||||
// Test Qt::RFC2822Date format (RFC 850 and 1036, permissive).
|
||||
QTest::newRow("RFC 850 and 1036 +0100") << QString::fromLatin1("Fri Feb 13 13:24:51 1987 +0100")
|
||||
|
|
@ -2378,19 +2389,29 @@ void tst_QDateTime::fromStringDateFormat_data()
|
|||
QTest::newRow("RFC 850 and 1036 no timezone") << QString::fromLatin1("Thu Jan 01 00:12:34 1970")
|
||||
<< Qt::RFC2822Date << QDateTime(QDate(1970, 1, 1), QTime(0, 12, 34), Qt::UTC);
|
||||
// No time specified
|
||||
QTest::newRow("RFC 850 and 1036 date only") << QString::fromLatin1("Fri Nov 01 2002")
|
||||
QTest::newRow("RFC 850 and 1036 date only")
|
||||
<< QString::fromLatin1("Fri Nov 01 2002")
|
||||
<< Qt::RFC2822Date << invalidDateTime();
|
||||
// Test invalid characters (should ignore invalid characters at end of string).
|
||||
QTest::newRow("RFC 850 and 1036 invalid character at end") << QString::fromLatin1("Sun Jan 01 08:00:00 2012 +0100!")
|
||||
// Test invalid characters (currently ignoring trailing junk, but see QTBUG-80038).
|
||||
QTest::newRow("RFC 850 and 1036 invalid character at end")
|
||||
<< QString::fromLatin1("Sun Jan 01 08:00:00 2012 +0100!")
|
||||
<< Qt::RFC2822Date << QDateTime(QDate(2012, 1, 1), QTime(7, 0, 0, 0), Qt::UTC);
|
||||
QTest::newRow("RFC 850 and 1036 invalid character at front") << QString::fromLatin1("!Sun Jan 01 08:00:00 2012 +0000")
|
||||
QTest::newRow("RFC 850 and 1036 invalid character at front")
|
||||
<< QString::fromLatin1("!Sun Jan 01 08:00:00 2012 +0100")
|
||||
<< Qt::RFC2822Date << invalidDateTime();
|
||||
QTest::newRow("RFC 850 and 1036 invalid character both ends") << QString::fromLatin1("!Sun Jan 01 08:00:00 2012 +0000!")
|
||||
QTest::newRow("RFC 850 and 1036 invalid character both ends")
|
||||
<< QString::fromLatin1("!Sun Jan 01 08:00:00 2012 +0100!")
|
||||
<< Qt::RFC2822Date << invalidDateTime();
|
||||
QTest::newRow("RFC 850 and 1036 invalid character at front, 2 at back") << QString::fromLatin1("!Sun Jan 01 08:00:00 2012 +0000..")
|
||||
QTest::newRow("RFC 850 and 1036 invalid character at front, 2 at back")
|
||||
<< QString::fromLatin1("!Sun Jan 01 08:00:00 2012 +0100..")
|
||||
<< Qt::RFC2822Date << invalidDateTime();
|
||||
QTest::newRow("RFC 850 and 1036 invalid character 2 at front") << QString::fromLatin1("!!Sun Jan 01 08:00:00 2012 +0000")
|
||||
QTest::newRow("RFC 850 and 1036 invalid character 2 at front")
|
||||
<< QString::fromLatin1("!!Sun Jan 01 08:00:00 2012 +0100")
|
||||
<< Qt::RFC2822Date << invalidDateTime();
|
||||
// Again, check the text in the "invalid character" tests isn't the source of invalidity:
|
||||
QTest::newRow("RFC 850 and 1036 (not invalid)")
|
||||
<< QString::fromLatin1("Sun Jan 01 08:00:00 2012 +0100")
|
||||
<< Qt::RFC2822Date << QDateTime(QDate(2012, 1, 1), QTime(7, 0, 0, 0), Qt::UTC);
|
||||
|
||||
QTest::newRow("RFC empty") << QString::fromLatin1("") << Qt::RFC2822Date << invalidDateTime();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -642,17 +642,27 @@ void tst_QTime::fromStringDateFormat_data()
|
|||
<< Qt::RFC2822Date << QTime(13, 24, 51);
|
||||
QTest::newRow("RFC 2822 invalid year") << QString::fromLatin1("13 Fev 0000 13:24:51 +0100")
|
||||
<< Qt::RFC2822Date << QTime(13, 24, 51);
|
||||
// Test invalid characters (should ignore invalid characters at end of string).
|
||||
QTest::newRow("RFC 2822 invalid character at end") << QString::fromLatin1("01 Jan 2012 08:00:00 +0100!")
|
||||
// Test invalid characters (currently ignoring trailing junk, but see QTBUG-80038).
|
||||
QTest::newRow("RFC 2822 invalid character at end")
|
||||
<< QString::fromLatin1("01 Jan 2012 08:00:00 +0100!")
|
||||
<< Qt::RFC2822Date << QTime(8, 0, 0);
|
||||
QTest::newRow("RFC 2822 invalid character at front") << QString::fromLatin1("!01 Jan 2012 08:00:00 +0000")
|
||||
QTest::newRow("RFC 2822 invalid character at front")
|
||||
<< QString::fromLatin1("!01 Jan 2012 08:00:00 +0100")
|
||||
<< Qt::RFC2822Date << invalidTime();
|
||||
QTest::newRow("RFC 2822 invalid character both ends") << QString::fromLatin1("!01 Jan 2012 08:00:00 +0000!")
|
||||
QTest::newRow("RFC 2822 invalid character both ends")
|
||||
<< QString::fromLatin1("!01 Jan 2012 08:00:00 +0100!")
|
||||
<< Qt::RFC2822Date << invalidTime();
|
||||
QTest::newRow("RFC 2822 invalid character at front, 2 at back") << QString::fromLatin1("!01 Jan 2012 08:00:00 +0000..")
|
||||
QTest::newRow("RFC 2822 invalid character at front, 2 at back")
|
||||
<< QString::fromLatin1("!01 Jan 2012 08:00:00 +0100..")
|
||||
<< Qt::RFC2822Date << invalidTime();
|
||||
QTest::newRow("RFC 2822 invalid character 2 at front") << QString::fromLatin1("!!01 Jan 2012 08:00:00 +0000")
|
||||
QTest::newRow("RFC 2822 invalid character 2 at front")
|
||||
<< QString::fromLatin1("!!01 Jan 2012 08:00:00 +0100")
|
||||
<< Qt::RFC2822Date << invalidTime();
|
||||
// The common date text used by the "invalid character" tests, just to be
|
||||
// sure *it's* not what's invalid:
|
||||
QTest::newRow("RFC 2822 invalid character at end")
|
||||
<< QString::fromLatin1("01 Jan 2012 08:00:00 +0100")
|
||||
<< Qt::RFC2822Date << QTime(8, 0, 0);
|
||||
|
||||
// Test Qt::RFC2822Date format (RFC 850 and 1036, permissive).
|
||||
QTest::newRow("RFC 850 and 1036") << QString::fromLatin1("Fri Feb 13 13:24:51 1987 +0100")
|
||||
|
|
@ -666,15 +676,24 @@ void tst_QTime::fromStringDateFormat_data()
|
|||
// No time specified
|
||||
QTest::newRow("RFC 850 and 1036 date only") << QString::fromLatin1("Fri Nov 01 2002")
|
||||
<< Qt::RFC2822Date << invalidTime();
|
||||
// Test invalid characters (should ignore invalid characters at end of string).
|
||||
QTest::newRow("RFC 850 and 1036 invalid character at end") << QString::fromLatin1("Sun Jan 01 08:00:00 2012 +0100!")
|
||||
// Test invalid characters (currently ignoring trailing junk, but see QTBUG-80038).
|
||||
QTest::newRow("RFC 850 and 1036 invalid character at end")
|
||||
<< QString::fromLatin1("Sun Jan 01 08:00:00 2012 +0100!")
|
||||
<< Qt::RFC2822Date << QTime(8, 0, 0);
|
||||
QTest::newRow("RFC 850 and 1036 invalid character at front") << QString::fromLatin1("!Sun Jan 01 08:00:00 2012 +0000")
|
||||
QTest::newRow("RFC 850 and 1036 invalid character at front")
|
||||
<< QString::fromLatin1("!Sun Jan 01 08:00:00 2012 +0100")
|
||||
<< Qt::RFC2822Date << invalidTime();
|
||||
QTest::newRow("RFC 850 and 1036 invalid character both ends") << QString::fromLatin1("!Sun Jan 01 08:00:00 2012 +0000!")
|
||||
QTest::newRow("RFC 850 and 1036 invalid character both ends")
|
||||
<< QString::fromLatin1("!Sun Jan 01 08:00:00 2012 +0100!")
|
||||
<< Qt::RFC2822Date << invalidTime();
|
||||
QTest::newRow("RFC 850 and 1036 invalid character at front, 2 at back") << QString::fromLatin1("!Sun Jan 01 08:00:00 2012 +0000..")
|
||||
QTest::newRow("RFC 850 and 1036 invalid character at front, 2 at back")
|
||||
<< QString::fromLatin1("!Sun Jan 01 08:00:00 2012 +0100..")
|
||||
<< Qt::RFC2822Date << invalidTime();
|
||||
// The common date text used by the "invalid character" tests, just to be
|
||||
// sure *it's* not what's invalid:
|
||||
QTest::newRow("RFC 850 and 1036 invalid character at end")
|
||||
<< QString::fromLatin1("Sun Jan 01 08:00:00 2012 +0100")
|
||||
<< Qt::RFC2822Date << QTime(8, 0, 0);
|
||||
|
||||
QTest::newRow("RFC empty") << QString::fromLatin1("") << Qt::RFC2822Date << invalidTime();
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue