OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "net/spdy/spdy_session.h" | 5 #include "net/spdy/spdy_session.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/callback.h" | 8 #include "base/callback.h" |
9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
10 #include "base/run_loop.h" | 10 #include "base/run_loop.h" |
(...skipping 4375 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4386 | 4386 |
4387 EXPECT_TRUE(delegate1.send_headers_completed()); | 4387 EXPECT_TRUE(delegate1.send_headers_completed()); |
4388 EXPECT_EQ(std::string(), delegate1.TakeReceivedData()); | 4388 EXPECT_EQ(std::string(), delegate1.TakeReceivedData()); |
4389 | 4389 |
4390 EXPECT_TRUE(delegate2.send_headers_completed()); | 4390 EXPECT_TRUE(delegate2.send_headers_completed()); |
4391 EXPECT_EQ(std::string(), delegate2.TakeReceivedData()); | 4391 EXPECT_EQ(std::string(), delegate2.TakeReceivedData()); |
4392 | 4392 |
4393 EXPECT_TRUE(data.at_write_eof()); | 4393 EXPECT_TRUE(data.at_write_eof()); |
4394 } | 4394 } |
4395 | 4395 |
| 4396 TEST_P(SpdySessionTest, SplitHeaders) { |
| 4397 GURL kStreamUrl("http://www.google.com/foo.dat"); |
| 4398 SpdyHeaderBlock headers; |
| 4399 spdy_util_.AddUrlToHeaderBlock(kStreamUrl.spec(), &headers); |
| 4400 headers["alpha"] = "beta"; |
| 4401 |
| 4402 SpdyHeaderBlock request_headers; |
| 4403 SpdyHeaderBlock response_headers; |
| 4404 |
| 4405 SplitPushedHeadersToRequestAndResponse( |
| 4406 headers, spdy_util_.spdy_version(), &request_headers, &response_headers); |
| 4407 |
| 4408 SpdyHeaderBlock::const_iterator it = response_headers.find("alpha"); |
| 4409 EXPECT_NE(it, response_headers.end()); |
| 4410 EXPECT_EQ("beta", it->second); |
| 4411 |
| 4412 GURL request_url = |
| 4413 GetUrlFromHeaderBlock(request_headers, spdy_util_.spdy_version(), true); |
| 4414 EXPECT_EQ(kStreamUrl, request_url); |
| 4415 } |
| 4416 |
4396 TEST(MapFramerErrorToProtocolError, MapsValues) { | 4417 TEST(MapFramerErrorToProtocolError, MapsValues) { |
4397 CHECK_EQ(SPDY_ERROR_INVALID_CONTROL_FRAME, | 4418 CHECK_EQ(SPDY_ERROR_INVALID_CONTROL_FRAME, |
4398 MapFramerErrorToProtocolError( | 4419 MapFramerErrorToProtocolError( |
4399 SpdyFramer::SPDY_INVALID_CONTROL_FRAME)); | 4420 SpdyFramer::SPDY_INVALID_CONTROL_FRAME)); |
4400 CHECK_EQ(SPDY_ERROR_INVALID_DATA_FRAME_FLAGS, | 4421 CHECK_EQ(SPDY_ERROR_INVALID_DATA_FRAME_FLAGS, |
4401 MapFramerErrorToProtocolError( | 4422 MapFramerErrorToProtocolError( |
4402 SpdyFramer::SPDY_INVALID_DATA_FRAME_FLAGS)); | 4423 SpdyFramer::SPDY_INVALID_DATA_FRAME_FLAGS)); |
4403 CHECK_EQ(SPDY_ERROR_GOAWAY_FRAME_CORRUPT, | 4424 CHECK_EQ(SPDY_ERROR_GOAWAY_FRAME_CORRUPT, |
4404 MapFramerErrorToProtocolError( | 4425 MapFramerErrorToProtocolError( |
4405 SpdyFramer::SPDY_GOAWAY_FRAME_CORRUPT)); | 4426 SpdyFramer::SPDY_GOAWAY_FRAME_CORRUPT)); |
4406 CHECK_EQ(SPDY_ERROR_UNEXPECTED_FRAME, | 4427 CHECK_EQ(SPDY_ERROR_UNEXPECTED_FRAME, |
4407 MapFramerErrorToProtocolError( | 4428 MapFramerErrorToProtocolError( |
4408 SpdyFramer::SPDY_UNEXPECTED_FRAME)); | 4429 SpdyFramer::SPDY_UNEXPECTED_FRAME)); |
4409 } | 4430 } |
4410 | 4431 |
4411 TEST(MapRstStreamStatusToProtocolError, MapsValues) { | 4432 TEST(MapRstStreamStatusToProtocolError, MapsValues) { |
4412 CHECK_EQ(STATUS_CODE_PROTOCOL_ERROR, | 4433 CHECK_EQ(STATUS_CODE_PROTOCOL_ERROR, |
4413 MapRstStreamStatusToProtocolError( | 4434 MapRstStreamStatusToProtocolError( |
4414 RST_STREAM_PROTOCOL_ERROR)); | 4435 RST_STREAM_PROTOCOL_ERROR)); |
4415 CHECK_EQ(STATUS_CODE_FRAME_SIZE_ERROR, | 4436 CHECK_EQ(STATUS_CODE_FRAME_SIZE_ERROR, |
4416 MapRstStreamStatusToProtocolError( | 4437 MapRstStreamStatusToProtocolError( |
4417 RST_STREAM_FRAME_SIZE_ERROR)); | 4438 RST_STREAM_FRAME_SIZE_ERROR)); |
4418 CHECK_EQ(STATUS_CODE_ENHANCE_YOUR_CALM, | 4439 CHECK_EQ(STATUS_CODE_ENHANCE_YOUR_CALM, |
4419 MapRstStreamStatusToProtocolError( | 4440 MapRstStreamStatusToProtocolError( |
4420 RST_STREAM_ENHANCE_YOUR_CALM)); | 4441 RST_STREAM_ENHANCE_YOUR_CALM)); |
4421 } | 4442 } |
4422 | 4443 |
4423 } // namespace net | 4444 } // namespace net |
OLD | NEW |