~ubuntu-branches/ubuntu/vivid/emscripten/vivid

« back to all changes in this revision

Viewing changes to tests/poppler/qt4/tests/check_dateConversion.cpp

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2013-05-02 13:11:51 UTC
  • Revision ID: package-import@ubuntu.com-20130502131151-q8dvteqr1ef2x7xz
Tags: upstream-1.4.1~20130504~adb56cb
ImportĀ upstreamĀ versionĀ 1.4.1~20130504~adb56cb

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include <QtTest/QtTest>
 
2
 
 
3
Q_DECLARE_METATYPE(QDate)
 
4
Q_DECLARE_METATYPE(QTime)
 
5
 
 
6
#include <poppler-qt4.h>
 
7
 
 
8
class TestDateConv: public QObject
 
9
{
 
10
    Q_OBJECT
 
11
private slots:
 
12
    void initTestCase();
 
13
    void checkDates_data();
 
14
    void checkDates();
 
15
    void checkInvalidDates_data();
 
16
    void checkInvalidDates();
 
17
};
 
18
 
 
19
void TestDateConv::initTestCase()
 
20
{
 
21
    qRegisterMetaType<QDate>("QDate");
 
22
    qRegisterMetaType<QTime>("QTime");
 
23
}
 
24
 
 
25
void TestDateConv::checkDates_data()
 
26
{
 
27
    QTest::addColumn<QByteArray>("input");
 
28
    QTest::addColumn<QDate>("day");
 
29
    QTest::addColumn<QTime>("time");
 
30
 
 
31
    // This is a typical case - all data provided
 
32
    QTest::newRow("D:20040101121110")
 
33
      << QByteArray("D:20040101121110Z")
 
34
      << QDate( 2004, 1, 1)
 
35
      << QTime( 12, 11, 10);
 
36
 
 
37
    // The D: is strongly recommended, but optional
 
38
    QTest::newRow("20040101121110")
 
39
      << QByteArray("20040101121110Z")
 
40
      << QDate( 2004, 1, 1)
 
41
      << QTime( 12, 11, 10);
 
42
 
 
43
    // Only the year is actually required
 
44
    QTest::newRow("D:2006")
 
45
      << QByteArray("D:2006")
 
46
      << QDate( 2006, 1, 1)
 
47
      << QTime( 0, 0, 0);
 
48
 
 
49
    QTest::newRow("D:200602")
 
50
      << QByteArray("D:200602")
 
51
      << QDate( 2006, 2, 1)
 
52
      << QTime( 0, 0, 0);
 
53
 
 
54
    QTest::newRow("D:20060304")
 
55
      << QByteArray("D:20060304")
 
56
      << QDate( 2006, 3, 4)
 
57
      << QTime( 0, 0, 0);
 
58
 
 
59
    QTest::newRow("D:2006030405")
 
60
      << QByteArray("D:2006030405")
 
61
      << QDate( 2006, 3, 4)
 
62
      << QTime( 5, 0, 0);
 
63
 
 
64
    QTest::newRow("D:200603040512")
 
65
      << QByteArray("D:200603040512")
 
66
      << QDate( 2006, 3, 4)
 
67
      << QTime( 5, 12, 0);
 
68
 
 
69
    // If the timezone isn't specified, I assume UTC
 
70
    QTest::newRow("D:20060304051226")
 
71
      << QByteArray("D:20060304051226")
 
72
      << QDate( 2006, 3, 4)
 
73
      << QTime( 5, 12, 26);
 
74
 
 
75
    // Check for real timezone conversions
 
76
    QTest::newRow("D:20030131115258-04'00'")
 
77
      << QByteArray("D:20030131115258-04'00'")
 
78
      << QDate( 2003, 1, 31)
 
79
      << QTime( 15, 52, 58);
 
80
 
 
81
    QTest::newRow("D:20030131115258+05'00'")
 
82
      << QByteArray("D:20030131115258+05'00'")
 
83
      << QDate( 2003, 1, 31)
 
84
      << QTime( 6, 52, 58);
 
85
 
 
86
    // There are places that have non-hour offsets
 
87
    // Yep, that means you Adelaide.
 
88
    QTest::newRow("D:20030131115258+08'30'")
 
89
      << QByteArray("D:20030131115258+08'30'")
 
90
      << QDate( 2003, 1, 31)
 
91
      << QTime( 3, 22, 58);
 
92
 
 
93
    QTest::newRow("D:20030131115258-08'30'")
 
94
      << QByteArray("D:20030131115258-08'30'")
 
95
      << QDate( 2003, 1, 31)
 
96
      << QTime( 20, 22, 58);
 
97
}
 
98
 
 
99
void TestDateConv::checkDates()
 
100
{
 
101
    QFETCH(QByteArray, input);
 
102
    QFETCH(QDate, day);
 
103
    QFETCH(QTime, time);
 
104
 
 
105
    QCOMPARE( Poppler::convertDate(input.data()), QDateTime(day, time, Qt::UTC) );
 
106
}
 
107
 
 
108
void TestDateConv::checkInvalidDates_data()
 
109
{
 
110
    QTest::addColumn<QByteArray>("input");
 
111
 
 
112
    // Null data
 
113
    QTest::newRow("Null data")
 
114
      << QByteArray();
 
115
 
 
116
    // Empty data
 
117
    QTest::newRow("Empty data")
 
118
      << QByteArray("");
 
119
 
 
120
    // Empty data
 
121
    QTest::newRow("One character")
 
122
      << QByteArray("D");
 
123
 
 
124
    // Empty data
 
125
    QTest::newRow("'D:'")
 
126
      << QByteArray("D:");
 
127
 
 
128
    // Empty data
 
129
    QTest::newRow("Not a date")
 
130
      << QByteArray("D:IAmNotAValidDate");
 
131
}
 
132
 
 
133
void TestDateConv::checkInvalidDates()
 
134
{
 
135
    QFETCH(QByteArray, input);
 
136
 
 
137
    QCOMPARE(Poppler::convertDate(input.data()), QDateTime());
 
138
}
 
139
 
 
140
QTEST_MAIN(TestDateConv)
 
141
 
 
142
#include "check_dateConversion.moc"