blob: b89a68ad7e66385387ddb9306f463f493c8df412 [file] [log] [blame]
#include <QtTest/QtTest>
#include <poppler-qt5.h>
#include <memory>
class TestOutline : public QObject
{
Q_OBJECT
public:
TestOutline(QObject *parent = nullptr) : QObject(parent) {}
private slots:
void checkOutline_xr02();
};
void TestOutline::checkOutline_xr02()
{
std::unique_ptr<Poppler::Document> document{
Poppler::Document::load(TESTDATADIR "/unittestcases/xr02.pdf")
};
QVERIFY(document.get());
const auto outline = document->outline();
QCOMPARE(outline.size(), 2);
const auto &foo = outline[0];
QVERIFY(!foo.isNull());
QCOMPARE(foo.name(), QStringLiteral("foo"));
QCOMPARE(foo.isOpen(), false);
const auto fooDest = foo.destination();
QVERIFY(!fooDest.isNull());
QCOMPARE(fooDest->pageNumber(), 1);
QVERIFY(foo.externalFileName().isEmpty());
QVERIFY(foo.uri().isEmpty());
QVERIFY(!foo.hasChildren());
QVERIFY(foo.children().isEmpty());
const auto &bar = outline[1];
QVERIFY(!bar.isNull());
QCOMPARE(bar.name(), QStringLiteral("bar"));
QCOMPARE(bar.isOpen(), false);
const auto barDest = bar.destination();
QVERIFY(!barDest.isNull());
QCOMPARE(barDest->pageNumber(), 2);
QVERIFY(bar.externalFileName().isEmpty());
QVERIFY(bar.uri().isEmpty());
QVERIFY(!bar.hasChildren());
QVERIFY(bar.children().isEmpty());
}
QTEST_GUILESS_MAIN(TestOutline)
#include "check_outline.moc"