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);  } + | 
