diff options
author | Shane Kearns <ext-shane.2.kearns@nokia.com> | 2012-04-10 13:15:29 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-04-11 22:20:03 +0200 |
commit | 680f35ec1ee7cad8881a5fd9edadc6594cb2fe71 (patch) | |
tree | bcc37e088305dcf0b79663c7692712913088b59e /tests/auto/network/bearer | |
parent | 1a6b338e10a91f605439c42baa1e65ce70469849 (diff) |
Add unit test for usagePolicies
Change-Id: I749268d81521d84ffc709014963a0f34fbf6d74c
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Diffstat (limited to 'tests/auto/network/bearer')
-rw-r--r-- | tests/auto/network/bearer/qnetworksession/test/test.pro | 2 | ||||
-rw-r--r-- | tests/auto/network/bearer/qnetworksession/test/tst_qnetworksession.cpp | 31 |
2 files changed, 32 insertions, 1 deletions
diff --git a/tests/auto/network/bearer/qnetworksession/test/test.pro b/tests/auto/network/bearer/qnetworksession/test/test.pro index 2f1a9ba6ea..c87e8e9bda 100644 --- a/tests/auto/network/bearer/qnetworksession/test/test.pro +++ b/tests/auto/network/bearer/qnetworksession/test/test.pro @@ -2,7 +2,7 @@ CONFIG += testcase SOURCES += tst_qnetworksession.cpp HEADERS += ../../qbearertestcommon.h -QT = core network testlib +QT = core network testlib network-private TARGET = tst_qnetworksession CONFIG(debug_and_release) { diff --git a/tests/auto/network/bearer/qnetworksession/test/tst_qnetworksession.cpp b/tests/auto/network/bearer/qnetworksession/test/tst_qnetworksession.cpp index 27e1e7f013..5980e5fbdc 100644 --- a/tests/auto/network/bearer/qnetworksession/test/tst_qnetworksession.cpp +++ b/tests/auto/network/bearer/qnetworksession/test/tst_qnetworksession.cpp @@ -48,6 +48,7 @@ #ifndef QT_NO_BEARERMANAGEMENT #include <QtNetwork/qnetworkconfigmanager.h> #include <QtNetwork/qnetworksession.h> +#include <private/qnetworksession_p.h> #endif QT_USE_NAMESPACE @@ -93,6 +94,8 @@ private slots: void sessionAutoClose_data(); void sessionAutoClose(); + void usagePolicies(); + private: QNetworkConfigurationManager manager; int inProcessSessionManagementCount; @@ -1261,6 +1264,34 @@ void tst_QNetworkSession::sessionAutoClose() QCOMPARE(autoCloseSession.toInt(), -1); } + +void tst_QNetworkSession::usagePolicies() +{ + QNetworkSession session(manager.defaultConfiguration()); + QNetworkSession::UsagePolicies initial; + initial = session.usagePolicies(); + if (initial != 0) + QNetworkSessionPrivate::setUsagePolicies(session, 0); + QSignalSpy spy(&session, SIGNAL(usagePoliciesChanged(QNetworkSession::UsagePolicies))); + QNetworkSessionPrivate::setUsagePolicies(session, QNetworkSession::NoBackgroundTrafficPolicy); + QCOMPARE(spy.count(), 1); + QNetworkSession::UsagePolicies policies = qvariant_cast<QNetworkSession::UsagePolicies>(spy.at(0).at(0)); + QCOMPARE(policies, QNetworkSession::NoBackgroundTrafficPolicy); + QCOMPARE(session.usagePolicies(), QNetworkSession::NoBackgroundTrafficPolicy); + QNetworkSessionPrivate::setUsagePolicies(session, initial); + spy.clear(); + + session.open(); + QVERIFY(session.waitForOpened()); + + //policies may be changed when session is opened, if so, signal should have been emitted + if (session.usagePolicies() != initial) + QCOMPARE(spy.count(), 1); + else + QCOMPARE(spy.count(), 0); +} + + #endif QTEST_MAIN(tst_QNetworkSession) |