From 680f35ec1ee7cad8881a5fd9edadc6594cb2fe71 Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Tue, 10 Apr 2012 13:15:29 +0100 Subject: Add unit test for usagePolicies Change-Id: I749268d81521d84ffc709014963a0f34fbf6d74c Reviewed-by: Lars Knoll --- .../network/bearer/qnetworksession/test/test.pro | 2 +- .../qnetworksession/test/tst_qnetworksession.cpp | 31 ++++++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) (limited to 'tests/auto/network/bearer') 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 #include +#include #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(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) -- cgit v1.2.3