summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorShawn Rutledge <shawn.rutledge@qt.io>2022-04-20 18:59:51 +0200
committerShawn Rutledge <shawn.rutledge@qt.io>2022-04-24 23:32:51 +0200
commit0f9824a9fe66a4b4b4fc754e2086c63890ebe177 (patch)
tree08ecc92636a071c2919977360e90299508d4dc87 /tests
parentbcfb84600e95403627bede7c0f7ee945acd00c6c (diff)
QPdfBookmarkModel: add location and zoom roles
We need them for more accurate navigation. Switch to initializing BookmarkNode's variables where declared, while we're at it. Task-number: QTBUG-77510 Change-Id: Ia6762c9b6336c9148a85ad782e71e5b59feab754 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/pdf/qpdfbookmarkmodel/tst_qpdfbookmarkmodel.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/auto/pdf/qpdfbookmarkmodel/tst_qpdfbookmarkmodel.cpp b/tests/auto/pdf/qpdfbookmarkmodel/tst_qpdfbookmarkmodel.cpp
index 43af1be40..affde5c06 100644
--- a/tests/auto/pdf/qpdfbookmarkmodel/tst_qpdfbookmarkmodel.cpp
+++ b/tests/auto/pdf/qpdfbookmarkmodel/tst_qpdfbookmarkmodel.cpp
@@ -62,6 +62,7 @@ private slots:
void testTreeStructure();
void testListStructure();
void testPageNumberRole();
+ void testLocationAndZoomRoles();
};
void tst_QPdfBookmarkModel::emptyModel()
@@ -285,6 +286,33 @@ void tst_QPdfBookmarkModel::testPageNumberRole()
QCOMPARE(index3.data(int(QPdfBookmarkModel::Role::Page)).toInt(), 2);
}
+void tst_QPdfBookmarkModel::testLocationAndZoomRoles()
+{
+ QPdfDocument document;
+ QCOMPARE(document.load(QFINDTESTDATA("pdf-sample.bookmarks_pages.pdf")), QPdfDocument::NoError);
+
+ QPdfBookmarkModel model;
+ model.setDocument(&document);
+
+ QCOMPARE(model.rowCount(), 3);
+
+ const QModelIndex index1 = model.index(0, 0);
+ QCOMPARE(index1.data(int(QPdfBookmarkModel::Role::Location)).toPoint(), QPoint(57, 69));
+ QCOMPARE(index1.data(int(QPdfBookmarkModel::Role::Zoom)).toInt(), 0);
+
+ const QModelIndex index2 = model.index(1, 0);
+ QCOMPARE(index2.data(int(QPdfBookmarkModel::Role::Location)).toPoint(), QPoint(57, 57));
+ QCOMPARE(index2.data(int(QPdfBookmarkModel::Role::Zoom)).toInt(), 0);
+
+ const QModelIndex index2_1 = model.index(0, 0, index2);
+ QCOMPARE(index2_1.data(int(QPdfBookmarkModel::Role::Location)).toPoint(), QPoint(57, 526));
+ QCOMPARE(index2_1.data(int(QPdfBookmarkModel::Role::Zoom)).toInt(), 0);
+
+ const QModelIndex index3 = model.index(2, 0);
+ QCOMPARE(index3.data(int(QPdfBookmarkModel::Role::Location)).toPoint(), QPoint(57, 402));
+ QCOMPARE(index3.data(int(QPdfBookmarkModel::Role::Zoom)).toInt(), 0);
+}
+
QTEST_MAIN(tst_QPdfBookmarkModel)
#include "tst_qpdfbookmarkmodel.moc"