diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-02-02 03:03:41 +0100 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-02-02 03:03:41 +0100 |
commit | 7fa4cf258af693f0fe61e5006ad83a91c63a45df (patch) | |
tree | 73ec8a1912e4d14aaccdbdeb81483702d6636264 /tests/auto/webchannel/tst_webchannel.cpp | |
parent | d9863f5c818fe867192d29bd8bed54784f405cf7 (diff) | |
parent | 91c92ce0144eb8c0639aef012508e24d8b7e72a5 (diff) |
Merge remote-tracking branch 'origin/5.12' into 5.13v5.13.0-alpha1
Change-Id: I6b83cc26dddfafe3bebe1bfb3640e2daf2d9a8fb
Diffstat (limited to 'tests/auto/webchannel/tst_webchannel.cpp')
-rw-r--r-- | tests/auto/webchannel/tst_webchannel.cpp | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/auto/webchannel/tst_webchannel.cpp b/tests/auto/webchannel/tst_webchannel.cpp index 8efd2fb..13d1567 100644 --- a/tests/auto/webchannel/tst_webchannel.cpp +++ b/tests/auto/webchannel/tst_webchannel.cpp @@ -1,6 +1,7 @@ /**************************************************************************** ** ** Copyright (C) 2016 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Milian Wolff <milian.wolff@kdab.com> +** Copyright (C) 2019 Menlo Systems GmbH, author Arno Rehn <a.rehn@menlosystems.com> ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtWebChannel module of the Qt Toolkit. @@ -341,8 +342,12 @@ void TestWebChannel::testInfoForObject() QJsonObject fooEnum; fooEnum["Asdf"] = TestObject::Asdf; fooEnum["Bar"] = TestObject::Bar; + QJsonObject testFlags; + testFlags["FirstFlag"] = static_cast<int>(TestObject::FirstFlag); + testFlags["SecondFlag"] = static_cast<int>(TestObject::SecondFlag); QJsonObject expected; expected["Foo"] = fooEnum; + expected["TestFlags"] = testFlags; QCOMPARE(info["enums"].toObject(), expected); } @@ -755,6 +760,44 @@ void TestWebChannel::testPassWrappedObjectBack() QCOMPARE(registeredObj.mReturnedObject, &returnedObjProperty); } +void TestWebChannel::testWrapValues() +{ + QWebChannel channel; + channel.connectTo(m_dummyTransport); + + { + QVariant variant = QVariant::fromValue(TestObject::Asdf); + QJsonValue value = channel.d_func()->publisher->wrapResult(variant, m_dummyTransport); + QVERIFY(value.isDouble()); + QCOMPARE(value.toInt(), (int) TestObject::Asdf); + } + { + TestObject::TestFlags flags = TestObject::FirstFlag | TestObject::SecondFlag; + QVariant variant = QVariant::fromValue(flags); + QJsonValue value = channel.d_func()->publisher->wrapResult(variant, m_dummyTransport); + QVERIFY(value.isDouble()); + QCOMPARE(value.toInt(), (int) flags); + } +} + +void TestWebChannel::testJsonToVariant() +{ + QWebChannel channel; + channel.connectTo(m_dummyTransport); + + { + QVariant variant = QVariant::fromValue(TestObject::Asdf); + QVariant convertedValue = channel.d_func()->publisher->toVariant(static_cast<int>(TestObject::Asdf), variant.userType()); + QCOMPARE(convertedValue, variant); + } + { + TestObject::TestFlags flags = TestObject::FirstFlag | TestObject::SecondFlag; + QVariant variant = QVariant::fromValue(flags); + QVariant convertedValue = channel.d_func()->publisher->toVariant(static_cast<int>(flags), variant.userType()); + QCOMPARE(convertedValue, variant); + } +} + void TestWebChannel::testInfiniteRecursion() { QWebChannel channel; |