summaryrefslogtreecommitdiffstats
path: root/tests/auto/network/access
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@theqtcompany.com>2014-10-27 13:00:36 +0100
committerFrederik Gladhorn <frederik.gladhorn@theqtcompany.com>2014-10-27 13:00:36 +0100
commit2eb26c170920d28213b71e549d5dac4663febb14 (patch)
tree8df5223ac114d758c2112a8fc787992175556418 /tests/auto/network/access
parent49ddae28e0dcd1c59dd5d742cffedd5290d1224a (diff)
parent81998b4e8e440076bd22a9164f0a93481c0e597a (diff)
Merge remote-tracking branch 'origin/5.4' into dev
Conflicts: src/gui/text/qfontdatabase.cpp Change-Id: I6ac1f55faa22b8e7b591386fb67f0333d0ea443d
Diffstat (limited to 'tests/auto/network/access')
-rw-r--r--tests/auto/network/access/qnetworkdiskcache/tst_qnetworkdiskcache.cpp39
1 files changed, 38 insertions, 1 deletions
diff --git a/tests/auto/network/access/qnetworkdiskcache/tst_qnetworkdiskcache.cpp b/tests/auto/network/access/qnetworkdiskcache/tst_qnetworkdiskcache.cpp
index a6d75390c3..a2f1668ef5 100644
--- a/tests/auto/network/access/qnetworkdiskcache/tst_qnetworkdiskcache.cpp
+++ b/tests/auto/network/access/qnetworkdiskcache/tst_qnetworkdiskcache.cpp
@@ -55,6 +55,7 @@ public slots:
void init();
void cleanup();
void accessAfterRemoveReadyReadSlot();
+ void setCookieHeaderMetaDataChangedSlot();
private slots:
void qnetworkdiskcache_data();
@@ -68,6 +69,7 @@ private slots:
void metaData();
void remove();
void accessAfterRemove(); // QTBUG-17400
+ void setCookieHeader(); // QTBUG-41514
void setCacheDirectory_data();
void setCacheDirectory();
void updateMetaData();
@@ -86,8 +88,9 @@ private slots:
private:
QTemporaryDir tempDir;
- QUrl url; // used by accessAfterRemove()
+ QUrl url; // used by accessAfterRemove(), setCookieHeader()
QNetworkDiskCache *diskCache; // used by accessAfterRemove()
+ QNetworkAccessManager *manager; // used by setCookieHeader()
};
// FIXME same as in tst_qnetworkreply.cpp .. could be unified
@@ -403,6 +406,40 @@ void tst_QNetworkDiskCache::accessAfterRemoveReadyReadSlot()
diskCache->remove(url); // this used to cause a crash later on
}
+void tst_QNetworkDiskCache::setCookieHeader() // QTBUG-41514
+{
+ SubQNetworkDiskCache *cache = new SubQNetworkDiskCache();
+ url = QUrl("http://www.foo.com/cookieTest.html");
+ QNetworkCacheMetaData metaData;
+ metaData.setUrl(url);
+
+ QNetworkCacheMetaData::RawHeaderList headers;
+ headers.append(QNetworkCacheMetaData::RawHeader("Set-Cookie", "aaa=bbb"));
+ metaData.setRawHeaders(headers);
+ metaData.setSaveToDisk(true);
+ cache->setupWithOne(tempDir.path(), url, metaData);
+
+ manager = new QNetworkAccessManager();
+ manager->setCache(cache);
+
+ QNetworkRequest request(url);
+ QNetworkReply *reply = manager->get(request);
+ connect(reply, SIGNAL(metaDataChanged()), this, SLOT(setCookieHeaderMetaDataChangedSlot()));
+ connect(reply, SIGNAL(finished()), &QTestEventLoop::instance(), SLOT(exitLoop()));
+
+ QTestEventLoop::instance().enterLoop(5);
+ QVERIFY(!QTestEventLoop::instance().timeout());
+
+ reply->deleteLater();
+ manager->deleteLater();
+}
+
+void tst_QNetworkDiskCache::setCookieHeaderMetaDataChangedSlot()
+{
+ QList<QNetworkCookie> actualCookieJar = manager->cookieJar()->cookiesForUrl(url);
+ QVERIFY(!actualCookieJar.empty());
+}
+
void tst_QNetworkDiskCache::setCacheDirectory_data()
{
QTest::addColumn<QString>("cacheDir");