#include "options_dialog.h" #include #include #include #include class OptionsDialogTest final : public QObject { Q_OBJECT private slots: void exposesStrictDuplicateComparison() { SearchOptions options; QVERIFY(!options.strictDuplicateComparison); options.strictDuplicateComparison = true; OptionsDialog dialog(options); auto *strict = dialog.findChild( QStringLiteral("strictDuplicateComparison")); QVERIFY(strict); QVERIFY(strict->isChecked()); QVERIFY(dialog.options().strictDuplicateComparison); strict->setChecked(false); QVERIFY(!dialog.options().strictDuplicateComparison); } void remembersInputHistory() { QSettings settings; settings.remove(QStringLiteral("inputHistory")); SearchOptions options; OptionsDialog first(options); auto *roots = first.findChild(QStringLiteral("historyroots")); QVERIFY(roots); roots->setEditText(QStringLiteral("/tmp/first;/tmp/second")); QVERIFY(QMetaObject::invokeMethod(&first, "accept")); QCOMPARE(settings.value(QStringLiteral("inputHistory/roots")).toStringList(), QStringList{QStringLiteral("/tmp/first;/tmp/second")}); OptionsDialog second(options); auto *history = second.findChild(QStringLiteral("historyroots")); QVERIFY(history); QCOMPARE(history->itemText(0), QStringLiteral("/tmp/first;/tmp/second")); history->setEditText(QStringLiteral("/tmp/new")); QVERIFY(QMetaObject::invokeMethod(&second, "accept")); QCOMPARE(settings.value(QStringLiteral("inputHistory/roots")).toStringList(), (QStringList{QStringLiteral("/tmp/new"), QStringLiteral("/tmp/first;/tmp/second")})); settings.remove(QStringLiteral("inputHistory")); } }; QTEST_MAIN(OptionsDialogTest) #include "options_dialog_test.moc"