diff options
Diffstat (limited to 'autotests/test_kconf_update.cpp')
-rw-r--r-- | autotests/test_kconf_update.cpp | 78 |
1 files changed, 72 insertions, 6 deletions
diff --git a/autotests/test_kconf_update.cpp b/autotests/test_kconf_update.cpp index d4f5c52d..e4e2b416 100644 --- a/autotests/test_kconf_update.cpp +++ b/autotests/test_kconf_update.cpp @@ -82,6 +82,8 @@ void TestKConfUpdate::test_data() QTest::addColumn<QString>("newConfName"); QTest::addColumn<QString>("expectedNewConfContent"); QTest::addColumn<QString>("expectedOldConfContent"); + QTest::addColumn<bool>("useVersion5"); + QTest::addColumn<bool>("shouldUpdateWork"); QTest::newRow("moveKeysSameFile") << @@ -104,6 +106,8 @@ void TestKConfUpdate::test_data() "new=value\n" << "" + << true + << true ; QTest::newRow("moveKeysOtherFile") << @@ -132,6 +136,8 @@ void TestKConfUpdate::test_data() "\n" "[stay]\n" "foo=bar\n" + << true + << true ; QTest::newRow("allKeys") << @@ -161,6 +167,8 @@ void TestKConfUpdate::test_data() "foo=bar\n" << "" + << true + << true ; QTest::newRow("allKeysSubGroup") << @@ -198,6 +206,8 @@ void TestKConfUpdate::test_data() "foo=bar\n" << "" + << true + << true ; QTest::newRow("removeGroup") << @@ -221,6 +231,8 @@ void TestKConfUpdate::test_data() "key=value\n" << "" + << true + << true ; QTest::newRow("moveKeysSameFileDontExist") << @@ -247,6 +259,50 @@ void TestKConfUpdate::test_data() "key1=value1\n" << "" + << true + << true + ; + QTest::newRow("DontMigrateWhenFileDoesntHaveVersion") + << + "File=testrc\n" + "Group=group\n" + "Key=old,new\n" + "Options=overwrite\n" + << + "testrc" + << + "[group]\n" + "old=value\n" + << + "testrc" + << + "[group]\n" + "old=value\n" + << + "" + << false + << false + ; + + QTest::newRow("DontMigrateWhenUpdateCantDoItMissingFilename") + << + "Group=group\n" + "Key=old,new\n" + "Options=overwrite\n" + << + "testrc" + << + "[group]\n" + "old=value\n" + << + "testrc" + << + "[group]\n" + "old=value\n" + << + "" + << true + << false ; } @@ -258,9 +314,14 @@ void TestKConfUpdate::test() QFETCH(QString, newConfName); QFETCH(QString, expectedNewConfContent); QFETCH(QString, expectedOldConfContent); + QFETCH(bool, useVersion5); + QFETCH(bool, shouldUpdateWork); - // Prepend the Id= field to the upd content - updContent = QString("Id=%1\n").arg(QTest::currentDataTag()) + updContent; + // Prepend Version and the Id= field to the upd content + const QString header = QString("Id=%1\n").arg(QTest::currentDataTag()); + updContent = header + updContent; + if (useVersion5) + updContent.prepend("Version=5\n"); QString oldConfPath = QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation) + QLatin1Char('/') + oldConfName; QString newConfPath = QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation) + QLatin1Char('/') + newConfName; @@ -278,12 +339,16 @@ void TestKConfUpdate::test() .arg(QTest::currentDataTag()); QString newConfContentAfter = readFile(newConfPath); - expectedNewConfContent = expectedNewConfContent.arg(updateInfo); + if (shouldUpdateWork) { + expectedNewConfContent = expectedNewConfContent.arg(updateInfo); + } QCOMPARE(newConfContentAfter, expectedNewConfContent); if (oldConfName != newConfName) { QString oldConfContentAfter = readFile(oldConfPath); - expectedOldConfContent = expectedOldConfContent.arg(updateInfo); + if (shouldUpdateWork) { + expectedOldConfContent = expectedOldConfContent.arg(updateInfo); + } QCOMPARE(oldConfContentAfter, expectedOldConfContent); } } @@ -548,8 +613,8 @@ void TestKConfUpdate::testScript() QFETCH(QString, oldConfContent); QFETCH(QString, expectedNewConfContent); - // Prepend the Id= field to the upd content - updContent = QString("Id=%1\n").arg(QTest::currentDataTag()) + updContent; + // Prepend the Version and Id= field to the upd content + updContent = QString("Version=5\nId=%1\n").arg(QTest::currentDataTag()) + updContent; QSharedPointer<QTemporaryFile> updFile(writeUpdFile(updContent)); @@ -573,3 +638,4 @@ void TestKConfUpdate::testScript() QCOMPARE(newConfContent, expectedNewConfContent); } + |