Index: net/quic/quic_network_transaction_unittest.cc |
diff --git a/net/quic/quic_network_transaction_unittest.cc b/net/quic/quic_network_transaction_unittest.cc |
index 0410c5973d7eb5c949470d0089ef25703f33e818..a7f0300c7c6f02e2de0f92cc66f130517cff48f2 100644 |
--- a/net/quic/quic_network_transaction_unittest.cc |
+++ b/net/quic/quic_network_transaction_unittest.cc |
@@ -9,6 +9,7 @@ |
#include "base/memory/scoped_ptr.h" |
#include "base/stl_util.h" |
#include "net/base/capturing_net_log.h" |
+#include "net/base/load_flags.h" |
#include "net/base/net_log_unittest.h" |
#include "net/base/test_completion_callback.h" |
#include "net/cert/mock_cert_verifier.h" |
@@ -583,6 +584,44 @@ TEST_P(QuicNetworkTransactionTest, DontUseAlternateProtocolProbabilityForQuic) { |
SendRequestAndExpectHttpResponse("hello world"); |
} |
+TEST_P(QuicNetworkTransactionTest, LoadHTTP11) { |
+ params_.origin_to_force_quic_on = |
+ HostPortPair::FromString("www.google.com:80"); |
+ |
+ MockRead http_reads[] = { |
+ MockRead("HTTP/1.1 200 OK\r\n"), |
+ MockRead(kQuicAlternateProtocol50pctHttpHeader), |
+ MockRead("hello world"), |
+ MockRead(SYNCHRONOUS, ERR_TEST_PEER_CLOSE_AFTER_NEXT_MOCK_READ), |
+ MockRead(ASYNC, OK), |
+ }; |
+ |
+ StaticSocketDataProvider http_data(http_reads, arraysize(http_reads), nullptr, |
+ 0); |
+ |
+ socket_factory_.AddSocketDataProvider(&http_data); |
+ CreateSession(); |
+ |
+ for (int i = 0; i <= 1; i++) { |
+ socket_factory_.ResetNextMockIndexes(); |
+ |
+ if (i == 0) { |
+ request_.load_flags = LOAD_UNENCRYPTED_HTTP11; |
+ } else if (i == 1) { |
+ request_.load_flags = 0; |
+ } |
+ scoped_ptr<HttpNetworkTransaction> trans( |
+ new HttpNetworkTransaction(DEFAULT_PRIORITY, session_.get())); |
+ TestCompletionCallback callback; |
+ int rv = |
+ trans.get()->Start(&request_, callback.callback(), net_log_.bound()); |
+ EXPECT_EQ(ERR_IO_PENDING, rv) << i; |
+ // When LOAD_ONLY_HTTP11 is enabled, connection is established |
+ // because QUIC is not used. |
+ EXPECT_EQ(i == 0, OK == callback.WaitForResult()) << i; |
+ } |
+} |
+ |
TEST_P(QuicNetworkTransactionTest, |
DontUseAlternateProtocolWithBadProbabilityForQuic) { |
MockRead http_reads[] = { |