1 #include <QtTest/QtTest>
2
3 #include <poppler-private.h>
4
5 #include "PageLabelInfo_p.h"
6
7 #include "config.h"
8
9 class TestPageLabelInfo : public QObject
10 {
11 Q_OBJECT
12 public:
TestPageLabelInfo(QObject * parent=nullptr)13 explicit TestPageLabelInfo(QObject *parent = nullptr) : QObject(parent) { }
14 private slots:
15 void testFromDecimal();
16 void testFromDecimalUnicode();
17 void testToRoman();
18 void testFromRoman();
19 void testToLatin();
20 void testFromLatin();
21 };
22
testFromDecimal()23 void TestPageLabelInfo::testFromDecimal()
24 {
25 std::string str { "2342" };
26 const auto res = fromDecimal(str, false);
27 QCOMPARE(res.first, 2342);
28 QCOMPARE(res.second, true);
29 }
30
testFromDecimalUnicode()31 void TestPageLabelInfo::testFromDecimalUnicode()
32 {
33 std::unique_ptr<GooString> str(Poppler::QStringToUnicodeGooString(QString::fromLocal8Bit("2342")));
34 const auto res = fromDecimal(str->toStr(), str->hasUnicodeMarker());
35 QCOMPARE(res.first, 2342);
36 QCOMPARE(res.second, true);
37 }
38
testToRoman()39 void TestPageLabelInfo::testToRoman()
40 {
41 GooString str;
42 toRoman(177, &str, false);
43 QCOMPARE(str.c_str(), "clxxvii");
44 }
45
testFromRoman()46 void TestPageLabelInfo::testFromRoman()
47 {
48 GooString roman("clxxvii");
49 QCOMPARE(fromRoman(roman.c_str()), 177);
50 }
51
testToLatin()52 void TestPageLabelInfo::testToLatin()
53 {
54 GooString str;
55 toLatin(54, &str, false);
56 QCOMPARE(str.c_str(), "bbb");
57 }
58
testFromLatin()59 void TestPageLabelInfo::testFromLatin()
60 {
61 GooString latin("ddd");
62 QCOMPARE(fromLatin(latin.c_str()), 56);
63 }
64
65 QTEST_GUILESS_MAIN(TestPageLabelInfo)
66 #include "check_pagelabelinfo.moc"
67