diff options
Diffstat (limited to 'tests/auto/corelib')
-rw-r--r-- | tests/auto/corelib/json/tst_qtjson.cpp | 21 |
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" |