summaryrefslogtreecommitdiffstats
path: root/chrome_frame/test
diff options
context:
space:
mode:
authortommi@chromium.org <tommi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-23 21:10:08 +0000
committertommi@chromium.org <tommi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-23 21:10:08 +0000
commit6f3ad64a8dae4529cd88358f6d91d8750b836367 (patch)
tree9a06d8854caeb2131e12f21b24e56cb9606c5ddd /chrome_frame/test
parentd999c7c3f4bd9c7c779b4c06ee148d3d0d227e60 (diff)
downloadchromium_src-6f3ad64a8dae4529cd88358f6d91d8750b836367.zip
chromium_src-6f3ad64a8dae4529cd88358f6d91d8750b836367.tar.gz
chromium_src-6f3ad64a8dae4529cd88358f6d91d8750b836367.tar.bz2
Adding support for HEAD requests.
TEST=Http HEAD requests are now supported for IE. BUG=none Review URL: http://codereview.chromium.org/1186002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42382 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/test')
-rw-r--r--chrome_frame/test/url_request_test.cc40
1 files changed, 40 insertions, 0 deletions
diff --git a/chrome_frame/test/url_request_test.cc b/chrome_frame/test/url_request_test.cc
index 03428e5..971f239c 100644
--- a/chrome_frame/test/url_request_test.cc
+++ b/chrome_frame/test/url_request_test.cc
@@ -85,6 +85,46 @@ TEST(UrlmonUrlRequestTest, Simple1) {
server.TearDown();
}
+// Same as Simple1 except we use the HEAD verb to fetch only the headers
+// from the server.
+TEST(UrlmonUrlRequestTest, Head) {
+ MockUrlDelegate mock;
+ ChromeFrameHTTPServer server;
+ chrome_frame_test::TimedMsgLoop loop;
+ win_util::ScopedCOMInitializer init_com;
+ CComObjectStackEx<UrlmonUrlRequest> request;
+
+ server.SetUp();
+ request.AddRef();
+ request.Initialize(&mock, 1, // request_id
+ server.Resolve(L"files/chrome_frame_window_open.html").spec(),
+ "head",
+ "", // referrer
+ "", // extra request
+ NULL, // upload data
+ true); // frame busting
+
+ testing::InSequence s;
+ EXPECT_CALL(mock, OnResponseStarted(1, testing::_, testing::_, testing::_,
+ testing::_, testing::_, testing::_))
+ .Times(1)
+ .WillOnce(testing::IgnoreResult(testing::InvokeWithoutArgs(CreateFunctor(
+ &request, &UrlmonUrlRequest::Read, 512))));
+
+
+ // For HEAD requests we don't expect content reads.
+ EXPECT_CALL(mock, OnReadComplete(1, testing::_, testing::_)).Times(0);
+
+ EXPECT_CALL(mock, OnResponseEnd(1, testing::_))
+ .Times(1)
+ .WillOnce(QUIT_LOOP_SOON(loop, 2));
+
+ request.Start();
+ loop.RunFor(kChromeFrameLongNavigationTimeoutInSeconds);
+ request.Release();
+ server.TearDown();
+}
+
TEST(UrlmonUrlRequestTest, UnreachableUrl) {
MockUrlDelegate mock;
chrome_frame_test::TimedMsgLoop loop;