summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/corelib')
-rw-r--r--tests/auto/corelib/json/tst_qtjson.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/auto/corelib/json/tst_qtjson.cpp b/tests/auto/corelib/json/tst_qtjson.cpp
index 18d1ecd33c..884c4b3850 100644
--- a/tests/auto/corelib/json/tst_qtjson.cpp
+++ b/tests/auto/corelib/json/tst_qtjson.cpp
@@ -145,6 +145,8 @@ private Q_SLOTS:
void unicodeKeys();
void garbageAtEnd();
+
+ void removeNonLatinKey();
private:
QString testDataDir;
};
@@ -2776,5 +2778,24 @@ void tst_QtJson::garbageAtEnd()
QVERIFY(!doc.isEmpty());
}
+void tst_QtJson::removeNonLatinKey()
+{
+ const QString nonLatinKeyName = QString::fromUtf8("Атрибут100500");
+
+ QJsonObject sourceObject;
+
+ sourceObject.insert("code", 1);
+ sourceObject.remove("code");
+
+ sourceObject.insert(nonLatinKeyName, 1);
+
+ const QByteArray json = QJsonDocument(sourceObject).toJson();
+ const QJsonObject restoredObject = QJsonDocument::fromJson(json).object();
+
+ QCOMPARE(sourceObject.keys(), restoredObject.keys());
+ QVERIFY(sourceObject.contains(nonLatinKeyName));
+ QVERIFY(restoredObject.contains(nonLatinKeyName));
+}
+
QTEST_MAIN(tst_QtJson)
#include "tst_qtjson.moc"