#include #include #include class TestOutline : public QObject { Q_OBJECT public: explicit TestOutline(QObject *parent = nullptr) : QObject(parent) { } private slots: void checkOutline_xr02(); }; void TestOutline::checkOutline_xr02() { std::unique_ptr 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"