![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /usr/share/emscripten/tests/poppler/qt4/tests/ |
Upload File : |
#include <QtTest/QtTest> Q_DECLARE_METATYPE(QDate) Q_DECLARE_METATYPE(QTime) #include <poppler-qt4.h> class TestDateConv: public QObject { Q_OBJECT private slots: void initTestCase(); void checkDates_data(); void checkDates(); void checkInvalidDates_data(); void checkInvalidDates(); }; void TestDateConv::initTestCase() { qRegisterMetaType<QDate>("QDate"); qRegisterMetaType<QTime>("QTime"); } void TestDateConv::checkDates_data() { QTest::addColumn<QByteArray>("input"); QTest::addColumn<QDate>("day"); QTest::addColumn<QTime>("time"); // This is a typical case - all data provided QTest::newRow("D:20040101121110") << QByteArray("D:20040101121110Z") << QDate( 2004, 1, 1) << QTime( 12, 11, 10); // The D: is strongly recommended, but optional QTest::newRow("20040101121110") << QByteArray("20040101121110Z") << QDate( 2004, 1, 1) << QTime( 12, 11, 10); // Only the year is actually required QTest::newRow("D:2006") << QByteArray("D:2006") << QDate( 2006, 1, 1) << QTime( 0, 0, 0); QTest::newRow("D:200602") << QByteArray("D:200602") << QDate( 2006, 2, 1) << QTime( 0, 0, 0); QTest::newRow("D:20060304") << QByteArray("D:20060304") << QDate( 2006, 3, 4) << QTime( 0, 0, 0); QTest::newRow("D:2006030405") << QByteArray("D:2006030405") << QDate( 2006, 3, 4) << QTime( 5, 0, 0); QTest::newRow("D:200603040512") << QByteArray("D:200603040512") << QDate( 2006, 3, 4) << QTime( 5, 12, 0); // If the timezone isn't specified, I assume UTC QTest::newRow("D:20060304051226") << QByteArray("D:20060304051226") << QDate( 2006, 3, 4) << QTime( 5, 12, 26); // Check for real timezone conversions QTest::newRow("D:20030131115258-04'00'") << QByteArray("D:20030131115258-04'00'") << QDate( 2003, 1, 31) << QTime( 15, 52, 58); QTest::newRow("D:20030131115258+05'00'") << QByteArray("D:20030131115258+05'00'") << QDate( 2003, 1, 31) << QTime( 6, 52, 58); // There are places that have non-hour offsets // Yep, that means you Adelaide. QTest::newRow("D:20030131115258+08'30'") << QByteArray("D:20030131115258+08'30'") << QDate( 2003, 1, 31) << QTime( 3, 22, 58); QTest::newRow("D:20030131115258-08'30'") << QByteArray("D:20030131115258-08'30'") << QDate( 2003, 1, 31) << QTime( 20, 22, 58); } void TestDateConv::checkDates() { QFETCH(QByteArray, input); QFETCH(QDate, day); QFETCH(QTime, time); QCOMPARE( Poppler::convertDate(input.data()), QDateTime(day, time, Qt::UTC) ); } void TestDateConv::checkInvalidDates_data() { QTest::addColumn<QByteArray>("input"); // Null data QTest::newRow("Null data") << QByteArray(); // Empty data QTest::newRow("Empty data") << QByteArray(""); // Empty data QTest::newRow("One character") << QByteArray("D"); // Empty data QTest::newRow("'D:'") << QByteArray("D:"); // Empty data QTest::newRow("Not a date") << QByteArray("D:IAmNotAValidDate"); } void TestDateConv::checkInvalidDates() { QFETCH(QByteArray, input); QCOMPARE(Poppler::convertDate(input.data()), QDateTime()); } QTEST_MAIN(TestDateConv) #include "check_dateConversion.moc"