summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2010-11-06 16:05:51 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2010-11-06 16:05:51 (GMT)
commita4d9ee1d3404ee9c575cc5682a31dc3eccfa7792 (patch)
treedc30737ce19a1e6b4319235b5845cf4db51bdf31 /tests
parent8b01937c36632fca8774e90d22ce2aaeb2df883d (diff)
parent983bfa4a069b8bf51913be461c6a79c71fa18792 (diff)
downloadQt-a4d9ee1d3404ee9c575cc5682a31dc3eccfa7792.zip
Qt-a4d9ee1d3404ee9c575cc5682a31dc3eccfa7792.tar.gz
Qt-a4d9ee1d3404ee9c575cc5682a31dc3eccfa7792.tar.bz2
Merge branch 4.7 into qt-master-from-4.7
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qnetworkreply/tst_qnetworkreply.cpp81
-rw-r--r--tests/auto/qtextedit/tst_qtextedit.cpp5
2 files changed, 84 insertions, 2 deletions
diff --git a/tests/auto/qnetworkreply/tst_qnetworkreply.cpp b/tests/auto/qnetworkreply/tst_qnetworkreply.cpp
index 5d41915..936dc57 100644
--- a/tests/auto/qnetworkreply/tst_qnetworkreply.cpp
+++ b/tests/auto/qnetworkreply/tst_qnetworkreply.cpp
@@ -305,6 +305,10 @@ private Q_SLOTS:
void qtbug4121unknownAuthentication();
+ void qtbug13431replyThrottling();
+
+ void httpWithNoCredentialUsage();
+
// NOTE: This test must be last!
void parentingRepliesToTheApp();
};
@@ -4915,6 +4919,83 @@ void tst_QNetworkReply::qtbug4121unknownAuthentication()
QCOMPARE(reply->error(), QNetworkReply::AuthenticationRequiredError);
}
+class QtBug13431Helper : public QObject {
+ Q_OBJECT
+public:
+ QNetworkReply* m_reply;
+ QTimer m_dlTimer;
+public slots:
+ void replyFinished(QNetworkReply*) {
+ QTestEventLoop::instance().exitLoop();
+ }
+
+ void onReadAndReschedule() {
+ const qint64 bytesReceived = m_reply->bytesAvailable();
+ if (bytesReceived) {
+ QByteArray data = m_reply->read(bytesReceived);
+ // reschedule read
+ const int millisecDelay = static_cast<int>(bytesReceived * 1000 / m_reply->readBufferSize());
+ m_dlTimer.start(millisecDelay);
+ }
+ else {
+ // reschedule read
+ m_dlTimer.start(200);
+ }
+ }
+};
+
+void tst_QNetworkReply::qtbug13431replyThrottling()
+{
+ QtBug13431Helper helper;
+
+ QNetworkAccessManager nam;
+ connect(&nam, SIGNAL(finished(QNetworkReply*)), &helper, SLOT(replyFinished(QNetworkReply*)));
+
+ // Download a bigger file
+ QNetworkRequest netRequest(QUrl("http://qt-test-server/qtest/bigfile"));
+ helper.m_reply = nam.get(netRequest);
+ // Set the throttle
+ helper.m_reply->setReadBufferSize(36000);
+
+ // Schedule a timer that tries to read
+
+ connect(&helper.m_dlTimer, SIGNAL(timeout()), &helper, SLOT(onReadAndReschedule()));
+ helper.m_dlTimer.setSingleShot(true);
+ helper.m_dlTimer.start(0);
+
+ QTestEventLoop::instance().enterLoop(30);
+ QVERIFY(!QTestEventLoop::instance().timeout());
+ QVERIFY(helper.m_reply->isFinished());
+ QCOMPARE(helper.m_reply->error(), QNetworkReply::NoError);
+}
+
+void tst_QNetworkReply::httpWithNoCredentialUsage()
+{
+ QNetworkRequest request(QUrl("http://httptest:httptest@" + QtNetworkSettings::serverName() + "/qtest/protected/cgi-bin/md5sum.cgi"));
+ // Do not use credentials
+ request.setAttribute(QNetworkRequest::AuthenticationReuseAttribute, QNetworkRequest::Manual);
+ QNetworkAccessManager manager;
+ QNetworkReplyPtr reply = manager.get(request);
+
+ qRegisterMetaType<QNetworkReply*>("QNetworkReply*");
+ qRegisterMetaType<QAuthenticator*>("QAuthenticator*");
+ QSignalSpy authSpy(&manager, SIGNAL(authenticationRequired(QNetworkReply*,QAuthenticator*)));
+ QSignalSpy finishedSpy(&manager, SIGNAL(finished(QNetworkReply*)));
+ qRegisterMetaType<QNetworkReply::NetworkError>("QNetworkReply::NetworkError");
+ QSignalSpy errorSpy(reply, SIGNAL(error(QNetworkReply::NetworkError)));
+
+ connect(reply, SIGNAL(finished()), &QTestEventLoop::instance(), SLOT(exitLoop()), Qt::QueuedConnection);
+ QTestEventLoop::instance().enterLoop(10);
+ QVERIFY(!QTestEventLoop::instance().timeout());
+
+ // We check if authenticationRequired was emitted, however we do not anything in it so it should be 401
+ QCOMPARE(authSpy.count(), 1);
+ QCOMPARE(finishedSpy.count(), 1);
+ QCOMPARE(errorSpy.count(), 1);
+
+ QCOMPARE(reply->error(), QNetworkReply::AuthenticationRequiredError);
+}
+
// NOTE: This test must be last testcase in tst_qnetworkreply!
diff --git a/tests/auto/qtextedit/tst_qtextedit.cpp b/tests/auto/qtextedit/tst_qtextedit.cpp
index 321aa22..d1832d8 100644
--- a/tests/auto/qtextedit/tst_qtextedit.cpp
+++ b/tests/auto/qtextedit/tst_qtextedit.cpp
@@ -2163,6 +2163,9 @@ void tst_QTextEdit::noWrapBackgrounds()
QTextEdit edit;
edit.setLineWrapMode(QTextEdit::NoWrap);
+ // hide the cursor in order to make the image comparison below reliable
+ edit.setCursorWidth(0);
+
QTextFrame *root = edit.document()->rootFrame();
QTextFrameFormat frameFormat = root->frameFormat();
frameFormat.setLeftMargin(2);
@@ -2178,8 +2181,6 @@ void tst_QTextEdit::noWrapBackgrounds()
layout->addWidget(&edit);
topLevel.show();
- QTest::qWait(1000);
-
QImage img = QPixmap::grabWidget(edit.viewport()).toImage();
QCOMPARE(img, img.mirrored(true, false));
}