aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/webchannel/tst_webchannel.cpp
diff options
context:
space:
mode:
authorØystein Heskestad <oystein.heskestad@qt.io>2021-05-20 09:52:50 +0200
committerØystein Heskestad <oystein.heskestad@qt.io>2021-05-20 11:42:24 +0200
commitc932ad7e7518043851066ebdad340d2d1c092d1d (patch)
treeb22f1a3bf4d833b3150a191e25e56ca70561421f /tests/auto/webchannel/tst_webchannel.cpp
parent791a955cc96a6d2dd73961bddf622659b32d36e3 (diff)
Add tests for nullptr, QVariantHash, and QVariantMap in testWrapValues
Change-Id: I76678df71d9a3c976e1722fd655d796050562501 Reviewed-by: Arno Rehn <a.rehn@menlosystems.com>
Diffstat (limited to 'tests/auto/webchannel/tst_webchannel.cpp')
-rw-r--r--tests/auto/webchannel/tst_webchannel.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/auto/webchannel/tst_webchannel.cpp b/tests/auto/webchannel/tst_webchannel.cpp
index 4f7949e..ee4dac1 100644
--- a/tests/auto/webchannel/tst_webchannel.cpp
+++ b/tests/auto/webchannel/tst_webchannel.cpp
@@ -905,6 +905,37 @@ void TestWebChannel::testWrapValues()
QCOMPARE(value.toArray(), QJsonArray({QJsonObject{{"foo", 1}, {"bar", 2}},
QJsonObject{{"foo", 3}, {"bar", 4}}}));
}
+ {
+ QVariant variant = QVariant::fromValue(nullptr);
+ QJsonValue value = channel.d_func()->publisher->wrapResult(variant, m_dummyTransport);
+ QVERIFY(value.isNull());
+ }
+ {
+ QVariantHash hash;
+ hash["One"] = 1;
+ hash["Two"] = 2;
+ QVariant variant = QVariant::fromValue(hash);
+ QJsonValue value = channel.d_func()->publisher->wrapResult(variant, m_dummyTransport);
+ QVERIFY(value.isObject());
+ QVERIFY(value["One"].isDouble());
+ QCOMPARE(value["One"].toInt(), 1);
+ QVERIFY(value["Two"].isDouble());
+ QCOMPARE(value["Two"].toInt(), 2);
+ QVERIFY(value["Three"].isUndefined());
+ }
+ {
+ QVariantMap map;
+ map["One"] = 1;
+ map["Two"] = 2;
+ QVariant variant = QVariant::fromValue(map);
+ QJsonValue value = channel.d_func()->publisher->wrapResult(variant, m_dummyTransport);
+ QVERIFY(value.isObject());
+ QVERIFY(value["One"].isDouble());
+ QCOMPARE(value["One"].toInt(), 1);
+ QVERIFY(value["Two"].isDouble());
+ QCOMPARE(value["Two"].toInt(), 2);
+ QVERIFY(value["Three"].isUndefined());
+ }
}
void TestWebChannel::testWrapObjectWithMultipleTransports()