aboutsummaryrefslogtreecommitdiff
path: root/autotests/kconfigtest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'autotests/kconfigtest.cpp')
-rw-r--r--autotests/kconfigtest.cpp1004
1 files changed, 501 insertions, 503 deletions
diff --git a/autotests/kconfigtest.cpp b/autotests/kconfigtest.cpp
index 1aed5151..1c0dc1cf 100644
--- a/autotests/kconfigtest.cpp
+++ b/autotests/kconfigtest.cpp
@@ -37,10 +37,10 @@
#include <unistd.h> // gethostname
#endif
-KCONFIGGROUP_DECLARE_ENUM_QOBJECT(KConfigTest,Testing)
-KCONFIGGROUP_DECLARE_FLAGS_QOBJECT(KConfigTest,Flags)
+KCONFIGGROUP_DECLARE_ENUM_QOBJECT(KConfigTest, Testing)
+KCONFIGGROUP_DECLARE_FLAGS_QOBJECT(KConfigTest, Flags)
-QTEST_MAIN( KConfigTest )
+QTEST_MAIN(KConfigTest)
#define BOOLENTRY1 true
#define BOOLENTRY2 false
@@ -78,135 +78,133 @@ QTEST_MAIN( KConfigTest )
void KConfigTest::initTestCase()
{
- // ensure we don't use files in the real config directory
- QStandardPaths::setTestModeEnabled(true);
- QString testConfigDir = QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation);
-
- // to make sure all files from a previous failed run are deleted
- cleanupTestCase();
-
-
- KConfig sc( "kconfigtest" );
-
- KConfigGroup cg(&sc, "AAA");
- cg.writeEntry("stringEntry1", STRINGENTRY1,
- KConfig::Persistent|KConfig::Global);
- cg.deleteEntry("stringEntry2", KConfig::Global);
-
- cg = KConfigGroup(&sc, "Hello");
- cg.writeEntry( "boolEntry1", BOOLENTRY1 );
- cg.writeEntry( "boolEntry2", BOOLENTRY2 );
-
- QByteArray data( UTF8BITENTRY );
- QCOMPARE( data.size(), 12 ); // the source file is in utf8
- QCOMPARE( QString::fromUtf8(data).length(), 9 );
- cg.writeEntry ("Test", data);
- cg.writeEntry( "bytearrayEntry", BYTEARRAYENTRY );
- cg.writeEntry( ESCAPEKEY, ESCAPEENTRY );
- cg.writeEntry( "emptyEntry", "");
- cg.writeEntry( "stringEntry1", STRINGENTRY1 );
- cg.writeEntry( "stringEntry2", STRINGENTRY2 );
- cg.writeEntry( "stringEntry3", STRINGENTRY3 );
- cg.writeEntry( "stringEntry4", STRINGENTRY4 );
- cg.writeEntry( "stringEntry5", STRINGENTRY5 );
- cg.writeEntry( "urlEntry1", QUrl("http://qt-project.org") );
- cg.writeEntry( "keywith=equalsign", STRINGENTRY1 );
- cg.deleteEntry( "stringEntry5" );
- cg.deleteEntry( "stringEntry6" ); // deleting a nonexistent entry
- cg.writeEntry( "byteArrayEntry1", QByteArray( STRINGENTRY1 ),
- KConfig::Global|KConfig::Persistent );
- cg.writeEntry( "doubleEntry1", DOUBLEENTRY );
- cg.writeEntry( "floatEntry1", FLOATENTRY );
-
- sc.deleteGroup("deleteMe"); // deleting a nonexistent group
-
- cg = KConfigGroup(&sc, "Complex Types");
- cg.writeEntry( "rectEntry", RECTENTRY );
- cg.writeEntry( "pointEntry", POINTENTRY );
- cg.writeEntry( "sizeEntry", SIZEENTRY );
- cg.writeEntry( "dateTimeEntry", DATETIMEENTRY );
- cg.writeEntry( "dateEntry", DATETIMEENTRY.date() );
-
- KConfigGroup ct = cg;
- cg = KConfigGroup(&ct, "Nested Group 1");
- cg.writeEntry("stringentry1", STRINGENTRY1);
-
- cg = KConfigGroup(&ct, "Nested Group 2");
- cg.writeEntry( "stringEntry2", STRINGENTRY2 );
-
- cg = KConfigGroup(&cg, "Nested Group 2.1");
- cg.writeEntry( "stringEntry3", STRINGENTRY3 );
-
- cg = KConfigGroup(&ct, "Nested Group 3");
- cg.writeEntry( "stringEntry3", STRINGENTRY3 );
-
- cg = KConfigGroup(&sc, "List Types" );
- cg.writeEntry( "listOfIntsEntry1", INTLISTENTRY1 );
- cg.writeEntry( "listOfByteArraysEntry1", BYTEARRAYLISTENTRY1 );
- cg.writeEntry( "stringListEntry", STRINGLISTENTRY );
- cg.writeEntry( "stringListEmptyEntry", STRINGLISTEMPTYENTRY );
- cg.writeEntry( "stringListJustEmptyElement", STRINGLISTJUSTEMPTYELEMENT );
- cg.writeEntry( "stringListEmptyTrailingElement", STRINGLISTEMPTYTRAINLINGELEMENT );
- cg.writeEntry( "stringListEscapeOddEntry", STRINGLISTESCAPEODDENTRY );
- cg.writeEntry( "stringListEscapeEvenEntry", STRINGLISTESCAPEEVENENTRY );
- cg.writeEntry( "stringListEscapeCommaEntry", STRINGLISTESCAPECOMMAENTRY );
- cg.writeEntry( "variantListEntry", VARIANTLISTENTRY );
-
- cg = KConfigGroup(&sc, "Path Type" );
- cg.writePathEntry( "homepath", HOMEPATH );
- cg.writePathEntry( "homepathescape", HOMEPATHESCAPE );
-
- cg = KConfigGroup(&sc, "Enum Types" );
- writeEntry( cg, "enum-10", Tens );
- writeEntry( cg, "enum-100", Hundreds );
- writeEntry( cg, "flags-bit0", Flags(bit0));
- writeEntry( cg, "flags-bit0-bit1", Flags(bit0|bit1) );
-
- cg = KConfigGroup(&sc, "ParentGroup" );
- KConfigGroup cg1(&cg, "SubGroup1" );
- cg1.writeEntry( "somestring", "somevalue" );
- cg.writeEntry( "parentgrpstring", "somevalue" );
- KConfigGroup cg2(&cg, "SubGroup2" );
- cg2.writeEntry( "substring", "somevalue" );
- KConfigGroup cg3(&cg, "SubGroup/3");
- cg3.writeEntry( "sub3string", "somevalue" );
-
- QVERIFY(sc.isDirty());
- QVERIFY(sc.sync());
- QVERIFY(!sc.isDirty());
-
- QVERIFY2(QFile::exists(testConfigDir + QStringLiteral("/kconfigtest")),
- qPrintable(testConfigDir + QStringLiteral("/kconfigtest must exist")));
- QVERIFY2(QFile::exists(testConfigDir + QStringLiteral("/kdeglobals")),
- qPrintable(testConfigDir + QStringLiteral("/kdeglobals must exist")));
-
-
- KConfig sc1("kdebugrc", KConfig::SimpleConfig);
- KConfigGroup sg0(&sc1, "0");
- sg0.writeEntry("AbortFatal", false);
- sg0.writeEntry("WarnOutput", 0);
- sg0.writeEntry("FatalOutput", 0);
- QVERIFY(sc1.sync());
-
- //Setup stuff to test KConfig::addConfigSources()
- KConfig devcfg("specificrc");
- KConfigGroup devonlygrp(&devcfg, "Specific Only Group");
- devonlygrp.writeEntry("ExistingEntry", "DevValue");
- KConfigGroup devandbasegrp(&devcfg, "Shared Group");
- devandbasegrp.writeEntry("SomeSharedEntry", "DevValue");
- devandbasegrp.writeEntry("SomeSpecificOnlyEntry", "DevValue");
- QVERIFY(devcfg.sync());
- KConfig basecfg("baserc");
- KConfigGroup basegrp(&basecfg, "Base Only Group");
- basegrp.writeEntry("ExistingEntry", "BaseValue");
- KConfigGroup baseanddevgrp(&basecfg, "Shared Group");
- baseanddevgrp.writeEntry("SomeSharedEntry", "BaseValue");
- baseanddevgrp.writeEntry("SomeBaseOnlyEntry", "BaseValue");
- QVERIFY(basecfg.sync());
-
- KConfig gecfg("groupescapetest", KConfig::SimpleConfig);
- cg = KConfigGroup(&gecfg, DOLLARGROUP);
- cg.writeEntry( "entry", "doesntmatter" );
+ // ensure we don't use files in the real config directory
+ QStandardPaths::setTestModeEnabled(true);
+ QString testConfigDir = QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation);
+
+ // to make sure all files from a previous failed run are deleted
+ cleanupTestCase();
+
+ KConfig sc("kconfigtest");
+
+ KConfigGroup cg(&sc, "AAA");
+ cg.writeEntry("stringEntry1", STRINGENTRY1,
+ KConfig::Persistent | KConfig::Global);
+ cg.deleteEntry("stringEntry2", KConfig::Global);
+
+ cg = KConfigGroup(&sc, "Hello");
+ cg.writeEntry("boolEntry1", BOOLENTRY1);
+ cg.writeEntry("boolEntry2", BOOLENTRY2);
+
+ QByteArray data(UTF8BITENTRY);
+ QCOMPARE(data.size(), 12); // the source file is in utf8
+ QCOMPARE(QString::fromUtf8(data).length(), 9);
+ cg.writeEntry("Test", data);
+ cg.writeEntry("bytearrayEntry", BYTEARRAYENTRY);
+ cg.writeEntry(ESCAPEKEY, ESCAPEENTRY);
+ cg.writeEntry("emptyEntry", "");
+ cg.writeEntry("stringEntry1", STRINGENTRY1);
+ cg.writeEntry("stringEntry2", STRINGENTRY2);
+ cg.writeEntry("stringEntry3", STRINGENTRY3);
+ cg.writeEntry("stringEntry4", STRINGENTRY4);
+ cg.writeEntry("stringEntry5", STRINGENTRY5);
+ cg.writeEntry("urlEntry1", QUrl("http://qt-project.org"));
+ cg.writeEntry("keywith=equalsign", STRINGENTRY1);
+ cg.deleteEntry("stringEntry5");
+ cg.deleteEntry("stringEntry6"); // deleting a nonexistent entry
+ cg.writeEntry("byteArrayEntry1", QByteArray(STRINGENTRY1),
+ KConfig::Global | KConfig::Persistent);
+ cg.writeEntry("doubleEntry1", DOUBLEENTRY);
+ cg.writeEntry("floatEntry1", FLOATENTRY);
+
+ sc.deleteGroup("deleteMe"); // deleting a nonexistent group
+
+ cg = KConfigGroup(&sc, "Complex Types");
+ cg.writeEntry("rectEntry", RECTENTRY);
+ cg.writeEntry("pointEntry", POINTENTRY);
+ cg.writeEntry("sizeEntry", SIZEENTRY);
+ cg.writeEntry("dateTimeEntry", DATETIMEENTRY);
+ cg.writeEntry("dateEntry", DATETIMEENTRY.date());
+
+ KConfigGroup ct = cg;
+ cg = KConfigGroup(&ct, "Nested Group 1");
+ cg.writeEntry("stringentry1", STRINGENTRY1);
+
+ cg = KConfigGroup(&ct, "Nested Group 2");
+ cg.writeEntry("stringEntry2", STRINGENTRY2);
+
+ cg = KConfigGroup(&cg, "Nested Group 2.1");
+ cg.writeEntry("stringEntry3", STRINGENTRY3);
+
+ cg = KConfigGroup(&ct, "Nested Group 3");
+ cg.writeEntry("stringEntry3", STRINGENTRY3);
+
+ cg = KConfigGroup(&sc, "List Types");
+ cg.writeEntry("listOfIntsEntry1", INTLISTENTRY1);
+ cg.writeEntry("listOfByteArraysEntry1", BYTEARRAYLISTENTRY1);
+ cg.writeEntry("stringListEntry", STRINGLISTENTRY);
+ cg.writeEntry("stringListEmptyEntry", STRINGLISTEMPTYENTRY);
+ cg.writeEntry("stringListJustEmptyElement", STRINGLISTJUSTEMPTYELEMENT);
+ cg.writeEntry("stringListEmptyTrailingElement", STRINGLISTEMPTYTRAINLINGELEMENT);
+ cg.writeEntry("stringListEscapeOddEntry", STRINGLISTESCAPEODDENTRY);
+ cg.writeEntry("stringListEscapeEvenEntry", STRINGLISTESCAPEEVENENTRY);
+ cg.writeEntry("stringListEscapeCommaEntry", STRINGLISTESCAPECOMMAENTRY);
+ cg.writeEntry("variantListEntry", VARIANTLISTENTRY);
+
+ cg = KConfigGroup(&sc, "Path Type");
+ cg.writePathEntry("homepath", HOMEPATH);
+ cg.writePathEntry("homepathescape", HOMEPATHESCAPE);
+
+ cg = KConfigGroup(&sc, "Enum Types");
+ writeEntry(cg, "enum-10", Tens);
+ writeEntry(cg, "enum-100", Hundreds);
+ writeEntry(cg, "flags-bit0", Flags(bit0));
+ writeEntry(cg, "flags-bit0-bit1", Flags(bit0 | bit1));
+
+ cg = KConfigGroup(&sc, "ParentGroup");
+ KConfigGroup cg1(&cg, "SubGroup1");
+ cg1.writeEntry("somestring", "somevalue");
+ cg.writeEntry("parentgrpstring", "somevalue");
+ KConfigGroup cg2(&cg, "SubGroup2");
+ cg2.writeEntry("substring", "somevalue");
+ KConfigGroup cg3(&cg, "SubGroup/3");
+ cg3.writeEntry("sub3string", "somevalue");
+
+ QVERIFY(sc.isDirty());
+ QVERIFY(sc.sync());
+ QVERIFY(!sc.isDirty());
+
+ QVERIFY2(QFile::exists(testConfigDir + QStringLiteral("/kconfigtest")),
+ qPrintable(testConfigDir + QStringLiteral("/kconfigtest must exist")));
+ QVERIFY2(QFile::exists(testConfigDir + QStringLiteral("/kdeglobals")),
+ qPrintable(testConfigDir + QStringLiteral("/kdeglobals must exist")));
+
+ KConfig sc1("kdebugrc", KConfig::SimpleConfig);
+ KConfigGroup sg0(&sc1, "0");
+ sg0.writeEntry("AbortFatal", false);
+ sg0.writeEntry("WarnOutput", 0);
+ sg0.writeEntry("FatalOutput", 0);
+ QVERIFY(sc1.sync());
+
+ //Setup stuff to test KConfig::addConfigSources()
+ KConfig devcfg("specificrc");
+ KConfigGroup devonlygrp(&devcfg, "Specific Only Group");
+ devonlygrp.writeEntry("ExistingEntry", "DevValue");
+ KConfigGroup devandbasegrp(&devcfg, "Shared Group");
+ devandbasegrp.writeEntry("SomeSharedEntry", "DevValue");
+ devandbasegrp.writeEntry("SomeSpecificOnlyEntry", "DevValue");
+ QVERIFY(devcfg.sync());
+ KConfig basecfg("baserc");
+ KConfigGroup basegrp(&basecfg, "Base Only Group");
+ basegrp.writeEntry("ExistingEntry", "BaseValue");
+ KConfigGroup baseanddevgrp(&basecfg, "Shared Group");
+ baseanddevgrp.writeEntry("SomeSharedEntry", "BaseValue");
+ baseanddevgrp.writeEntry("SomeBaseOnlyEntry", "BaseValue");
+ QVERIFY(basecfg.sync());
+
+ KConfig gecfg("groupescapetest", KConfig::SimpleConfig);
+ cg = KConfigGroup(&gecfg, DOLLARGROUP);
+ cg.writeEntry("entry", "doesntmatter");
}
@@ -220,24 +218,24 @@ void KConfigTest::cleanupTestCase()
QVERIFY(!localConfig.exists());
}
-
-static QList<QByteArray> readLinesFrom(const QString& path)
+static QList<QByteArray> readLinesFrom(const QString &path)
{
QFile file(path);
- const bool opened = file.open(QIODevice::ReadOnly|QIODevice::Text);
+ const bool opened = file.open(QIODevice::ReadOnly | QIODevice::Text);
Q_ASSERT(opened);
Q_UNUSED(opened);
QList<QByteArray> lines;
QByteArray line;
do {
line = file.readLine();
- if (!line.isEmpty())
+ if (!line.isEmpty()) {
lines.append(line);
- } while(!line.isEmpty());
+ }
+ } while (!line.isEmpty());
return lines;
}
-static QList<QByteArray> readLines(const char* fileName = "kconfigtest")
+static QList<QByteArray> readLines(const char *fileName = "kconfigtest")
{
const QString path = QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation) + '/' + fileName;
Q_ASSERT(!path.isEmpty());
@@ -247,23 +245,23 @@ static QList<QByteArray> readLines(const char* fileName = "kconfigtest")
// see also testDefaults, which tests reverting with a defaults (global) file available
void KConfigTest::testDirtyAfterRevert()
{
- KConfig sc( "kconfigtest_revert" );
-
- KConfigGroup cg(&sc, "Hello");
- cg.revertToDefault( "does_not_exist" );
- QVERIFY(!sc.isDirty());
- cg.writeEntry("Test", "Correct");
- QVERIFY(sc.isDirty());
- sc.sync();
- QVERIFY(!sc.isDirty());
-
- cg.revertToDefault("Test");
- QVERIFY(sc.isDirty());
- QVERIFY(sc.sync());
- QVERIFY(!sc.isDirty());
-
- cg.revertToDefault("Test");
- QVERIFY(!sc.isDirty());
+ KConfig sc("kconfigtest_revert");
+
+ KConfigGroup cg(&sc, "Hello");
+ cg.revertToDefault("does_not_exist");
+ QVERIFY(!sc.isDirty());
+ cg.writeEntry("Test", "Correct");
+ QVERIFY(sc.isDirty());
+ sc.sync();
+ QVERIFY(!sc.isDirty());
+
+ cg.revertToDefault("Test");
+ QVERIFY(sc.isDirty());
+ QVERIFY(sc.sync());
+ QVERIFY(!sc.isDirty());
+
+ cg.revertToDefault("Test");
+ QVERIFY(!sc.isDirty());
}
void KConfigTest::testRevertAllEntries()
@@ -271,21 +269,21 @@ void KConfigTest::testRevertAllEntries()
// this tests the case were we revert (delete) all entries in a file,
// leaving a blank file
{
- KConfig sc( "konfigtest2", KConfig::SimpleConfig );
- KConfigGroup cg( &sc, "Hello" );
- cg.writeEntry( "Test", "Correct" );
+ KConfig sc("konfigtest2", KConfig::SimpleConfig);
+ KConfigGroup cg(&sc, "Hello");
+ cg.writeEntry("Test", "Correct");
}
{
- KConfig sc( "konfigtest2", KConfig::SimpleConfig );
- KConfigGroup cg( &sc, "Hello" );
- QCOMPARE( cg.readEntry( "Test", "Default" ), QString("Correct") );
- cg.revertToDefault( "Test" );
+ KConfig sc("konfigtest2", KConfig::SimpleConfig);
+ KConfigGroup cg(&sc, "Hello");
+ QCOMPARE(cg.readEntry("Test", "Default"), QString("Correct"));
+ cg.revertToDefault("Test");
}
- KConfig sc( "konfigtest2", KConfig::SimpleConfig );
- KConfigGroup cg( &sc, "Hello" );
- QCOMPARE( cg.readEntry( "Test", "Default" ), QString("Default") );
+ KConfig sc("konfigtest2", KConfig::SimpleConfig);
+ KConfigGroup cg(&sc, "Hello");
+ QCOMPARE(cg.readEntry("Test", "Default"), QString("Default"));
}
void KConfigTest::testSimple()
@@ -294,49 +292,49 @@ void KConfigTest::testSimple()
const QStringList kdeglobals = QStandardPaths::locateAll(QStandardPaths::GenericConfigLocation, QLatin1String("kdeglobals"));
QVERIFY(!kdeglobals.isEmpty());
- KConfig sc2( "kconfigtest" );
- QCOMPARE(sc2.name(), QString("kconfigtest"));
-
- // make sure groupList() isn't returning something it shouldn't
- Q_FOREACH(const QString& group, sc2.groupList()) {
- QVERIFY(!group.isEmpty() && group != "<default>");
- QVERIFY(!group.contains(QChar(0x1d)));
- }
-
- KConfigGroup sc3( &sc2, "AAA");
-
- QVERIFY( sc3.hasKey( "stringEntry1" ) ); // from kdeglobals
- QVERIFY( !sc3.isEntryImmutable("stringEntry1") );
- QCOMPARE( sc3.readEntry( "stringEntry1" ), QString( STRINGENTRY1 ) );
-
- QVERIFY( !sc3.hasKey( "stringEntry2" ) );
- QCOMPARE( sc3.readEntry( "stringEntry2", QString("bla") ), QString( "bla" ) );
-
- QVERIFY( !sc3.hasDefault( "stringEntry1" ) );
-
- sc3 = KConfigGroup(&sc2, "Hello");
- QCOMPARE( sc3.readEntry( "Test", QByteArray() ), QByteArray( UTF8BITENTRY ) );
- QCOMPARE( sc3.readEntry( "bytearrayEntry", QByteArray() ), BYTEARRAYENTRY );
- QCOMPARE( sc3.readEntry( ESCAPEKEY ), QString( ESCAPEENTRY ) );
- QCOMPARE( sc3.readEntry( "Test", QString() ), QString::fromUtf8( UTF8BITENTRY ) );
- QCOMPARE( sc3.readEntry( "emptyEntry"/*, QString("Fietsbel")*/), QString("") );
- QCOMPARE( sc3.readEntry("emptyEntry", QString("Fietsbel")).isEmpty(), true );
- QCOMPARE( sc3.readEntry( "stringEntry1" ), QString( STRINGENTRY1 ) );
- QCOMPARE( sc3.readEntry( "stringEntry2" ), QString( STRINGENTRY2 ) );
- QCOMPARE( sc3.readEntry( "stringEntry3" ), QString( STRINGENTRY3 ) );
- QCOMPARE( sc3.readEntry( "stringEntry4" ), QString( STRINGENTRY4 ) );
- QVERIFY( !sc3.hasKey( "stringEntry5" ) );
- QCOMPARE( sc3.readEntry( "stringEntry5", QString("test") ), QString( "test" ) );
- QVERIFY( !sc3.hasKey( "stringEntry6" ) );
- QCOMPARE( sc3.readEntry( "stringEntry6", QString("foo") ), QString( "foo" ) );
- QCOMPARE( sc3.readEntry( "urlEntry1", QUrl() ), QUrl("http://qt-project.org") );
- QCOMPARE( sc3.readEntry( "boolEntry1", BOOLENTRY1 ), BOOLENTRY1 );
- QCOMPARE( sc3.readEntry( "boolEntry2", false ), BOOLENTRY2 );
- QCOMPARE( sc3.readEntry("keywith=equalsign", QString("wrong")), QString(STRINGENTRY1));
- QCOMPARE( sc3.readEntry( "byteArrayEntry1", QByteArray() ),
- QByteArray( STRINGENTRY1 ) );
- QCOMPARE( sc3.readEntry( "doubleEntry1", 0.0 ), DOUBLEENTRY );
- QCOMPARE( sc3.readEntry( "floatEntry1", 0.0f ), FLOATENTRY );
+ KConfig sc2("kconfigtest");
+ QCOMPARE(sc2.name(), QString("kconfigtest"));
+
+ // make sure groupList() isn't returning something it shouldn't
+ Q_FOREACH (const QString &group, sc2.groupList()) {
+ QVERIFY(!group.isEmpty() && group != "<default>");
+ QVERIFY(!group.contains(QChar(0x1d)));
+ }
+
+ KConfigGroup sc3(&sc2, "AAA");
+
+ QVERIFY(sc3.hasKey("stringEntry1")); // from kdeglobals
+ QVERIFY(!sc3.isEntryImmutable("stringEntry1"));
+ QCOMPARE(sc3.readEntry("stringEntry1"), QString(STRINGENTRY1));
+
+ QVERIFY(!sc3.hasKey("stringEntry2"));
+ QCOMPARE(sc3.readEntry("stringEntry2", QString("bla")), QString("bla"));
+
+ QVERIFY(!sc3.hasDefault("stringEntry1"));
+
+ sc3 = KConfigGroup(&sc2, "Hello");
+ QCOMPARE(sc3.readEntry("Test", QByteArray()), QByteArray(UTF8BITENTRY));
+ QCOMPARE(sc3.readEntry("bytearrayEntry", QByteArray()), BYTEARRAYENTRY);
+ QCOMPARE(sc3.readEntry(ESCAPEKEY), QString(ESCAPEENTRY));
+ QCOMPARE(sc3.readEntry("Test", QString()), QString::fromUtf8(UTF8BITENTRY));
+ QCOMPARE(sc3.readEntry("emptyEntry"/*, QString("Fietsbel")*/), QString(""));
+ QCOMPARE(sc3.readEntry("emptyEntry", QString("Fietsbel")).isEmpty(), true);
+ QCOMPARE(sc3.readEntry("stringEntry1"), QString(STRINGENTRY1));
+ QCOMPARE(sc3.readEntry("stringEntry2"), QString(STRINGENTRY2));
+ QCOMPARE(sc3.readEntry("stringEntry3"), QString(STRINGENTRY3));
+ QCOMPARE(sc3.readEntry("stringEntry4"), QString(STRINGENTRY4));
+ QVERIFY(!sc3.hasKey("stringEntry5"));
+ QCOMPARE(sc3.readEntry("stringEntry5", QString("test")), QString("test"));
+ QVERIFY(!sc3.hasKey("stringEntry6"));
+ QCOMPARE(sc3.readEntry("stringEntry6", QString("foo")), QString("foo"));
+ QCOMPARE(sc3.readEntry("urlEntry1", QUrl()), QUrl("http://qt-project.org"));
+ QCOMPARE(sc3.readEntry("boolEntry1", BOOLENTRY1), BOOLENTRY1);
+ QCOMPARE(sc3.readEntry("boolEntry2", false), BOOLENTRY2);
+ QCOMPARE(sc3.readEntry("keywith=equalsign", QString("wrong")), QString(STRINGENTRY1));
+ QCOMPARE(sc3.readEntry("byteArrayEntry1", QByteArray()),
+ QByteArray(STRINGENTRY1));
+ QCOMPARE(sc3.readEntry("doubleEntry1", 0.0), DOUBLEENTRY);
+ QCOMPARE(sc3.readEntry("floatEntry1", 0.0f), FLOATENTRY);
}
void KConfigTest::testDefaults()
@@ -396,14 +394,14 @@ void KConfigTest::testLocale()
KConfigGroup group = config.group("Hello");
group.writeEntry("stringEntry1", Untranslated);
config.setLocale("fr");
- group.writeEntry("stringEntry1", Translated, KConfig::Localized|KConfig::Persistent);
+ group.writeEntry("stringEntry1", Translated, KConfig::Localized | KConfig::Persistent);
QVERIFY(config.sync());
QCOMPARE(group.readEntry("stringEntry1", QString()), Translated);
QCOMPARE(group.readEntryUntranslated("stringEntry1"), Untranslated);
config.setLocale("C"); // strings written in the "C" locale are written as nonlocalized
- group.writeEntry("stringEntry1", Untranslated, KConfig::Localized|KConfig::Persistent);
+ group.writeEntry("stringEntry1", Untranslated, KConfig::Localized | KConfig::Persistent);
QVERIFY(config.sync());
QCOMPARE(group.readEntry("stringEntry1", QString()), Untranslated);
@@ -413,7 +411,7 @@ void KConfigTest::testEncoding()
{
QString groupstr = QString::fromUtf8("UTF-8:\xc3\xb6l");
- KConfig c( "kconfigtestencodings" );
+ KConfig c("kconfigtestencodings");
KConfigGroup cg(&c, groupstr);
cg.writeEntry("key", "value");
QVERIFY(c.sync());
@@ -422,7 +420,7 @@ void KConfigTest::testEncoding()
QCOMPARE(lines.count(), 2);
QCOMPARE(lines.first(), QByteArray("[UTF-8:\xc3\xb6l]\n"));
- KConfig c2( "kconfigtestencodings" );
+ KConfig c2("kconfigtestencodings");
KConfigGroup cg2(&c2, groupstr);
QVERIFY(cg2.readEntry("key") == QByteArray("value"));
@@ -431,137 +429,137 @@ void KConfigTest::testEncoding()
void KConfigTest::testLists()
{
- KConfig sc2( "kconfigtest" );
- KConfigGroup sc3(&sc2, "List Types");
+ KConfig sc2("kconfigtest");
+ KConfigGroup sc3(&sc2, "List Types");
- QCOMPARE( sc3.readEntry( QString("stringListEntry"), QStringList()),
- STRINGLISTENTRY );
+ QCOMPARE(sc3.readEntry(QString("stringListEntry"), QStringList()),
+ STRINGLISTENTRY);
- QCOMPARE( sc3.readEntry( QString("stringListEmptyEntry"), QStringList("wrong") ),
- STRINGLISTEMPTYENTRY );
+ QCOMPARE(sc3.readEntry(QString("stringListEmptyEntry"), QStringList("wrong")),
+ STRINGLISTEMPTYENTRY);
- QCOMPARE( sc3.readEntry( QString("stringListJustEmptyElement"), QStringList() ),
- STRINGLISTJUSTEMPTYELEMENT );
+ QCOMPARE(sc3.readEntry(QString("stringListJustEmptyElement"), QStringList()),
+ STRINGLISTJUSTEMPTYELEMENT);
- QCOMPARE( sc3.readEntry( QString("stringListEmptyTrailingElement"), QStringList() ),
- STRINGLISTEMPTYTRAINLINGELEMENT );
+ QCOMPARE(sc3.readEntry(QString("stringListEmptyTrailingElement"), QStringList()),
+ STRINGLISTEMPTYTRAINLINGELEMENT);
- QCOMPARE( sc3.readEntry( QString("stringListEscapeOddEntry"), QStringList()),
- STRINGLISTESCAPEODDENTRY );
+ QCOMPARE(sc3.readEntry(QString("stringListEscapeOddEntry"), QStringList()),
+ STRINGLISTESCAPEODDENTRY);
- QCOMPARE( sc3.readEntry( QString("stringListEscapeEvenEntry"), QStringList()),
- STRINGLISTESCAPEEVENENTRY );
+ QCOMPARE(sc3.readEntry(QString("stringListEscapeEvenEntry"), QStringList()),
+ STRINGLISTESCAPEEVENENTRY);
- QCOMPARE( sc3.readEntry( QString("stringListEscapeCommaEntry"), QStringList()),
- STRINGLISTESCAPECOMMAENTRY );
+ QCOMPARE(sc3.readEntry(QString("stringListEscapeCommaEntry"), QStringList()),
+ STRINGLISTESCAPECOMMAENTRY);
- QCOMPARE( sc3.readEntry( "listOfIntsEntry1" ), QString::fromLatin1( "1,2,3,4" ) );
- QList<int> expectedIntList = INTLISTENTRY1;
- QVERIFY( sc3.readEntry( "listOfIntsEntry1", QList<int>() ) == expectedIntList );
+ QCOMPARE(sc3.readEntry("listOfIntsEntry1"), QString::fromLatin1("1,2,3,4"));
+ QList<int> expectedIntList = INTLISTENTRY1;
+ QVERIFY(sc3.readEntry("listOfIntsEntry1", QList<int>()) == expectedIntList);
- QCOMPARE( QVariant(sc3.readEntry( "variantListEntry", VARIANTLISTENTRY )).toStringList(),
- QVariant(VARIANTLISTENTRY).toStringList() );
+ QCOMPARE(QVariant(sc3.readEntry("variantListEntry", VARIANTLISTENTRY)).toStringList(),
+ QVariant(VARIANTLISTENTRY).toStringList());
- QCOMPARE( sc3.readEntry( "listOfByteArraysEntry1", QList<QByteArray>()), BYTEARRAYLISTENTRY1 );
+ QCOMPARE(sc3.readEntry("listOfByteArraysEntry1", QList<QByteArray>()), BYTEARRAYLISTENTRY1);
}
void KConfigTest::testPath()
{
- KConfig sc2( "kconfigtest" );
- KConfigGroup sc3(&sc2, "Path Type");
- QCOMPARE( sc3.readPathEntry( "homepath", QString() ), HOMEPATH );
- QCOMPARE( sc3.readPathEntry( "homepathescape", QString() ), HOMEPATHESCAPE );
- QCOMPARE( sc3.entryMap()["homepath"], HOMEPATH );
-
- {
- QFile file(QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation) + "/pathtest");
- file.open(QIODevice::WriteOnly|QIODevice::Text);
- QTextStream out(&file);
- out.setCodec("UTF-8");
- out << "[Test Group]" << endl
- << "homePath=$HOME/foo" << endl
- << "homePath2=file://$HOME/foo" << endl
- << "withBraces[$e]=file://${HOME}/foo" << endl
- << "URL[$e]=file://${HOME}/foo" << endl
- << "hostname[$e]=$(hostname)" << endl
- << "noeol=foo"; // no EOL
- }
- KConfig cf2("pathtest");
- KConfigGroup group = cf2.group("Test Group");
- QVERIFY(group.hasKey("homePath"));
- QCOMPARE(group.readPathEntry("homePath", QString()), HOMEPATH);
- QVERIFY(group.hasKey("homePath2"));
- QCOMPARE(group.readPathEntry("homePath2", QString()), QString("file://" + HOMEPATH) );
- QVERIFY(group.hasKey("withBraces"));
- QCOMPARE(group.readPathEntry("withBraces", QString()), QString("file://" + HOMEPATH) );
- QVERIFY(group.hasKey("URL"));
- QCOMPARE(group.readEntry("URL", QString()), QString("file://" + HOMEPATH) );
+ KConfig sc2("kconfigtest");
+ KConfigGroup sc3(&sc2, "Path Type");
+ QCOMPARE(sc3.readPathEntry("homepath", QString()), HOMEPATH);
+ QCOMPARE(sc3.readPathEntry("homepathescape", QString()), HOMEPATHESCAPE);
+ QCOMPARE(sc3.entryMap()["homepath"], HOMEPATH);
+
+ {
+ QFile file(QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation) + "/pathtest");
+ file.open(QIODevice::WriteOnly | QIODevice::Text);
+ QTextStream out(&file);
+ out.setCodec("UTF-8");
+ out << "[Test Group]" << endl
+ << "homePath=$HOME/foo" << endl
+ << "homePath2=file://$HOME/foo" << endl
+ << "withBraces[$e]=file://${HOME}/foo" << endl
+ << "URL[$e]=file://${HOME}/foo" << endl
+ << "hostname[$e]=$(hostname)" << endl
+ << "noeol=foo"; // no EOL
+ }
+ KConfig cf2("pathtest");
+ KConfigGroup group = cf2.group("Test Group");
+ QVERIFY(group.hasKey("homePath"));
+ QCOMPARE(group.readPathEntry("homePath", QString()), HOMEPATH);
+ QVERIFY(group.hasKey("homePath2"));
+ QCOMPARE(group.readPathEntry("homePath2", QString()), QString("file://" + HOMEPATH));
+ QVERIFY(group.hasKey("withBraces"));
+ QCOMPARE(group.readPathEntry("withBraces", QString()), QString("file://" + HOMEPATH));
+ QVERIFY(group.hasKey("URL"));
+ QCOMPARE(group.readEntry("URL", QString()), QString("file://" + HOMEPATH));
#if !defined(Q_OS_WIN32) && !defined(Q_OS_MAC)
- // I don't know if this will work on windows
- // This test hangs on OS X
- QVERIFY(group.hasKey("hostname"));
- char hostname[256];
- QVERIFY(::gethostname(hostname, sizeof(hostname)) == 0);
- QCOMPARE(group.readEntry("hostname", QString()), QString::fromLatin1(hostname));
+ // I don't know if this will work on windows
+ // This test hangs on OS X
+ QVERIFY(group.hasKey("hostname"));
+ char hostname[256];
+ QVERIFY(::gethostname(hostname, sizeof(hostname)) == 0);
+ QCOMPARE(group.readEntry("hostname", QString()), QString::fromLatin1(hostname));
#endif
- QVERIFY(group.hasKey("noeol"));
- QCOMPARE(group.readEntry("noeol", QString()), QString("foo"));
+ QVERIFY(group.hasKey("noeol"));
+ QCOMPARE(group.readEntry("noeol", QString()), QString("foo"));
}
void KConfigTest::testPersistenceOfExpandFlagForPath()
{
- // This test checks that a path entry starting with $HOME is still flagged
- // with the expand flag after the config was altered without rewriting the
- // path entry.
-
- // 1st step: Open the config, add a new dummy entry and then sync the config
- // back to the storage.
- {
- KConfig sc2( "kconfigtest" );
- KConfigGroup sc3(&sc2, "Path Type");
- sc3.writeEntry( "dummy", "dummy" );
- QVERIFY(sc2.sync());
- }
-
- // 2nd step: Call testPath() again. Rewriting the config must not break
- // the testPath() test.
- testPath();
+ // This test checks that a path entry starting with $HOME is still flagged
+ // with the expand flag after the config was altered without rewriting the
+ // path entry.
+
+ // 1st step: Open the config, add a new dummy entry and then sync the config
+ // back to the storage.
+ {
+ KConfig sc2("kconfigtest");
+ KConfigGroup sc3(&sc2, "Path Type");
+ sc3.writeEntry("dummy", "dummy");
+ QVERIFY(sc2.sync());
+ }
+
+ // 2nd step: Call testPath() again. Rewriting the config must not break
+ // the testPath() test.
+ testPath();
}
void KConfigTest::testComplex()
{
- KConfig sc2( "kconfigtest" );
- KConfigGroup sc3(&sc2, "Complex Types");
-
- QCOMPARE( sc3.readEntry( "pointEntry", QPoint() ), POINTENTRY );
- QCOMPARE( sc3.readEntry( "sizeEntry", SIZEENTRY ), SIZEENTRY);
- QCOMPARE( sc3.readEntry( "rectEntry", QRect(1,2,3,4) ), RECTENTRY );
- QCOMPARE( sc3.readEntry( "dateTimeEntry", QDateTime() ).toString(Qt::ISODate),
- DATETIMEENTRY.toString(Qt::ISODate) );
- QCOMPARE( sc3.readEntry( "dateEntry", QDate() ).toString(Qt::ISODate),
- DATETIMEENTRY.date().toString(Qt::ISODate) );
- QCOMPARE( sc3.readEntry( "dateTimeEntry", QDate() ), DATETIMEENTRY.date() );
+ KConfig sc2("kconfigtest");
+ KConfigGroup sc3(&sc2, "Complex Types");
+
+ QCOMPARE(sc3.readEntry("pointEntry", QPoint()), POINTENTRY);
+ QCOMPARE(sc3.readEntry("sizeEntry", SIZEENTRY), SIZEENTRY);
+ QCOMPARE(sc3.readEntry("rectEntry", QRect(1, 2, 3, 4)), RECTENTRY);
+ QCOMPARE(sc3.readEntry("dateTimeEntry", QDateTime()).toString(Qt::ISODate),
+ DATETIMEENTRY.toString(Qt::ISODate));
+ QCOMPARE(sc3.readEntry("dateEntry", QDate()).toString(Qt::ISODate),
+ DATETIMEENTRY.date().toString(Qt::ISODate));
+ QCOMPARE(sc3.readEntry("dateTimeEntry", QDate()), DATETIMEENTRY.date());
}
void KConfigTest::testEnums()
{
- KConfig sc("kconfigtest");
- KConfigGroup sc3(&sc, "Enum Types" );
+ KConfig sc("kconfigtest");
+ KConfigGroup sc3(&sc, "Enum Types");
- QCOMPARE( sc3.readEntry( "enum-10" ), QString("Tens"));
- QVERIFY( readEntry( sc3, "enum-100", Ones) != Ones);
- QVERIFY( readEntry( sc3, "enum-100", Ones) != Tens);
+ QCOMPARE(sc3.readEntry("enum-10"), QString("Tens"));
+ QVERIFY(readEntry(sc3, "enum-100", Ones) != Ones);
+ QVERIFY(readEntry(sc3, "enum-100", Ones) != Tens);
- QCOMPARE( sc3.readEntry( "flags-bit0" ), QString("bit0"));
- QVERIFY( readEntry( sc3, "flags-bit0", Flags() ) == bit0 );
+ QCOMPARE(sc3.readEntry("flags-bit0"), QString("bit0"));
+ QVERIFY(readEntry(sc3, "flags-bit0", Flags()) == bit0);
- int eid = staticMetaObject.indexOfEnumerator( "Flags" );
- QVERIFY( eid != -1 );
- QMetaEnum me = staticMetaObject.enumerator( eid );
- Flags bitfield = bit0|bit1;
+ int eid = staticMetaObject.indexOfEnumerator("Flags");
+ QVERIFY(eid != -1);
+ QMetaEnum me = staticMetaObject.enumerator(eid);
+ Flags bitfield = bit0 | bit1;
- QCOMPARE( sc3.readEntry( "flags-bit0-bit1" ), QString( me.valueToKeys(bitfield) ) );
- QVERIFY( readEntry( sc3, "flags-bit0-bit1", Flags() ) == bitfield );
+ QCOMPARE(sc3.readEntry("flags-bit0-bit1"), QString(me.valueToKeys(bitfield)));
+ QVERIFY(readEntry(sc3, "flags-bit0-bit1", Flags()) == bitfield);
}
void KConfigTest::testEntryMap()
@@ -580,8 +578,8 @@ void KConfigTest::testEntryMap()
QCOMPARE(entryMap.value("bytearrayEntry"), QString::fromUtf8(BYTEARRAYENTRY));
QCOMPARE(entryMap.value("emptyEntry"), QString());
QVERIFY(entryMap.contains("emptyEntry"));
- QCOMPARE(entryMap.value("boolEntry1"), QString(BOOLENTRY1?"true":"false"));
- QCOMPARE(entryMap.value("boolEntry2"), QString(BOOLENTRY2?"true":"false"));
+ QCOMPARE(entryMap.value("boolEntry1"), QString(BOOLENTRY1 ? "true" : "false"));
+ QCOMPARE(entryMap.value("boolEntry2"), QString(BOOLENTRY2 ? "true" : "false"));
QCOMPARE(entryMap.value("keywith=equalsign"), QString(STRINGENTRY1));
QCOMPARE(entryMap.value("byteArrayEntry1"), QString(STRINGENTRY1));
QCOMPARE(entryMap.value("doubleEntry1"), QString::number(DOUBLEENTRY, 'g', 15));
@@ -590,74 +588,74 @@ void KConfigTest::testEntryMap()
void KConfigTest::testInvalid()
{
- KConfig sc( "kconfigtest" );
-
- // all of these should print a message to the kdebug.dbg file
- KConfigGroup sc3(&sc, "Invalid Types" );
- sc3.writeEntry( "badList", VARIANTLISTENTRY2 );
-
- QList<int> list;
-
- // 1 element list
- list << 1;
- sc3.writeEntry( QString("badList"), list);
-
- QVERIFY( sc3.readEntry( "badList", QPoint() ) == QPoint() );
- QVERIFY( sc3.readEntry( "badList", QRect() ) == QRect() );
- QVERIFY( sc3.readEntry( "badList", QSize() ) == QSize() );
- QVERIFY( sc3.readEntry( "badList", QDate() ) == QDate() );
- QVERIFY( sc3.readEntry( "badList", QDateTime() ) == QDateTime() );
-
- // 2 element list
- list << 2;
- sc3.writeEntry( "badList", list);
-
- QVERIFY( sc3.readEntry( "badList", QRect() ) == QRect() );
- QVERIFY( sc3.readEntry( "badList", QDate() ) == QDate() );
- QVERIFY( sc3.readEntry( "badList", QDateTime() ) == QDateTime() );
-
- // 3 element list
- list << 303;
- sc3.writeEntry( "badList", list);
-
- QVERIFY( sc3.readEntry( "badList", QPoint() ) == QPoint() );
- QVERIFY( sc3.readEntry( "badList", QRect() ) == QRect() );
- QVERIFY( sc3.readEntry( "badList", QSize() ) == QSize() );
- QVERIFY( sc3.readEntry( "badList", QDate() ) == QDate() ); // out of bounds
- QVERIFY( sc3.readEntry( "badList", QDateTime() ) == QDateTime() );
-
- // 4 element list
- list << 4;
- sc3.writeEntry( "badList", list );
-
- QVERIFY( sc3.readEntry( "badList", QPoint() ) == QPoint() );
- QVERIFY( sc3.readEntry( "badList", QSize() ) == QSize() );
- QVERIFY( sc3.readEntry( "badList", QDate() ) == QDate() );
- QVERIFY( sc3.readEntry( "badList", QDateTime() ) == QDateTime() );
-
- // 5 element list
- list[2] = 3;
- list << 5;
- sc3.writeEntry( "badList", list);
-
- QVERIFY( sc3.readEntry( "badList", QPoint() ) == QPoint() );
- QVERIFY( sc3.readEntry( "badList", QRect() ) == QRect() );
- QVERIFY( sc3.readEntry( "badList", QSize() ) == QSize() );
- QVERIFY( sc3.readEntry( "badList", QDate() ) == QDate() );
- QVERIFY( sc3.readEntry( "badList", QDateTime() ) == QDateTime() );
-
- // 6 element list
- list << 6;
- sc3.writeEntry( "badList", list);
-
- QVERIFY( sc3.readEntry( "badList", QPoint() ) == QPoint() );
- QVERIFY( sc3.readEntry( "badList", QRect() ) == QRect() );
- QVERIFY( sc3.readEntry( "badList", QSize() ) == QSize() );
+ KConfig sc("kconfigtest");
+
+ // all of these should print a message to the kdebug.dbg file
+ KConfigGroup sc3(&sc, "Invalid Types");
+ sc3.writeEntry("badList", VARIANTLISTENTRY2);
+
+ QList<int> list;
+
+ // 1 element list
+ list << 1;
+ sc3.writeEntry(QString("badList"), list);
+
+ QVERIFY(sc3.readEntry("badList", QPoint()) == QPoint());
+ QVERIFY(sc3.readEntry("badList", QRect()) == QRect());
+ QVERIFY(sc3.readEntry("badList", QSize()) == QSize());
+ QVERIFY(sc3.readEntry("badList", QDate()) == QDate());
+ QVERIFY(sc3.readEntry("badList", QDateTime()) == QDateTime());
+
+ // 2 element list
+ list << 2;
+ sc3.writeEntry("badList", list);
+
+ QVERIFY(sc3.readEntry("badList", QRect()) == QRect());
+ QVERIFY(sc3.readEntry("badList", QDate()) == QDate());
+ QVERIFY(sc3.readEntry("badList", QDateTime()) == QDateTime());
+
+ // 3 element list
+ list << 303;
+ sc3.writeEntry("badList", list);
+
+ QVERIFY(sc3.readEntry("badList", QPoint()) == QPoint());
+ QVERIFY(sc3.readEntry("badList", QRect()) == QRect());
+ QVERIFY(sc3.readEntry("badList", QSize()) == QSize());
+ QVERIFY(sc3.readEntry("badList", QDate()) == QDate()); // out of bounds
+ QVERIFY(sc3.readEntry("badList", QDateTime()) == QDateTime());
+
+ // 4 element list
+ list << 4;
+ sc3.writeEntry("badList", list);
+
+ QVERIFY(sc3.readEntry("badList", QPoint()) == QPoint());
+ QVERIFY(sc3.readEntry("badList", QSize()) == QSize());
+ QVERIFY(sc3.readEntry("badList", QDate()) == QDate());
+ QVERIFY(sc3.readEntry("badList", QDateTime()) == QDateTime());
+
+ // 5 element list
+ list[2] = 3;
+ list << 5;
+ sc3.writeEntry("badList", list);
+
+ QVERIFY(sc3.readEntry("badList", QPoint()) == QPoint());
+ QVERIFY(sc3.readEntry("badList", QRect()) == QRect());
+ QVERIFY(sc3.readEntry("badList", QSize()) == QSize());
+ QVERIFY(sc3.readEntry("badList", QDate()) == QDate());
+ QVERIFY(sc3.readEntry("badList", QDateTime()) == QDateTime());
+
+ // 6 element list
+ list << 6;
+ sc3.writeEntry("badList", list);
+
+ QVERIFY(sc3.readEntry("badList", QPoint()) == QPoint());
+ QVERIFY(sc3.readEntry("badList", QRect()) == QRect());
+ QVERIFY(sc3.readEntry("badList", QSize()) == QSize());
}
void KConfigTest::testChangeGroup()
{
- KConfig sc( "kconfigtest" );
+ KConfig sc("kconfigtest");
KConfigGroup sc3(&sc, "Hello");
QCOMPARE(sc3.name(), QString("Hello"));
KConfigGroup newGroup(sc3);
@@ -687,7 +685,7 @@ void KConfigTest::testChangeGroup()
// Simple test for deleteEntry
void KConfigTest::testDeleteEntry()
{
- const char* configFile = "kconfigdeletetest";
+ const char *configFile = "kconfigdeletetest";
{
KConfig conf(configFile);
conf.group("Hello").writeEntry("DelKey", "ToBeDeleted");
@@ -700,80 +698,82 @@ void KConfigTest::testDeleteEntry()
KConfigGroup group(&sc, "Hello");
group.deleteEntry("DelKey");
- QCOMPARE( group.readEntry("DelKey", QString("Fietsbel")), QString("Fietsbel") );
+ QCOMPARE(group.readEntry("DelKey", QString("Fietsbel")), QString("Fietsbel"));
QVERIFY(group.sync());
Q_ASSERT(!readLines(configFile).contains("DelKey=ToBeDeleted\n"));
- QCOMPARE( group.readEntry("DelKey", QString("still deleted")), QString("still deleted") );
+ QCOMPARE(group.readEntry("DelKey", QString("still deleted")), QString("still deleted"));
}
void KConfigTest::testDelete()
{
- KConfig sc( "kconfigtest" );
-
- KConfigGroup ct(&sc, "Complex Types");
-
- // First delete a nested group
- KConfigGroup delgr(&ct, "Nested Group 3");
- QVERIFY(delgr.exists());
- QVERIFY(ct.hasGroup("Nested Group 3"));
- delgr.deleteGroup();
- QVERIFY(!delgr.exists());
- QVERIFY(!ct.hasGroup("Nested Group 3"));
- QVERIFY(ct.groupList().contains("Nested Group 3"));
-
- KConfigGroup ng(&ct, "Nested Group 2");
- QVERIFY(sc.hasGroup("Complex Types"));
- QVERIFY(!sc.hasGroup("Does not exist"));
- sc.deleteGroup("Complex Types");
- QCOMPARE(sc.group("Complex Types").keyList().count(), 0);
- QVERIFY(!sc.hasGroup("Complex Types")); // #192266
- QVERIFY(!sc.group("Complex Types").exists());
- QVERIFY(!ct.hasGroup("Nested Group 1"));
-
- QCOMPARE(ct.group("Nested Group 1").keyList().count(), 0);
- QCOMPARE(ct.group("Nested Group 2").keyList().count(), 0);
- QCOMPARE(ng.group("Nested Group 2.1").keyList().count(), 0);
-
- KConfigGroup cg(&sc , "AAA" );
- cg.deleteGroup();
- QVERIFY( sc.entryMap("Complex Types").isEmpty() );
- QVERIFY( sc.entryMap("AAA").isEmpty() );
- QVERIFY( !sc.entryMap("Hello").isEmpty() ); //not deleted group
- QVERIFY( sc.entryMap("FooBar").isEmpty() ); //inexistant group
-
- QVERIFY(cg.sync());
- // Check what happens on disk
- const QList<QByteArray> lines = readLines();
- //qDebug() << lines;
- QVERIFY(!lines.contains("[Complex Types]\n"));
- QVERIFY(!lines.contains("[Complex Types][Nested Group 1]\n"));
- QVERIFY(!lines.contains("[Complex Types][Nested Group 2]\n"));
- QVERIFY(!lines.contains("[Complex Types][Nested Group 2.1]\n"));
- QVERIFY(!lines.contains("[AAA]\n"));
- QVERIFY(lines.contains("[Hello]\n")); // a group that was not deleted
-
- // test for entries that are marked as deleted when there is no default
- KConfig cf("kconfigtest", KConfig::SimpleConfig); // make sure there are no defaults
- cg = cf.group("Portable Devices");
- cg.writeEntry("devices|manual|(null)", "whatever");
- cg.writeEntry("devices|manual|/mnt/ipod", "/mnt/ipod");
- QVERIFY(cf.sync());
-
- int count=0;
- Q_FOREACH(const QByteArray& item, readLines())
- if (item.startsWith("devices|")) // krazy:exclude=strings
- count++;
- QCOMPARE(count, 2);
- cg.deleteEntry("devices|manual|/mnt/ipod");
- QVERIFY(cf.sync());
- Q_FOREACH(const QByteArray& item, readLines())
- QVERIFY(!item.contains("ipod"));
+ KConfig sc("kconfigtest");
+
+ KConfigGroup ct(&sc, "Complex Types");
+
+ // First delete a nested group
+ KConfigGroup delgr(&ct, "Nested Group 3");
+ QVERIFY(delgr.exists());
+ QVERIFY(ct.hasGroup("Nested Group 3"));
+ delgr.deleteGroup();
+ QVERIFY(!delgr.exists());
+ QVERIFY(!ct.hasGroup("Nested Group 3"));
+ QVERIFY(ct.groupList().contains("Nested Group 3"));
+
+ KConfigGroup ng(&ct, "Nested Group 2");
+ QVERIFY(sc.hasGroup("Complex Types"));
+ QVERIFY(!sc.hasGroup("Does not exist"));
+ sc.deleteGroup("Complex Types");
+ QCOMPARE(sc.group("Complex Types").keyList().count(), 0);
+ QVERIFY(!sc.hasGroup("Complex Types")); // #192266
+ QVERIFY(!sc.group("Complex Types").exists());
+ QVERIFY(!ct.hasGroup("Nested Group 1"));
+
+ QCOMPARE(ct.group("Nested Group 1").keyList().count(), 0);
+ QCOMPARE(ct.group("Nested Group 2").keyList().count(), 0);
+ QCOMPARE(ng.group("Nested Group 2.1").keyList().count(), 0);
+
+ KConfigGroup cg(&sc, "AAA");
+ cg.deleteGroup();
+ QVERIFY(sc.entryMap("Complex Types").isEmpty());
+ QVERIFY(sc.entryMap("AAA").isEmpty());
+ QVERIFY(!sc.entryMap("Hello").isEmpty()); //not deleted group
+ QVERIFY(sc.entryMap("FooBar").isEmpty()); //inexistant group
+
+ QVERIFY(cg.sync());
+ // Check what happens on disk
+ const QList<QByteArray> lines = readLines();
+ //qDebug() << lines;
+ QVERIFY(!lines.contains("[Complex Types]\n"));
+ QVERIFY(!lines.contains("[Complex Types][Nested Group 1]\n"));
+ QVERIFY(!lines.contains("[Complex Types][Nested Group 2]\n"));
+ QVERIFY(!lines.contains("[Complex Types][Nested Group 2.1]\n"));
+ QVERIFY(!lines.contains("[AAA]\n"));
+ QVERIFY(lines.contains("[Hello]\n")); // a group that was not deleted
+
+ // test for entries that are marked as deleted when there is no default
+ KConfig cf("kconfigtest", KConfig::SimpleConfig); // make sure there are no defaults
+ cg = cf.group("Portable Devices");
+ cg.writeEntry("devices|manual|(null)", "whatever");
+ cg.writeEntry("devices|manual|/mnt/ipod", "/mnt/ipod");
+ QVERIFY(cf.sync());
+
+ int count = 0;
+ Q_FOREACH (const QByteArray &item, readLines())
+ if (item.startsWith("devices|")) { // krazy:exclude=strings
+ count++;
+ }
+ QCOMPARE(count, 2);
+ cg.deleteEntry("devices|manual|/mnt/ipod");
+ QVERIFY(cf.sync());
+ Q_FOREACH (const QByteArray &item, readLines()) {
+ QVERIFY(!item.contains("ipod"));
+ }
}
void KConfigTest::testDefaultGroup()
{
- KConfig sc( "kconfigtest" );
+ KConfig sc("kconfigtest");
KConfigGroup defaultGroup(&sc, "<default>");
QCOMPARE(defaultGroup.name(), QString("<default>"));
QVERIFY(!defaultGroup.exists());
@@ -804,7 +804,7 @@ void KConfigTest::testDefaultGroup()
QCOMPARE(lines.first(), QByteArray("TestKey=defaultGroup\n"));
// Now that the group exists make sure it isn't returned from groupList()
- Q_FOREACH(const QString& group, sc.groupList()) {
+ Q_FOREACH (const QString &group, sc.groupList()) {
QVERIFY(!group.isEmpty() && group != "<default>");
}
@@ -818,7 +818,7 @@ void KConfigTest::testDefaultGroup()
void KConfigTest::testEmptyGroup()
{
- KConfig sc( "kconfigtest" );
+ KConfig sc("kconfigtest");
KConfigGroup emptyGroup(&sc, "");
QCOMPARE(emptyGroup.name(), QString("<default>")); // confusing, heh?
QVERIFY(!emptyGroup.exists());
@@ -849,7 +849,7 @@ void KConfigTest::testEmptyGroup()
QCOMPARE(lines.first(), QByteArray("TestKey=emptyGroup\n"));
// Now that the group exists make sure it isn't returned from groupList()
- Q_FOREACH(const QString& group, sc.groupList()) {
+ Q_FOREACH (const QString &group, sc.groupList()) {
QVERIFY(!group.isEmpty() && group != "<default>");
}
emptyGroup.deleteGroup();
@@ -872,7 +872,7 @@ void KConfigTest::testCascadingWithLocale()
const QString globalConfigDir = globalDir.path();
QVERIFY(QDir().mkpath(globalConfigDir));
QFile global(globalConfigDir + "/foo.desktop");
- QVERIFY(global.open(QIODevice::WriteOnly|QIODevice::Text));
+ QVERIFY(global.open(QIODevice::WriteOnly | QIODevice::Text));
QTextStream globalOut(&global);
globalOut << "[Group]" << endl
<< "FromGlobal=true" << endl
@@ -886,7 +886,7 @@ void KConfigTest::testCascadingWithLocale()
const QString middleConfigDir = middleDir.path();
QVERIFY(QDir().mkpath(middleConfigDir));
QFile local(middleConfigDir + "/foo.desktop");
- QVERIFY(local.open(QIODevice::WriteOnly|QIODevice::Text));
+ QVERIFY(local.open(QIODevice::WriteOnly | QIODevice::Text));
QTextStream out(&local);
out << "[Group]" << endl
<< "FromLocal=true" << endl
@@ -917,18 +917,19 @@ void KConfigTest::testMerge()
cg.writeEntry("entry", " random entry");
cg.writeEntry("another entry", "blah blah blah");
- { // simulate writing by another process
+ {
+ // simulate writing by another process
QFile file(QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation) + "/mergetest");
- file.open(QIODevice::WriteOnly|QIODevice::Text);
+ file.open(QIODevice::WriteOnly | QIODevice::Text);
QTextStream out(&file);
out.setCodec("UTF-8");
out << "[Merged Group]" << endl
- << "entry1=Testing" << endl
- << "entry2=More Testing" << endl
- << "[some group]" << endl
- << "entry[fr]=French" << endl
- << "entry[es]=Spanish" << endl
- << "entry[de]=German" << endl;
+ << "entry1=Testing" << endl
+ << "entry2=More Testing" << endl
+ << "[some group]" << endl
+ << "entry[fr]=French" << endl
+ << "entry[es]=Spanish" << endl
+ << "entry[de]=German" << endl;
}
QVERIFY(config.sync());
@@ -936,18 +937,18 @@ void KConfigTest::testMerge()
QList<QByteArray> lines;
// this is what the file should look like
lines << "[Merged Group]\n"
- << "entry1=Testing\n"
- << "entry2=More Testing\n"
- << "\n"
- << "[some group]\n"
- << "another entry=blah blah blah\n"
- << "entry=\\srandom entry\n"
- << "entry[de]=German\n"
- << "entry[es]=Spanish\n"
- << "entry[fr]=French\n";
+ << "entry1=Testing\n"
+ << "entry2=More Testing\n"
+ << "\n"
+ << "[some group]\n"
+ << "another entry=blah blah blah\n"
+ << "entry=\\srandom entry\n"
+ << "entry[de]=German\n"
+ << "entry[es]=Spanish\n"
+ << "entry[fr]=French\n";
QFile file(QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation) + "/mergetest");
- file.open(QIODevice::ReadOnly|QIODevice::Text);
- Q_FOREACH (const QByteArray& line, lines) {
+ file.open(QIODevice::ReadOnly | QIODevice::Text);
+ Q_FOREACH (const QByteArray &line, lines) {
QCOMPARE(line, file.readLine());
}
}
@@ -957,11 +958,11 @@ void KConfigTest::testImmutable()
{
{
QFile file(QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation) + "/immutabletest");
- file.open(QIODevice::WriteOnly|QIODevice::Text);
+ file.open(QIODevice::WriteOnly | QIODevice::Text);
QTextStream out(&file);
out.setCodec("UTF-8");
out << "[$i]" << endl
- << "entry1=Testing" << endl
+ << "entry1=Testing" << endl
<< "[group][$i]" << endl
<< "[group][subgroup][$i]" << endl;
}
@@ -982,7 +983,7 @@ void KConfigTest::testOptionOrder()
{
{
QFile file(QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation) + "/doubleattrtest");
- file.open(QIODevice::WriteOnly|QIODevice::Text);
+ file.open(QIODevice::WriteOnly | QIODevice::Text);
QTextStream out(&file);
out.setCodec("UTF-8");
out << "[group3]" << endl
@@ -993,12 +994,12 @@ void KConfigTest::testOptionOrder()
config.setLocale("de_DE");
KConfigGroup cg3 = config.group("group3");
QVERIFY(!cg3.isImmutable());
- QCOMPARE(cg3.readEntry("entry2",""), QString("t2"));
+ QCOMPARE(cg3.readEntry("entry2", ""), QString("t2"));
QVERIFY(cg3.isEntryImmutable("entry2"));
config.setLocale("C");
- QCOMPARE(cg3.readEntry("entry2",""), QString("unlocalized"));
+ QCOMPARE(cg3.readEntry("entry2", ""), QString("unlocalized"));
QVERIFY(!cg3.isEntryImmutable("entry2"));
- cg3.writeEntry("entry2","modified");
+ cg3.writeEntry("entry2", "modified");
QVERIFY(config.sync());
{
@@ -1009,37 +1010,36 @@ void KConfigTest::testOptionOrder()
<< "entry2[de_DE][$i]=t2\n";
QFile file(QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation) + "/doubleattrtest");
- file.open(QIODevice::ReadOnly|QIODevice::Text);
- Q_FOREACH (const QByteArray& line, lines) {
+ file.open(QIODevice::ReadOnly | QIODevice::Text);
+ Q_FOREACH (const QByteArray &line, lines) {
QCOMPARE(line, file.readLine());
}
}
}
-
void KConfigTest::testGroupEscape()
{
KConfig config("groupescapetest", KConfig::SimpleConfig);
- QVERIFY( config.group(DOLLARGROUP).exists() );
+ QVERIFY(config.group(DOLLARGROUP).exists());
}
void KConfigTest::testSubGroup()
{
- KConfig sc( "kconfigtest" );
- KConfigGroup cg( &sc, "ParentGroup" );
- QCOMPARE(cg.readEntry( "parentgrpstring", ""), QString("somevalue") );
- KConfigGroup subcg1( &cg, "SubGroup1");
+ KConfig sc("kconfigtest");
+ KConfigGroup cg(&sc, "ParentGroup");
+ QCOMPARE(cg.readEntry("parentgrpstring", ""), QString("somevalue"));
+ KConfigGroup subcg1(&cg, "SubGroup1");
QCOMPARE(subcg1.name(), QString("SubGroup1"));
- QCOMPARE(subcg1.readEntry( "somestring", ""), QString("somevalue") );
- KConfigGroup subcg2( &cg, "SubGroup2");
+ QCOMPARE(subcg1.readEntry("somestring", ""), QString("somevalue"));
+ KConfigGroup subcg2(&cg, "SubGroup2");
QCOMPARE(subcg2.name(), QString("SubGroup2"));
- QCOMPARE(subcg2.readEntry( "substring", ""), QString("somevalue") );
- KConfigGroup subcg3( &cg, "SubGroup/3");
- QCOMPARE(subcg3.readEntry( "sub3string", ""), QString("somevalue") );
+ QCOMPARE(subcg2.readEntry("substring", ""), QString("somevalue"));
+ KConfigGroup subcg3(&cg, "SubGroup/3");
+ QCOMPARE(subcg3.readEntry("sub3string", ""), QString("somevalue"));
QCOMPARE(subcg3.name(), QString("SubGroup/3"));
- KConfigGroup rcg( &sc, "" );
- KConfigGroup srcg( &rcg, "ParentGroup" );
- QCOMPARE(srcg.readEntry( "parentgrpstring", ""), QString("somevalue") );
+ KConfigGroup rcg(&sc, "");
+ KConfigGroup srcg(&rcg, "ParentGroup");
+ QCOMPARE(srcg.readEntry("parentgrpstring", ""), QString("somevalue"));
QStringList groupList = cg.groupList();
groupList.sort(); // comes from QSet, so order is undefined
@@ -1058,13 +1058,13 @@ void KConfigTest::testSubGroup()
// shows up in groupList of sc
KConfigGroup neg(&sc, "NoEntryGroup");
KConfigGroup negsub1(&neg, "NEG Child1");
- negsub1.writeEntry( "entry", "somevalue" );
+ negsub1.writeEntry("entry", "somevalue");
KConfigGroup negsub2(&neg, "NEG Child2");
KConfigGroup negsub3(&neg, "NEG Child3");
KConfigGroup negsub31(&negsub3, "NEG Child3-1");
KConfigGroup negsub4(&neg, "NEG Child4");
KConfigGroup negsub41(&negsub4, "NEG Child4-1");
- negsub41.writeEntry( "entry", "somevalue" );
+ negsub41.writeEntry("entry", "somevalue");
// A group exists if it has content
QVERIFY(negsub1.exists());
@@ -1090,11 +1090,11 @@ void KConfigTest::testSubGroup()
QCOMPARE(groups, QStringList() << "NEG Child1" << "NEG Child4");
// make sure groupList() isn't returning something it shouldn't
- Q_FOREACH(const QString& group, sc.groupList()) {
- QVERIFY(!group.isEmpty() && group != "<default>");
- QVERIFY(!group.contains(QChar(0x1d)));
- QVERIFY(!group.contains("subgroup"));
- QVERIFY(!group.contains("SubGroup"));
+ Q_FOREACH (const QString &group, sc.groupList()) {
+ QVERIFY(!group.isEmpty() && group != "<default>");
+ QVERIFY(!group.contains(QChar(0x1d)));
+ QVERIFY(!group.contains("subgroup"));
+ QVERIFY(!group.contains("SubGroup"));
}
QVERIFY(sc.sync());
@@ -1119,9 +1119,9 @@ void KConfigTest::testAddConfigSources()
QCOMPARE(specificgrp.readEntry("ExistingEntry", ""), QString("DevValue"));
KConfigGroup sharedgrp(&cf, "Shared Group");
- QCOMPARE(sharedgrp.readEntry("SomeSpecificOnlyEntry",""), QString("DevValue"));
- QCOMPARE(sharedgrp.readEntry("SomeBaseOnlyEntry",""), QString("BaseValue"));
- QCOMPARE(sharedgrp.readEntry("SomeSharedEntry",""), QString("DevValue"));
+ QCOMPARE(sharedgrp.readEntry("SomeSpecificOnlyEntry", ""), QString("DevValue"));
+ QCOMPARE(sharedgrp.readEntry("SomeBaseOnlyEntry", ""), QString("BaseValue"));
+ QCOMPARE(sharedgrp.readEntry("SomeSharedEntry", ""), QString("DevValue"));
KConfigGroup basegrp(&cf, "Base Only Group");
QCOMPARE(basegrp.readEntry("ExistingEntry", ""), QString("BaseValue"));
@@ -1236,7 +1236,7 @@ void KConfigTest::testReparent()
QCOMPARE(group.entryMap(), originalMap);
}
-static void ageTimeStamp(const QString& path, int nsec)
+static void ageTimeStamp(const QString &path, int nsec)
{
#ifdef Q_OS_UNIX
QDateTime mtime = QFileInfo(path).lastModified().addSecs(-nsec);
@@ -1278,7 +1278,7 @@ void KConfigTest::testWriteOnSync()
// Should not rewrite the local config file.
KConfigGroup cgGlobal(&sc, "Globals");
cgGlobal.writeEntry("someGlobalString", "whatever",
- KConfig::Persistent|KConfig::Global);
+ KConfig::Persistent | KConfig::Global);
QVERIFY(sc.sync());
// Verify that the timestamp of local config file didn't change.
@@ -1344,7 +1344,6 @@ void KConfigTest::testDirtyOnEqualOverdo()
QCOMPARE(cgLocal.readEntry("someKey", defvalr), val2);
}
-
void KConfigTest::testCreateDir()
{
// Test auto-creating the parent directory when needed (KConfigIniBackend::createEnclosing)
@@ -1436,7 +1435,6 @@ void KConfigTest::testLocaleConfig()
QFile::remove(file);
}
-
void KConfigTest::testDeleteWhenLocalized()
{
// Initialize the testdata
@@ -1565,7 +1563,6 @@ void KConfigTest::testDeleteWhenLocalized()
QFile::remove(file);
}
-
void KConfigTest::testKdeGlobals()
{
{
@@ -1629,6 +1626,7 @@ void KConfigTest::testThreads()
// QEXPECT_FAIL triggers race conditions, it should be fixed to use QThreadStorage...
//futures << QtConcurrent::run(this, &KConfigTest::testDeleteWhenLocalized);
//futures << QtConcurrent::run(this, &KConfigTest::testEntryMap);
- Q_FOREACH(QFuture<void> f, futures) // krazy:exclude=foreach
+ Q_FOREACH (QFuture<void> f, futures) { // krazy:exclude=foreach
f.waitForFinished();
+ }
}