summaryrefslogtreecommitdiff
path: root/tests/auto/webchannel/tst_webchannel.cpp
diff options
context:
space:
mode:
authorMilian Wolff <milian.wolff@kdab.com>2016-06-16 12:46:42 +0200
committerMilian Wolff <milian.wolff@kdab.com>2016-07-13 14:35:31 +0000
commite35346cf70598c47a456946327927643910aa277 (patch)
tree773bae4e840087b7235ceac3e5cf53bdb7c6bc72 /tests/auto/webchannel/tst_webchannel.cpp
parentd3c594c382761241742cd6713f249abeb538ffaa (diff)
downloadqtwebchannel-e35346cf70598c47a456946327927643910aa277.tar.gz
Add test to verify that bools get properly converted.
This test passes and seems to indicate that the signal-delivery has an issue, or that the issue lies on the JavaScript side. Change-Id: Ic2436147b3af49d35dc556da57aed3e54408f1f9 Task-number: QTBUG-54074 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Diffstat (limited to 'tests/auto/webchannel/tst_webchannel.cpp')
-rw-r--r--tests/auto/webchannel/tst_webchannel.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/auto/webchannel/tst_webchannel.cpp b/tests/auto/webchannel/tst_webchannel.cpp
index 7ae6f78..71779b9 100644
--- a/tests/auto/webchannel/tst_webchannel.cpp
+++ b/tests/auto/webchannel/tst_webchannel.cpp
@@ -192,6 +192,7 @@ TestWebChannel::TestWebChannel(QObject *parent)
: QObject(parent)
, m_dummyTransport(new DummyTransport(this))
, m_lastInt(0)
+ , m_lastBool(false)
, m_lastDouble(0)
{
}
@@ -200,6 +201,7 @@ TestWebChannel::~TestWebChannel()
{
}
+
int TestWebChannel::readInt() const
{
return m_lastInt;
@@ -211,6 +213,17 @@ void TestWebChannel::setInt(int i)
emit lastIntChanged();
}
+bool TestWebChannel::readBool() const
+{
+ return m_lastBool;
+}
+
+void TestWebChannel::setBool(bool b)
+{
+ m_lastBool = b;
+ emit lastBoolChanged();
+}
+
double TestWebChannel::readDouble() const
{
return m_lastDouble;
@@ -484,6 +497,14 @@ void TestWebChannel::testInvokeMethodConversion()
QCOMPARE(m_lastInt, args.at(0).toInt());
}
{
+ int method = metaObject()->indexOfMethod("setBool(bool)");
+ QVERIFY(method != -1);
+ QJsonArray args;
+ args.append(QJsonValue(!m_lastBool));
+ channel.d_func()->publisher->invokeMethod(this, method, args);
+ QCOMPARE(m_lastBool, args.at(0).toBool());
+ }
+ {
int method = metaObject()->indexOfMethod("setDouble(double)");
QVERIFY(method != -1);
channel.d_func()->publisher->invokeMethod(this, method, args);
@@ -535,6 +556,13 @@ void TestWebChannel::testSetPropertyConversion()
QCOMPARE(m_lastInt, 42);
}
{
+ int property = metaObject()->indexOfProperty("lastBool");
+ QVERIFY(property != -1);
+ bool newValue = !m_lastBool;
+ channel.d_func()->publisher->setProperty(this, property, QJsonValue(newValue));
+ QCOMPARE(m_lastBool, newValue);
+ }
+ {
int property = metaObject()->indexOfProperty("lastDouble");
QVERIFY(property != -1);
channel.d_func()->publisher->setProperty(this, property, QJsonValue(-4.2));