1
#include <QtTest/QtTest>
3
#include <poppler-qt4.h>
5
class TestSearch: public QObject
10
void testNextAndPrevious();
13
void TestSearch::bug7063()
15
Poppler::Document *doc;
16
doc = Poppler::Document::load("../../../test/unittestcases/bug7063.pdf");
19
Poppler::Page *page = doc->page(0);
20
QRectF pageRegion( QPointF(0,0), page->pageSize() );
22
QCOMPARE( page->search(QString("non-ascii:"), pageRegion, Poppler::Page::FromTop, Poppler::Page::CaseSensitive), true );
24
QCOMPARE( page->search(QString("Ascii"), pageRegion, Poppler::Page::FromTop, Poppler::Page::CaseSensitive), false );
25
QCOMPARE( page->search(QString("Ascii"), pageRegion, Poppler::Page::FromTop, Poppler::Page::CaseInsensitive), true );
27
QCOMPARE( page->search(QString("latin1:"), pageRegion, Poppler::Page::FromTop, Poppler::Page::CaseSensitive), false );
29
QCOMPARE( page->search(QString::fromUtf8("é"), pageRegion, Poppler::Page::FromTop, Poppler::Page::CaseSensitive), true );
30
QCOMPARE( page->search(QString::fromUtf8("à"), pageRegion, Poppler::Page::FromTop, Poppler::Page::CaseSensitive), true );
31
QCOMPARE( page->search(QString::fromUtf8("ç"), pageRegion, Poppler::Page::FromTop, Poppler::Page::CaseSensitive), true );
32
QCOMPARE( page->search(QString::fromUtf8("search \"é\", \"à\" or \"ç\""), pageRegion, Poppler::Page::FromTop, Poppler::Page::CaseSensitive), true );
33
QCOMPARE( page->search(QString::fromUtf8("¥µ©"), pageRegion, Poppler::Page::FromTop, Poppler::Page::CaseSensitive), true );
34
QCOMPARE( page->search(QString::fromUtf8("¥©"), pageRegion, Poppler::Page::FromTop, Poppler::Page::CaseSensitive), false );
39
void TestSearch::testNextAndPrevious()
41
Poppler::Document *doc;
42
doc = Poppler::Document::load("../../../test/unittestcases/xr01.pdf");
45
Poppler::Page *page = doc->page(0);
46
QRectF region( QPointF(0,0), page->pageSize() );
48
QCOMPARE( page->search(QString("is"), region, Poppler::Page::FromTop, Poppler::Page::CaseSensitive), true );
49
QVERIFY( qAbs(region.x() - 161.44) < 0.01 );
50
QVERIFY( qAbs(region.y() - 127.85) < 0.01 );
51
QVERIFY( qAbs(region.width() - 6.70) < 0.01 );
52
QVERIFY( qAbs(region.height() - 8.85) < 0.01 );
53
QCOMPARE( page->search(QString("is"), region, Poppler::Page::NextResult, Poppler::Page::CaseSensitive), true );
54
QVERIFY( qAbs(region.x() - 171.46) < 0.01 );
55
QVERIFY( qAbs(region.y() - 127.85) < 0.01 );
56
QVERIFY( qAbs(region.width() - 6.70) < 0.01 );
57
QVERIFY( qAbs(region.height() - 8.85) < 0.01 );
58
QCOMPARE( page->search(QString("is"), region, Poppler::Page::NextResult, Poppler::Page::CaseSensitive), true );
59
QVERIFY( qAbs(region.x() - 161.44) < 0.01 );
60
QVERIFY( qAbs(region.y() - 139.81) < 0.01 );
61
QVERIFY( qAbs(region.width() - 6.70) < 0.01 );
62
QVERIFY( qAbs(region.height() - 8.85) < 0.01 );
63
QCOMPARE( page->search(QString("is"), region, Poppler::Page::NextResult, Poppler::Page::CaseSensitive), true );
64
QVERIFY( qAbs(region.x() - 171.46) < 0.01 );
65
QVERIFY( qAbs(region.y() - 139.81) < 0.01 );
66
QVERIFY( qAbs(region.width() - 6.70) < 0.01 );
67
QVERIFY( qAbs(region.height() - 8.85) < 0.01 );
68
QCOMPARE( page->search(QString("is"), region, Poppler::Page::NextResult, Poppler::Page::CaseSensitive), false );
69
QCOMPARE( page->search(QString("is"), region, Poppler::Page::PreviousResult, Poppler::Page::CaseSensitive), true );
70
QVERIFY( qAbs(region.x() - 161.44) < 0.01 );
71
QVERIFY( qAbs(region.y() - 139.81) < 0.01 );
72
QVERIFY( qAbs(region.width() - 6.70) < 0.01 );
73
QVERIFY( qAbs(region.height() - 8.85) < 0.01 );
74
QCOMPARE( page->search(QString("is"), region, Poppler::Page::PreviousResult, Poppler::Page::CaseSensitive), true );
75
QVERIFY( qAbs(region.x() - 171.46) < 0.01 );
76
QVERIFY( qAbs(region.y() - 127.85) < 0.01 );
77
QVERIFY( qAbs(region.width() - 6.70) < 0.01 );
78
QVERIFY( qAbs(region.height() - 8.85) < 0.01 );
79
QCOMPARE( page->search(QString("is"), region, Poppler::Page::PreviousResult, Poppler::Page::CaseSensitive), true );
80
QVERIFY( qAbs(region.x() - 161.44) < 0.01 );
81
QVERIFY( qAbs(region.y() - 127.85) < 0.01 );
82
QVERIFY( qAbs(region.width() - 6.70) < 0.01 );
83
QVERIFY( qAbs(region.height() - 8.85) < 0.01 );
84
QCOMPARE( page->search(QString("is"), region, Poppler::Page::PreviousResult, Poppler::Page::CaseSensitive), false );
89
QTEST_MAIN(TestSearch)
90
#include "check_search.moc"