diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2018-01-24 11:41:37 -0800 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2018-03-02 04:06:24 +0000 |
commit | a2ffb35ac2354735a95b21557a762aa16d7140a3 (patch) | |
tree | b70527988af456aecc6d64cec0ecbcdb7ecb61cf /tests/auto/corelib/serialization/json | |
parent | 1c2499cbf141d7b07feef0b6a7ecda2b69fcc219 (diff) |
QJsonValue: use the fully-encoded form of a URL in fromVariant()
For compatibility with other parsers that may expect it to be so.
Change-Id: I56b444f9d6274221a3b7fffd150cd66390f98fd5
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'tests/auto/corelib/serialization/json')
-rw-r--r-- | tests/auto/corelib/serialization/json/tst_qtjson.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/auto/corelib/serialization/json/tst_qtjson.cpp b/tests/auto/corelib/serialization/json/tst_qtjson.cpp index 1e3604ac9e..19e53ad2b6 100644 --- a/tests/auto/corelib/serialization/json/tst_qtjson.cpp +++ b/tests/auto/corelib/serialization/json/tst_qtjson.cpp @@ -82,6 +82,8 @@ private Q_SLOTS: void fromVariant_data(); void fromVariant(); + void fromVariantSpecial_data(); + void fromVariantSpecial(); void toVariant_data(); void toVariant(); void fromVariantMap(); @@ -1174,6 +1176,24 @@ void tst_QtJson::fromVariant() QCOMPARE(variant.toJsonValue(), jsonvalue); } +void tst_QtJson::fromVariantSpecial_data() +{ + QTest::addColumn<QVariant>("variant"); + QTest::addColumn<QJsonValue>("jsonvalue"); + + // Qt types with special encoding + QTest::newRow("url") << QVariant(QUrl("https://example.com/\xc2\xa9 ")) + << QJsonValue("https://example.com/%C2%A9%20"); +} + +void tst_QtJson::fromVariantSpecial() +{ + QFETCH( QVariant, variant ); + QFETCH( QJsonValue, jsonvalue ); + + QCOMPARE(QJsonValue::fromVariant(variant), jsonvalue); +} + void tst_QtJson::toVariant_data() { fromVariant_data(); |