summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/io/qsettings/tst_qsettings.cpp
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2014-09-01 14:26:51 +0200
committerLars Knoll <lars.knoll@digia.com>2014-10-29 08:58:31 +0100
commit38c2e3d1049f494529cb9876bcd564ec20ba512c (patch)
treedaac8ed0a17d8c2b38ea20006cb48647ff75d98a /tests/auto/corelib/io/qsettings/tst_qsettings.cpp
parentad1ec8b57dde6f5cbb7a4f66272794a067dc3917 (diff)
Properly detect UTF-8 BOM markers in ini files
If we detect a utf8 BOM mark at the beginning of the .ini file, skip the marker and set the iniCodec to utf8. Task-number: QTBUG-23381 Change-Id: I1b37fc4f1638a48e4f3ee71ab165e2989bc592f1 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Diffstat (limited to 'tests/auto/corelib/io/qsettings/tst_qsettings.cpp')
-rw-r--r--tests/auto/corelib/io/qsettings/tst_qsettings.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/tests/auto/corelib/io/qsettings/tst_qsettings.cpp b/tests/auto/corelib/io/qsettings/tst_qsettings.cpp
index 3e68e4859f..c89923f159 100644
--- a/tests/auto/corelib/io/qsettings/tst_qsettings.cpp
+++ b/tests/auto/corelib/io/qsettings/tst_qsettings.cpp
@@ -161,6 +161,7 @@ private slots:
void testByteArray_data();
void testByteArray();
void iniCodec();
+ void bom();
private:
const bool m_canWriteNativeSystemSettings;
@@ -730,6 +731,15 @@ void tst_QSettings::iniCodec()
}
+void tst_QSettings::bom()
+{
+ QSettings s(":/bom.ini", QSettings::IniFormat);
+ QStringList allkeys = s.allKeys();
+ QCOMPARE(allkeys.size(), 2);
+ QVERIFY(allkeys.contains("section1/foo1"));
+ QVERIFY(allkeys.contains("section2/foo2"));
+}
+
void tst_QSettings::testErrorHandling_data()
{
QTest::addColumn<int>("filePerms"); // -1 means file should not exist