| 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[] = {
|
|
|