summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2018-01-24 11:41:37 -0800
committerThiago Macieira <thiago.macieira@intel.com>2018-03-02 04:06:24 +0000
commita2ffb35ac2354735a95b21557a762aa16d7140a3 (patch)
treeb70527988af456aecc6d64cec0ecbcdb7ecb61cf /tests
parent1c2499cbf141d7b07feef0b6a7ecda2b69fcc219 (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')
-rw-r--r--tests/auto/corelib/serialization/json/tst_qtjson.cpp20
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();