@@ -20,6 +20,7 @@
20#include <QObject>
20#include <QObject>
21#include <QTemporaryDir>
21#include <QTemporaryDir>
22#include <QTest>
22#include <QTest>
24#define PAGES_PATH "Wizard/Pages"
25#define PAGES_PATH "Wizard/Pages"
@@ -28,7 +29,7 @@ class PageListTest: public QObject
31− PageListTest() {};
32+ PageListTest() {}
33private Q_SLOTS:
34private Q_SLOTS:
34 void testCollect();
35 void testCollect();
@@ -37,6 +38,7 @@ private Q_SLOTS:
37 void testIgnoreNonQml();
38 void testIgnoreNonQml();
38 void testIgnoreDuplicates();
39 void testIgnoreDuplicates();
39 void testDisabled();
40 void testDisabled();
41+ void testSkipUntilLastPage();
42 void fillRoot(const QTemporaryDir &root);
44 void fillRoot(const QTemporaryDir &root);
@@ -150,5 +152,32 @@ void PageListTest::testDisabled()
150 QCOMPARE(pageList.entries(), QStringList() << "4.qml");
152 QCOMPARE(pageList.entries(), QStringList() << "4.qml");
155+void PageListTest::testSkipUntilLastPage() {
156+ PageList * pageList = nullptr;
160+ makeFile(root, "a", "1.qml");
161+ makeFile(root, "a", "2.qml");
162+ makeFile(root, "a", "3.qml");
165+ pageList = new PageList;
166+ QCOMPARE(pageList->numPages(), 3);
167+ delete pageList; pageList = nullptr;
169+ // after system update had been installed, have the last page only
171+ settings.setValue(QStringLiteral("Wizard/SkipUntilFinishedPage"), true);
172+ pageList = new PageList;
173+ QCOMPARE(pageList->entries(), {QStringLiteral("3.qml")}); // only the last page should be in the list
174+ delete pageList; pageList = nullptr;
177+ pageList = new PageList;
178+ QCOMPARE(pageList->numPages(), 3);
179+ delete pageList; pageList = nullptr;
153QTEST_MAIN(PageListTest)
182QTEST_MAIN(PageListTest)
154#include "tst_pagelist.moc"
183#include "tst_pagelist.moc"