diff options
author | tommi@chromium.org <tommi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-23 21:10:08 +0000 |
---|---|---|
committer | tommi@chromium.org <tommi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-23 21:10:08 +0000 |
commit | 6f3ad64a8dae4529cd88358f6d91d8750b836367 (patch) | |
tree | 9a06d8854caeb2131e12f21b24e56cb9606c5ddd /chrome_frame/test | |
parent | d999c7c3f4bd9c7c779b4c06ee148d3d0d227e60 (diff) | |
download | chromium_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.cc | 40 |
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; |