summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/json/tst_qtjson.cpp
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@nokia.com>2012-05-10 13:24:28 +0200
committerQt by Nokia <qt-info@nokia.com>2012-05-10 13:50:35 +0200
commit1f9a958e3668a32270d63dc4216804ef6333c9f3 (patch)
tree1d6ac51f268cc6f592bd475a51488bc31615ba51 /tests/auto/corelib/json/tst_qtjson.cpp
parentf6bd10b8ff5aacc6d214d8dd5be570a5301f9433 (diff)
Correctly parse json documents with a leading BOM
A leading byte order mark is valid in utf-8 and we should parse documents starting with those correctly. Change-Id: Id85398ff6e05b93ceefbaf4a6de5571d5e61ca13 Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
Diffstat (limited to 'tests/auto/corelib/json/tst_qtjson.cpp')
-rw-r--r--tests/auto/corelib/json/tst_qtjson.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/auto/corelib/json/tst_qtjson.cpp b/tests/auto/corelib/json/tst_qtjson.cpp
index 7a11b5aec2..84913f9289 100644
--- a/tests/auto/corelib/json/tst_qtjson.cpp
+++ b/tests/auto/corelib/json/tst_qtjson.cpp
@@ -125,6 +125,8 @@ private Q_SLOTS:
void testDetachBug();
void valueEquals();
+
+ void bom();
private:
QString testDataDir;
};
@@ -1908,5 +1910,19 @@ void TestQtJson::valueEquals()
QVERIFY(QJsonValue(QJsonObject()) != QJsonValue(QJsonArray()));
}
+void TestQtJson::bom()
+{
+ QFile file(testDataDir + "/bom.json");
+ file.open(QFile::ReadOnly);
+ QByteArray json = file.readAll();
+
+ // Import json document into a QJsonDocument
+ QJsonParseError error;
+ QJsonDocument doc = QJsonDocument::fromJson(json, &error);
+
+ QVERIFY(!doc.isNull());
+ QVERIFY(error.error == QJsonParseError::NoError);
+}
+
QTEST_MAIN(TestQtJson)
#include "tst_qtjson.moc"