diff options
author | Shawn Rutledge <shawn.rutledge@qt.io> | 2022-04-20 18:59:51 +0200 |
---|---|---|
committer | Shawn Rutledge <shawn.rutledge@qt.io> | 2022-04-24 23:32:51 +0200 |
commit | 0f9824a9fe66a4b4b4fc754e2086c63890ebe177 (patch) | |
tree | 08ecc92636a071c2919977360e90299508d4dc87 /tests | |
parent | bcfb84600e95403627bede7c0f7ee945acd00c6c (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.cpp | 28 |
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" |