| 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..459e97041678e856a96bf802e641d0337a076107 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,41 @@ 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();
|
| +
|
| + bool UnencryptedHTTP11Flag[2] = {false, true};
|
| + for (auto loadFlag : UnencryptedHTTP11Flag) {
|
| + socket_factory_.ResetNextMockIndexes();
|
| +
|
| + request_.load_flags = loadFlag ? LOAD_UNENCRYPTED_HTTP11 : 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) << loadFlag;
|
| + // When LOAD_ONLY_HTTP11 is enabled, connection is established
|
| + // because QUIC is not used.
|
| + EXPECT_EQ(loadFlag, OK == callback.WaitForResult()) << loadFlag;
|
| + }
|
| +}
|
| +
|
| TEST_P(QuicNetworkTransactionTest,
|
| DontUseAlternateProtocolWithBadProbabilityForQuic) {
|
| MockRead http_reads[] = {
|
|
|