summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/io/qsettings/tst_qsettings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/corelib/io/qsettings/tst_qsettings.cpp')
-rw-r--r--tests/auto/corelib/io/qsettings/tst_qsettings.cpp30
1 files changed, 16 insertions, 14 deletions
diff --git a/tests/auto/corelib/io/qsettings/tst_qsettings.cpp b/tests/auto/corelib/io/qsettings/tst_qsettings.cpp
index 293d30d487..03366aabff 100644
--- a/tests/auto/corelib/io/qsettings/tst_qsettings.cpp
+++ b/tests/auto/corelib/io/qsettings/tst_qsettings.cpp
@@ -129,7 +129,7 @@ private slots:
void dontReorderIniKeysNeedlessly();
#endif
#if defined(Q_OS_WIN)
- void qtbug_13249();
+ void consistentRegistryStorage();
#endif
void testVariantTypes_data();
@@ -3114,19 +3114,21 @@ static DWORD readKeyType(HKEY handle, const QString &rSubKey)
return 0;
}
-void tst_QSettings::qtbug_13249()
+// This is a regression test for QTBUG-13249, where QSettings was storing
+// signed integers as numeric values and unsigned integers as strings.
+void tst_QSettings::consistentRegistryStorage()
{
QSettings settings1(QSettings::UserScope, "software.org", "KillerAPP");
qint32 x = 1024;
- settings1.setValue("qtbug_13249_a", (qint32)x);
- QCOMPARE(settings1.value("qtbug_13249_a").toInt(), (qint32)1024);
- settings1.setValue("qtbug_13249_b", (quint32)x);
- QCOMPARE(settings1.value("qtbug_13249_b").toUInt(), (quint32)1024);
- settings1.setValue("qtbug_13249_c", (qint64)x);
- QCOMPARE(settings1.value("qtbug_13249_c").toLongLong(), (qint64)1024);
- settings1.setValue("qtbug_13249_d", (quint64)x);
- QCOMPARE(settings1.value("qtbug_13249_d").toULongLong(), (quint64)1024);
+ settings1.setValue("qint32_value", (qint32)x);
+ QCOMPARE(settings1.value("qint32_value").toInt(), (qint32)1024);
+ settings1.setValue("quint32_value", (quint32)x);
+ QCOMPARE(settings1.value("quint32_value").toUInt(), (quint32)1024);
+ settings1.setValue("qint64_value", (qint64)x);
+ QCOMPARE(settings1.value("qint64_value").toLongLong(), (qint64)1024);
+ settings1.setValue("quint64_value", (quint64)x);
+ QCOMPARE(settings1.value("quint64_value").toULongLong(), (quint64)1024);
settings1.sync();
HKEY handle;
@@ -3136,19 +3138,19 @@ void tst_QSettings::qtbug_13249()
if (res == ERROR_SUCCESS)
{
DWORD dataType;
- dataType = readKeyType(handle, QString("qtbug_13249_a"));
+ dataType = readKeyType(handle, QString("qint32_value"));
if (dataType != 0) {
QCOMPARE((int)REG_DWORD, (int)dataType);
}
- dataType = readKeyType(handle, QString("qtbug_13249_b"));
+ dataType = readKeyType(handle, QString("quint32_value"));
if (dataType != 0) {
QCOMPARE((int)REG_DWORD, (int)dataType);
}
- dataType = readKeyType(handle, QString("qtbug_13249_c"));
+ dataType = readKeyType(handle, QString("qint64_value"));
if (dataType != 0) {
QCOMPARE((int)REG_QWORD, (int)dataType);
}
- dataType = readKeyType(handle, QString("qtbug_13249_d"));
+ dataType = readKeyType(handle, QString("quint64_value"));
if (dataType != 0) {
QCOMPARE((int)REG_QWORD, (int)dataType);
}