2
* Copyright 2009 Benjamin C. Meyer <ben@meyerhome.net>
4
* This program is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License as published by
6
* the Free Software Foundation; either version 2 of the License, or
7
* (at your option) any later version.
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
14
* You should have received a copy of the GNU General Public License
15
* along with this program; if not, write to the Free Software
16
* Foundation, Inc., 51 Franklin Street, Fifth Floor,
17
* Boston, MA 02110-1301 USA
22
#include <networkaccessmanagerproxy.h>
23
#include <webpageproxy.h>
25
#include <qnetworkcookie.h>
26
#include <qnetworkrequest.h>
27
#include <qnetworkreply.h>
29
class tst_NetworkAccessManagerProxy : public QObject
35
void cleanupTestCase();
40
void networkaccessmanagerproxy_data();
41
void networkaccessmanagerproxy();
43
void primaryNetworkAccessManager();
46
void createRequest_data();
50
// Subclass that exposes the protected functions.
51
class SubNetworkAccessManagerProxy : public NetworkAccessManagerProxy
54
QNetworkReply *call_createRequest(QNetworkAccessManager::Operation op, QNetworkRequest const &request, QIODevice *outgoingData = 0)
55
{ return SubNetworkAccessManagerProxy::createRequest(op, request, outgoingData); }
58
// This will be called before the first test function is executed.
59
// It is only called once.
60
void tst_NetworkAccessManagerProxy::initTestCase()
64
// This will be called after the last test function is executed.
65
// It is only called once.
66
void tst_NetworkAccessManagerProxy::cleanupTestCase()
70
// This will be called before each test function is executed.
71
void tst_NetworkAccessManagerProxy::init()
75
// This will be called after every test function.
76
void tst_NetworkAccessManagerProxy::cleanup()
80
void tst_NetworkAccessManagerProxy::networkaccessmanagerproxy_data()
84
void tst_NetworkAccessManagerProxy::networkaccessmanagerproxy()
86
SubNetworkAccessManagerProxy proxy;
87
QVERIFY(proxy.call_createRequest(QNetworkAccessManager::GetOperation,
92
// public void setPrimaryNetworkAccessManager(NetworkAccessManagerProxy *primaryManager)
93
void tst_NetworkAccessManagerProxy::primaryNetworkAccessManager()
95
SubNetworkAccessManagerProxy proxy;
97
NetworkAccessManagerProxy primaryManager;
99
proxy.setPrimaryNetworkAccessManager(&primaryManager);
100
QCOMPARE(&primaryManager, proxy.primaryNetworkAccessManager());
101
QVERIFY(primaryManager.cookieJar()->parent() == &primaryManager);
104
// public void setWebPage(WebPageProxy *page)
105
void tst_NetworkAccessManagerProxy::webPage()
107
SubNetworkAccessManagerProxy proxy;
109
WebPageProxy webPage;
110
proxy.setWebPage(&webPage);
111
QCOMPARE(&webPage, proxy.webPage());
114
void tst_NetworkAccessManagerProxy::createRequest_data()
116
QTest::addColumn<bool>("primary");
117
QTest::newRow("true") << true;
118
QTest::newRow("false") << false;
121
// protected QNetworkReply *createRequest(QNetworkAccessManager::Operation op, QNetworkRequest const &request, QIODevice *outgoingData = 0)
122
void tst_NetworkAccessManagerProxy::createRequest()
124
QFETCH(bool, primary);
126
SubNetworkAccessManagerProxy proxy;
127
SubNetworkAccessManagerProxy primaryManager;
128
WebPageProxy webPage;
130
proxy.setPrimaryNetworkAccessManager(&primaryManager);
131
proxy.setWebPage(&webPage);
134
QIODevice *outgoingData = 0;
135
QNetworkRequest request;
136
QNetworkReply *reply = proxy.call_createRequest(QNetworkAccessManager::GetOperation, request, outgoingData);
139
QCOMPARE(reply->request(), request);
141
QVERIFY(reply->request() != request);
144
QTEST_MAIN(tst_NetworkAccessManagerProxy)
145
#include "tst_networkaccessmanagerproxy.moc"