forked from qt-creator/qt-creator
SettingsAccessor: Add tests for findIssues
Change-Id: Ib78c2c93dc9404087efe485fdaaad69595aa0125 Reviewed-by: Marco Bubke <marco.bubke@qt.io>
This commit is contained in:
@@ -394,6 +394,9 @@ SettingsAccessor::ProceedInfo SettingsAccessor::reportIssues(const QVariantMap &
|
||||
const FileName &path,
|
||||
QWidget *parent) const
|
||||
{
|
||||
if (!path.exists())
|
||||
return Continue;
|
||||
|
||||
IssueInfo issue = findIssues(data, path);
|
||||
QMessageBox::Icon icon = QMessageBox::Information;
|
||||
|
||||
@@ -429,9 +432,7 @@ SettingsAccessor::IssueInfo SettingsAccessor::findIssues(const QVariantMap &data
|
||||
const FileName defaultSettingsPath = userFilePath(d->m_baseFile, d->m_userSuffix);
|
||||
|
||||
int version = versionFromMap(data);
|
||||
if (!path.exists()) {
|
||||
return result;
|
||||
} else if (data.isEmpty() || version < firstSupportedVersion() || version > currentVersion()) {
|
||||
if (data.isEmpty() || version < firstSupportedVersion() || version > currentVersion()) {
|
||||
result.title = QApplication::translate("Utils::SettingsAccessor", "No Valid Settings Found");
|
||||
result.message = QApplication::translate("Utils::SettingsAccessor",
|
||||
"<p>No valid settings file could be found.</p>"
|
||||
|
@@ -95,6 +95,7 @@ public:
|
||||
}
|
||||
|
||||
// Make methods public for the tests:
|
||||
using Utils::SettingsAccessor::findIssues;
|
||||
using Utils::SettingsAccessor::isValidVersionAndId;
|
||||
using Utils::SettingsAccessor::isBetterMatch;
|
||||
using Utils::SettingsAccessor::upgradeSettings;
|
||||
@@ -134,6 +135,13 @@ private slots:
|
||||
void upgradeSettings_partialUpdate();
|
||||
void upgradeSettings_targetVersionTooOld();
|
||||
void upgradeSettings_targetVersionTooNew();
|
||||
|
||||
void findIssues_ok();
|
||||
void findIssues_emptyData();
|
||||
void findIssues_tooNew();
|
||||
void findIssues_tooOld();
|
||||
void findIssues_wrongId();
|
||||
void findIssues_nonDefaultPath();
|
||||
};
|
||||
|
||||
static QVariantMap versionedMap(int version, const QByteArray &id = QByteArray(),
|
||||
@@ -459,6 +467,84 @@ void tst_SettingsAccessor::upgradeSettings_targetVersionTooNew()
|
||||
QCOMPARE(result, input);
|
||||
}
|
||||
|
||||
void tst_SettingsAccessor::findIssues_ok()
|
||||
{
|
||||
const TestSettingsAccessor accessor;
|
||||
const QVariantMap data = versionedMap(6, TESTACCESSOR_DEFAULT_ID);
|
||||
const Utils::FileName path = Utils::FileName::fromString("/foo/bar.user");
|
||||
|
||||
const Utils::SettingsAccessor::IssueInfo info = accessor.findIssues(data, path);
|
||||
|
||||
QVERIFY(info.title.isEmpty());
|
||||
QVERIFY(info.message.isEmpty());
|
||||
QVERIFY(info.buttons.isEmpty());
|
||||
}
|
||||
|
||||
void tst_SettingsAccessor::findIssues_emptyData()
|
||||
{
|
||||
const TestSettingsAccessor accessor;
|
||||
const QVariantMap data;
|
||||
const Utils::FileName path = Utils::FileName::fromString("/foo/bar.user");
|
||||
|
||||
const Utils::SettingsAccessor::IssueInfo info = accessor.findIssues(data, path);
|
||||
|
||||
QVERIFY(!info.title.isEmpty());
|
||||
QVERIFY(!info.message.isEmpty());
|
||||
QVERIFY(!info.buttons.isEmpty());
|
||||
}
|
||||
|
||||
void tst_SettingsAccessor::findIssues_tooNew()
|
||||
{
|
||||
const TestSettingsAccessor accessor;
|
||||
const QVariantMap data = versionedMap(42, TESTACCESSOR_DEFAULT_ID);
|
||||
const Utils::FileName path = Utils::FileName::fromString("/foo/bar.user");
|
||||
|
||||
const Utils::SettingsAccessor::IssueInfo info = accessor.findIssues(data, path);
|
||||
|
||||
QVERIFY(!info.title.isEmpty());
|
||||
QVERIFY(!info.message.isEmpty());
|
||||
QVERIFY(!info.buttons.isEmpty());
|
||||
}
|
||||
|
||||
void tst_SettingsAccessor::findIssues_tooOld()
|
||||
{
|
||||
const TestSettingsAccessor accessor;
|
||||
const QVariantMap data = versionedMap(2, TESTACCESSOR_DEFAULT_ID);
|
||||
const Utils::FileName path = Utils::FileName::fromString("/foo/bar.user");
|
||||
|
||||
const Utils::SettingsAccessor::IssueInfo info = accessor.findIssues(data, path);
|
||||
|
||||
QVERIFY(!info.title.isEmpty());
|
||||
QVERIFY(!info.message.isEmpty());
|
||||
QVERIFY(!info.buttons.isEmpty());
|
||||
}
|
||||
|
||||
void tst_SettingsAccessor::findIssues_wrongId()
|
||||
{
|
||||
const TestSettingsAccessor accessor;
|
||||
const QVariantMap data = versionedMap(6, "foo");
|
||||
const Utils::FileName path = Utils::FileName::fromString("/foo/bar.user");
|
||||
|
||||
const Utils::SettingsAccessor::IssueInfo info = accessor.findIssues(data, path);
|
||||
|
||||
QVERIFY(!info.title.isEmpty());
|
||||
QVERIFY(!info.message.isEmpty());
|
||||
QVERIFY(!info.buttons.isEmpty());
|
||||
}
|
||||
|
||||
void tst_SettingsAccessor::findIssues_nonDefaultPath()
|
||||
{
|
||||
const TestSettingsAccessor accessor;
|
||||
const QVariantMap data = versionedMap(6, TESTACCESSOR_DEFAULT_ID);
|
||||
const Utils::FileName path = Utils::FileName::fromString("/foo/bar.user.foobar");
|
||||
|
||||
const Utils::SettingsAccessor::IssueInfo info = accessor.findIssues(data, path);
|
||||
|
||||
QVERIFY(!info.title.isEmpty());
|
||||
QVERIFY(!info.message.isEmpty());
|
||||
QVERIFY(!info.buttons.isEmpty());
|
||||
}
|
||||
|
||||
QTEST_MAIN(tst_SettingsAccessor)
|
||||
|
||||
#include "tst_settings.moc"
|
||||
|
Reference in New Issue
Block a user