summaryrefslogtreecommitdiffstats
path: root/tests/auto/network/bearer/qnetworksession/test/tst_qnetworksession.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/network/bearer/qnetworksession/test/tst_qnetworksession.cpp')
-rw-r--r--tests/auto/network/bearer/qnetworksession/test/tst_qnetworksession.cpp31
1 files changed, 31 insertions, 0 deletions
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)