Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(925)

Side by Side Diff: net/spdy/spdy_stream_unittest.cc

Issue 1545233002: Convert Pass()→std::move() in //net (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « net/spdy/spdy_stream_test_util.cc ('k') | net/spdy/spdy_test_util_common.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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_stream.h"
6
5 #include <stdint.h> 7 #include <stdint.h>
6
7 #include <cstddef> 8 #include <cstddef>
8 #include <limits> 9 #include <limits>
9 #include <string> 10 #include <string>
11 #include <utility>
10 #include <vector> 12 #include <vector>
11 13
12 #include "base/memory/ref_counted.h" 14 #include "base/memory/ref_counted.h"
13 #include "base/memory/scoped_ptr.h" 15 #include "base/memory/scoped_ptr.h"
14 #include "base/run_loop.h" 16 #include "base/run_loop.h"
15 #include "base/strings/string_piece.h" 17 #include "base/strings/string_piece.h"
16 #include "net/base/completion_callback.h" 18 #include "net/base/completion_callback.h"
17 #include "net/base/request_priority.h" 19 #include "net/base/request_priority.h"
18 #include "net/log/test_net_log.h" 20 #include "net/log/test_net_log.h"
19 #include "net/log/test_net_log_entry.h" 21 #include "net/log/test_net_log_entry.h"
20 #include "net/log/test_net_log_util.h" 22 #include "net/log/test_net_log_util.h"
21 #include "net/socket/next_proto.h" 23 #include "net/socket/next_proto.h"
22 #include "net/socket/socket_test_util.h" 24 #include "net/socket/socket_test_util.h"
23 #include "net/spdy/buffered_spdy_framer.h" 25 #include "net/spdy/buffered_spdy_framer.h"
24 #include "net/spdy/spdy_http_utils.h" 26 #include "net/spdy/spdy_http_utils.h"
25 #include "net/spdy/spdy_protocol.h" 27 #include "net/spdy/spdy_protocol.h"
26 #include "net/spdy/spdy_session.h" 28 #include "net/spdy/spdy_session.h"
27 #include "net/spdy/spdy_stream.h"
28 #include "net/spdy/spdy_stream_test_util.h" 29 #include "net/spdy/spdy_stream_test_util.h"
29 #include "net/spdy/spdy_test_util_common.h" 30 #include "net/spdy/spdy_test_util_common.h"
30 #include "testing/gtest/include/gtest/gtest.h" 31 #include "testing/gtest/include/gtest/gtest.h"
31 32
32 // TODO(ukai): factor out common part with spdy_http_stream_unittest.cc 33 // TODO(ukai): factor out common part with spdy_http_stream_unittest.cc
33 // 34 //
34 namespace net { 35 namespace net {
35 36
36 namespace test { 37 namespace test {
37 38
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
189 ASSERT_TRUE(stream.get() != NULL); 190 ASSERT_TRUE(stream.get() != NULL);
190 191
191 StreamDelegateSendImmediate delegate(stream, kPostBodyStringPiece); 192 StreamDelegateSendImmediate delegate(stream, kPostBodyStringPiece);
192 stream->SetDelegate(&delegate); 193 stream->SetDelegate(&delegate);
193 194
194 EXPECT_FALSE(stream->HasUrlFromHeaders()); 195 EXPECT_FALSE(stream->HasUrlFromHeaders());
195 196
196 scoped_ptr<SpdyHeaderBlock> headers( 197 scoped_ptr<SpdyHeaderBlock> headers(
197 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); 198 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength));
198 EXPECT_EQ(ERR_IO_PENDING, 199 EXPECT_EQ(ERR_IO_PENDING,
199 stream->SendRequestHeaders(headers.Pass(), MORE_DATA_TO_SEND)); 200 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND));
200 EXPECT_TRUE(stream->HasUrlFromHeaders()); 201 EXPECT_TRUE(stream->HasUrlFromHeaders());
201 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec()); 202 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec());
202 203
203 EXPECT_EQ(ERR_CONNECTION_CLOSED, delegate.WaitForClose()); 204 EXPECT_EQ(ERR_CONNECTION_CLOSED, delegate.WaitForClose());
204 205
205 EXPECT_TRUE(delegate.send_headers_completed()); 206 EXPECT_TRUE(delegate.send_headers_completed());
206 EXPECT_EQ("200", delegate.GetResponseHeaderValue(spdy_util_.GetStatusKey())); 207 EXPECT_EQ("200", delegate.GetResponseHeaderValue(spdy_util_.GetStatusKey()));
207 EXPECT_EQ(std::string(kPostBody, kPostBodyLength), 208 EXPECT_EQ(std::string(kPostBody, kPostBodyLength),
208 delegate.TakeReceivedData()); 209 delegate.TakeReceivedData());
209 EXPECT_TRUE(data.AllWriteDataConsumed()); 210 EXPECT_TRUE(data.AllWriteDataConsumed());
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
268 ASSERT_TRUE(stream.get() != NULL); 269 ASSERT_TRUE(stream.get() != NULL);
269 270
270 StreamDelegateWithTrailers delegate(stream, kPostBodyStringPiece); 271 StreamDelegateWithTrailers delegate(stream, kPostBodyStringPiece);
271 stream->SetDelegate(&delegate); 272 stream->SetDelegate(&delegate);
272 273
273 EXPECT_FALSE(stream->HasUrlFromHeaders()); 274 EXPECT_FALSE(stream->HasUrlFromHeaders());
274 275
275 scoped_ptr<SpdyHeaderBlock> headers( 276 scoped_ptr<SpdyHeaderBlock> headers(
276 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); 277 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength));
277 EXPECT_EQ(ERR_IO_PENDING, 278 EXPECT_EQ(ERR_IO_PENDING,
278 stream->SendRequestHeaders(headers.Pass(), MORE_DATA_TO_SEND)); 279 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND));
279 EXPECT_TRUE(stream->HasUrlFromHeaders()); 280 EXPECT_TRUE(stream->HasUrlFromHeaders());
280 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec()); 281 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec());
281 282
282 EXPECT_EQ(ERR_CONNECTION_CLOSED, delegate.WaitForClose()); 283 EXPECT_EQ(ERR_CONNECTION_CLOSED, delegate.WaitForClose());
283 284
284 EXPECT_TRUE(delegate.send_headers_completed()); 285 EXPECT_TRUE(delegate.send_headers_completed());
285 EXPECT_EQ("200", delegate.GetResponseHeaderValue(spdy_util_.GetStatusKey())); 286 EXPECT_EQ("200", delegate.GetResponseHeaderValue(spdy_util_.GetStatusKey()));
286 const SpdyHeaderBlock& received_trailers = delegate.trailers(); 287 const SpdyHeaderBlock& received_trailers = delegate.trailers();
287 SpdyHeaderBlock::const_iterator it = received_trailers.find("foo"); 288 SpdyHeaderBlock::const_iterator it = received_trailers.find("foo");
288 EXPECT_EQ("bar", it->second); 289 EXPECT_EQ("bar", it->second);
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
382 ASSERT_TRUE(stream.get() != NULL); 383 ASSERT_TRUE(stream.get() != NULL);
383 384
384 StreamDelegateSendImmediate delegate(stream, kPostBodyStringPiece); 385 StreamDelegateSendImmediate delegate(stream, kPostBodyStringPiece);
385 stream->SetDelegate(&delegate); 386 stream->SetDelegate(&delegate);
386 387
387 EXPECT_FALSE(stream->HasUrlFromHeaders()); 388 EXPECT_FALSE(stream->HasUrlFromHeaders());
388 389
389 scoped_ptr<SpdyHeaderBlock> headers( 390 scoped_ptr<SpdyHeaderBlock> headers(
390 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); 391 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength));
391 EXPECT_EQ(ERR_IO_PENDING, 392 EXPECT_EQ(ERR_IO_PENDING,
392 stream->SendRequestHeaders(headers.Pass(), MORE_DATA_TO_SEND)); 393 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND));
393 EXPECT_TRUE(stream->HasUrlFromHeaders()); 394 EXPECT_TRUE(stream->HasUrlFromHeaders());
394 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec()); 395 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec());
395 396
396 EXPECT_EQ(ERR_CONNECTION_CLOSED, delegate.WaitForClose()); 397 EXPECT_EQ(ERR_CONNECTION_CLOSED, delegate.WaitForClose());
397 398
398 const SpdyStreamId stream_id = delegate.stream_id(); 399 const SpdyStreamId stream_id = delegate.stream_id();
399 400
400 EXPECT_TRUE(delegate.send_headers_completed()); 401 EXPECT_TRUE(delegate.send_headers_completed());
401 EXPECT_EQ("200", delegate.GetResponseHeaderValue(spdy_util_.GetStatusKey())); 402 EXPECT_EQ("200", delegate.GetResponseHeaderValue(spdy_util_.GetStatusKey()));
402 EXPECT_EQ(std::string(kPostBody, kPostBodyLength), 403 EXPECT_EQ(std::string(kPostBody, kPostBodyLength),
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
461 462
462 std::string body_data(3 * kMaxSpdyFrameChunkSize, 'x'); 463 std::string body_data(3 * kMaxSpdyFrameChunkSize, 'x');
463 StreamDelegateWithBody delegate(stream, body_data); 464 StreamDelegateWithBody delegate(stream, body_data);
464 stream->SetDelegate(&delegate); 465 stream->SetDelegate(&delegate);
465 466
466 EXPECT_FALSE(stream->HasUrlFromHeaders()); 467 EXPECT_FALSE(stream->HasUrlFromHeaders());
467 468
468 scoped_ptr<SpdyHeaderBlock> headers( 469 scoped_ptr<SpdyHeaderBlock> headers(
469 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); 470 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength));
470 EXPECT_EQ(ERR_IO_PENDING, 471 EXPECT_EQ(ERR_IO_PENDING,
471 stream->SendRequestHeaders(headers.Pass(), MORE_DATA_TO_SEND)); 472 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND));
472 EXPECT_TRUE(stream->HasUrlFromHeaders()); 473 EXPECT_TRUE(stream->HasUrlFromHeaders());
473 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec()); 474 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec());
474 475
475 EXPECT_EQ(ERR_CONNECTION_CLOSED, delegate.WaitForClose()); 476 EXPECT_EQ(ERR_CONNECTION_CLOSED, delegate.WaitForClose());
476 477
477 EXPECT_TRUE(delegate.send_headers_completed()); 478 EXPECT_TRUE(delegate.send_headers_completed());
478 EXPECT_EQ("200", delegate.GetResponseHeaderValue(spdy_util_.GetStatusKey())); 479 EXPECT_EQ("200", delegate.GetResponseHeaderValue(spdy_util_.GetStatusKey()));
479 EXPECT_EQ(std::string(), delegate.TakeReceivedData()); 480 EXPECT_EQ(std::string(), delegate.TakeReceivedData());
480 EXPECT_TRUE(data.AllWriteDataConsumed()); 481 EXPECT_TRUE(data.AllWriteDataConsumed());
481 } 482 }
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
520 521
521 std::string body_data(3 * kMaxSpdyFrameChunkSize, 'x'); 522 std::string body_data(3 * kMaxSpdyFrameChunkSize, 'x');
522 StreamDelegateSendImmediate delegate(stream, body_data); 523 StreamDelegateSendImmediate delegate(stream, body_data);
523 stream->SetDelegate(&delegate); 524 stream->SetDelegate(&delegate);
524 525
525 EXPECT_FALSE(stream->HasUrlFromHeaders()); 526 EXPECT_FALSE(stream->HasUrlFromHeaders());
526 527
527 scoped_ptr<SpdyHeaderBlock> headers( 528 scoped_ptr<SpdyHeaderBlock> headers(
528 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); 529 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength));
529 EXPECT_EQ(ERR_IO_PENDING, 530 EXPECT_EQ(ERR_IO_PENDING,
530 stream->SendRequestHeaders(headers.Pass(), MORE_DATA_TO_SEND)); 531 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND));
531 EXPECT_TRUE(stream->HasUrlFromHeaders()); 532 EXPECT_TRUE(stream->HasUrlFromHeaders());
532 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec()); 533 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec());
533 534
534 EXPECT_EQ(ERR_CONNECTION_CLOSED, delegate.WaitForClose()); 535 EXPECT_EQ(ERR_CONNECTION_CLOSED, delegate.WaitForClose());
535 536
536 EXPECT_TRUE(delegate.send_headers_completed()); 537 EXPECT_TRUE(delegate.send_headers_completed());
537 EXPECT_EQ("200", delegate.GetResponseHeaderValue(spdy_util_.GetStatusKey())); 538 EXPECT_EQ("200", delegate.GetResponseHeaderValue(spdy_util_.GetStatusKey()));
538 EXPECT_EQ(std::string(), delegate.TakeReceivedData()); 539 EXPECT_EQ(std::string(), delegate.TakeReceivedData());
539 EXPECT_TRUE(data.AllWriteDataConsumed()); 540 EXPECT_TRUE(data.AllWriteDataConsumed());
540 } 541 }
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
573 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog()); 574 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog());
574 ASSERT_TRUE(stream.get() != NULL); 575 ASSERT_TRUE(stream.get() != NULL);
575 576
576 StreamDelegateDoNothing delegate(stream); 577 StreamDelegateDoNothing delegate(stream);
577 stream->SetDelegate(&delegate); 578 stream->SetDelegate(&delegate);
578 579
579 EXPECT_FALSE(stream->HasUrlFromHeaders()); 580 EXPECT_FALSE(stream->HasUrlFromHeaders());
580 581
581 scoped_ptr<SpdyHeaderBlock> headers( 582 scoped_ptr<SpdyHeaderBlock> headers(
582 spdy_util_.ConstructGetHeaderBlock(kStreamUrl)); 583 spdy_util_.ConstructGetHeaderBlock(kStreamUrl));
583 EXPECT_EQ(ERR_IO_PENDING, 584 EXPECT_EQ(ERR_IO_PENDING, stream->SendRequestHeaders(std::move(headers),
584 stream->SendRequestHeaders(headers.Pass(), NO_MORE_DATA_TO_SEND)); 585 NO_MORE_DATA_TO_SEND));
585 EXPECT_TRUE(stream->HasUrlFromHeaders()); 586 EXPECT_TRUE(stream->HasUrlFromHeaders());
586 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec()); 587 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec());
587 588
588 EXPECT_EQ(ERR_SPDY_PROTOCOL_ERROR, delegate.WaitForClose()); 589 EXPECT_EQ(ERR_SPDY_PROTOCOL_ERROR, delegate.WaitForClose());
589 } 590 }
590 591
591 // Receiving a header with uppercase ASCII should result in a protocol 592 // Receiving a header with uppercase ASCII should result in a protocol
592 // error even for a push stream. 593 // error even for a push stream.
593 TEST_P(SpdyStreamTest, UpperCaseHeadersOnPush) { 594 TEST_P(SpdyStreamTest, UpperCaseHeadersOnPush) {
594 GURL url(kStreamUrl); 595 GURL url(kStreamUrl);
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
628 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog()); 629 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog());
629 ASSERT_TRUE(stream.get() != NULL); 630 ASSERT_TRUE(stream.get() != NULL);
630 631
631 StreamDelegateDoNothing delegate(stream); 632 StreamDelegateDoNothing delegate(stream);
632 stream->SetDelegate(&delegate); 633 stream->SetDelegate(&delegate);
633 634
634 EXPECT_FALSE(stream->HasUrlFromHeaders()); 635 EXPECT_FALSE(stream->HasUrlFromHeaders());
635 636
636 scoped_ptr<SpdyHeaderBlock> headers( 637 scoped_ptr<SpdyHeaderBlock> headers(
637 spdy_util_.ConstructGetHeaderBlock(kStreamUrl)); 638 spdy_util_.ConstructGetHeaderBlock(kStreamUrl));
638 EXPECT_EQ(ERR_IO_PENDING, 639 EXPECT_EQ(ERR_IO_PENDING, stream->SendRequestHeaders(std::move(headers),
639 stream->SendRequestHeaders(headers.Pass(), NO_MORE_DATA_TO_SEND)); 640 NO_MORE_DATA_TO_SEND));
640 EXPECT_TRUE(stream->HasUrlFromHeaders()); 641 EXPECT_TRUE(stream->HasUrlFromHeaders());
641 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec()); 642 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec());
642 643
643 data.RunUntilPaused(); 644 data.RunUntilPaused();
644 645
645 base::WeakPtr<SpdyStream> push_stream; 646 base::WeakPtr<SpdyStream> push_stream;
646 EXPECT_EQ(OK, session->GetPushStream(url, &push_stream, BoundNetLog())); 647 EXPECT_EQ(OK, session->GetPushStream(url, &push_stream, BoundNetLog()));
647 EXPECT_FALSE(push_stream); 648 EXPECT_FALSE(push_stream);
648 649
649 data.Resume(); 650 data.Resume();
(...skipping 15 matching lines...) Expand all
665 AddRead(*reply); 666 AddRead(*reply);
666 667
667 scoped_ptr<SpdyFrame> 668 scoped_ptr<SpdyFrame>
668 push(spdy_util_.ConstructSpdyPush(NULL, 0, 2, 1, kStreamUrl)); 669 push(spdy_util_.ConstructSpdyPush(NULL, 0, 2, 1, kStreamUrl));
669 AddRead(*push); 670 AddRead(*push);
670 671
671 AddReadPause(); 672 AddReadPause();
672 673
673 scoped_ptr<SpdyHeaderBlock> late_headers(new SpdyHeaderBlock()); 674 scoped_ptr<SpdyHeaderBlock> late_headers(new SpdyHeaderBlock());
674 (*late_headers)["X-UpperCase"] = "yes"; 675 (*late_headers)["X-UpperCase"] = "yes";
675 scoped_ptr<SpdyFrame> headers_frame( 676 scoped_ptr<SpdyFrame> headers_frame(spdy_util_.ConstructSpdyControlFrame(
676 spdy_util_.ConstructSpdyControlFrame(late_headers.Pass(), 677 std::move(late_headers), false, 2, LOWEST, HEADERS, CONTROL_FLAG_NONE,
677 false, 678 0));
678 2,
679 LOWEST,
680 HEADERS,
681 CONTROL_FLAG_NONE,
682 0));
683 AddRead(*headers_frame); 679 AddRead(*headers_frame);
684 680
685 AddWritePause(); 681 AddWritePause();
686 682
687 scoped_ptr<SpdyFrame> rst( 683 scoped_ptr<SpdyFrame> rst(
688 spdy_util_.ConstructSpdyRstStream(2, RST_STREAM_PROTOCOL_ERROR)); 684 spdy_util_.ConstructSpdyRstStream(2, RST_STREAM_PROTOCOL_ERROR));
689 AddWrite(*rst); 685 AddWrite(*rst);
690 686
691 AddReadEOF(); 687 AddReadEOF();
692 688
(...skipping 11 matching lines...) Expand all
704 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog()); 700 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog());
705 ASSERT_TRUE(stream.get() != NULL); 701 ASSERT_TRUE(stream.get() != NULL);
706 702
707 StreamDelegateDoNothing delegate(stream); 703 StreamDelegateDoNothing delegate(stream);
708 stream->SetDelegate(&delegate); 704 stream->SetDelegate(&delegate);
709 705
710 EXPECT_FALSE(stream->HasUrlFromHeaders()); 706 EXPECT_FALSE(stream->HasUrlFromHeaders());
711 707
712 scoped_ptr<SpdyHeaderBlock> headers( 708 scoped_ptr<SpdyHeaderBlock> headers(
713 spdy_util_.ConstructGetHeaderBlock(kStreamUrl)); 709 spdy_util_.ConstructGetHeaderBlock(kStreamUrl));
714 EXPECT_EQ(ERR_IO_PENDING, 710 EXPECT_EQ(ERR_IO_PENDING, stream->SendRequestHeaders(std::move(headers),
715 stream->SendRequestHeaders(headers.Pass(), NO_MORE_DATA_TO_SEND)); 711 NO_MORE_DATA_TO_SEND));
716 EXPECT_TRUE(stream->HasUrlFromHeaders()); 712 EXPECT_TRUE(stream->HasUrlFromHeaders());
717 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec()); 713 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec());
718 714
719 data.RunUntilPaused(); 715 data.RunUntilPaused();
720 716
721 base::WeakPtr<SpdyStream> push_stream; 717 base::WeakPtr<SpdyStream> push_stream;
722 EXPECT_EQ(OK, session->GetPushStream(url, &push_stream, BoundNetLog())); 718 EXPECT_EQ(OK, session->GetPushStream(url, &push_stream, BoundNetLog()));
723 EXPECT_TRUE(push_stream); 719 EXPECT_TRUE(push_stream);
724 720
725 data.Resume(); 721 data.Resume();
(...skipping 21 matching lines...) Expand all
747 AddRead(*reply); 743 AddRead(*reply);
748 744
749 scoped_ptr<SpdyFrame> 745 scoped_ptr<SpdyFrame>
750 push(spdy_util_.ConstructSpdyPush(NULL, 0, 2, 1, kStreamUrl)); 746 push(spdy_util_.ConstructSpdyPush(NULL, 0, 2, 1, kStreamUrl));
751 AddRead(*push); 747 AddRead(*push);
752 748
753 AddReadPause(); 749 AddReadPause();
754 750
755 scoped_ptr<SpdyHeaderBlock> late_headers(new SpdyHeaderBlock()); 751 scoped_ptr<SpdyHeaderBlock> late_headers(new SpdyHeaderBlock());
756 (*late_headers)[spdy_util_.GetStatusKey()] = "500 Server Error"; 752 (*late_headers)[spdy_util_.GetStatusKey()] = "500 Server Error";
757 scoped_ptr<SpdyFrame> headers_frame( 753 scoped_ptr<SpdyFrame> headers_frame(spdy_util_.ConstructSpdyControlFrame(
758 spdy_util_.ConstructSpdyControlFrame(late_headers.Pass(), 754 std::move(late_headers), false, 2, LOWEST, HEADERS, CONTROL_FLAG_NONE,
759 false, 755 0));
760 2,
761 LOWEST,
762 HEADERS,
763 CONTROL_FLAG_NONE,
764 0));
765 AddRead(*headers_frame); 756 AddRead(*headers_frame);
766 757
767 AddReadPause(); 758 AddReadPause();
768 759
769 scoped_ptr<SpdyFrame> rst( 760 scoped_ptr<SpdyFrame> rst(
770 spdy_util_.ConstructSpdyRstStream(2, RST_STREAM_PROTOCOL_ERROR)); 761 spdy_util_.ConstructSpdyRstStream(2, RST_STREAM_PROTOCOL_ERROR));
771 AddWrite(*rst); 762 AddWrite(*rst);
772 763
773 AddReadEOF(); 764 AddReadEOF();
774 765
(...skipping 11 matching lines...) Expand all
786 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog()); 777 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog());
787 ASSERT_TRUE(stream.get() != NULL); 778 ASSERT_TRUE(stream.get() != NULL);
788 779
789 StreamDelegateDoNothing delegate(stream); 780 StreamDelegateDoNothing delegate(stream);
790 stream->SetDelegate(&delegate); 781 stream->SetDelegate(&delegate);
791 782
792 EXPECT_FALSE(stream->HasUrlFromHeaders()); 783 EXPECT_FALSE(stream->HasUrlFromHeaders());
793 784
794 scoped_ptr<SpdyHeaderBlock> headers( 785 scoped_ptr<SpdyHeaderBlock> headers(
795 spdy_util_.ConstructGetHeaderBlock(kStreamUrl)); 786 spdy_util_.ConstructGetHeaderBlock(kStreamUrl));
796 EXPECT_EQ(ERR_IO_PENDING, 787 EXPECT_EQ(ERR_IO_PENDING, stream->SendRequestHeaders(std::move(headers),
797 stream->SendRequestHeaders(headers.Pass(), NO_MORE_DATA_TO_SEND)); 788 NO_MORE_DATA_TO_SEND));
798 EXPECT_TRUE(stream->HasUrlFromHeaders()); 789 EXPECT_TRUE(stream->HasUrlFromHeaders());
799 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec()); 790 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec());
800 791
801 data.RunUntilPaused(); 792 data.RunUntilPaused();
802 793
803 base::WeakPtr<SpdyStream> push_stream; 794 base::WeakPtr<SpdyStream> push_stream;
804 EXPECT_EQ(OK, session->GetPushStream(url, &push_stream, BoundNetLog())); 795 EXPECT_EQ(OK, session->GetPushStream(url, &push_stream, BoundNetLog()));
805 EXPECT_TRUE(push_stream); 796 EXPECT_TRUE(push_stream);
806 797
807 data.Resume(); 798 data.Resume();
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
849 base::WeakPtr<SpdyStream> stream = 840 base::WeakPtr<SpdyStream> stream =
850 CreateStreamSynchronously( 841 CreateStreamSynchronously(
851 SPDY_BIDIRECTIONAL_STREAM, session, url, LOWEST, log.bound()); 842 SPDY_BIDIRECTIONAL_STREAM, session, url, LOWEST, log.bound());
852 ASSERT_TRUE(stream.get() != NULL); 843 ASSERT_TRUE(stream.get() != NULL);
853 StreamDelegateSendImmediate delegate(stream, kPostBodyStringPiece); 844 StreamDelegateSendImmediate delegate(stream, kPostBodyStringPiece);
854 stream->SetDelegate(&delegate); 845 stream->SetDelegate(&delegate);
855 846
856 scoped_ptr<SpdyHeaderBlock> headers( 847 scoped_ptr<SpdyHeaderBlock> headers(
857 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); 848 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength));
858 EXPECT_EQ(ERR_IO_PENDING, 849 EXPECT_EQ(ERR_IO_PENDING,
859 stream->SendRequestHeaders(headers.Pass(), MORE_DATA_TO_SEND)); 850 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND));
860 EXPECT_TRUE(stream->HasUrlFromHeaders()); 851 EXPECT_TRUE(stream->HasUrlFromHeaders());
861 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec()); 852 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec());
862 853
863 data.RunUntilPaused(); 854 data.RunUntilPaused();
864 855
865 int32_t old_send_window_size = stream->send_window_size(); 856 int32_t old_send_window_size = stream->send_window_size();
866 ASSERT_GT(old_send_window_size, 0); 857 ASSERT_GT(old_send_window_size, 0);
867 int32_t delta_window_size = 858 int32_t delta_window_size =
868 std::numeric_limits<int32_t>::max() - old_send_window_size + 1; 859 std::numeric_limits<int32_t>::max() - old_send_window_size + 1;
869 stream->IncreaseSendWindowSize(delta_window_size); 860 stream->IncreaseSendWindowSize(delta_window_size);
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
942 933
943 StreamDelegateWithBody delegate(stream, kPostBodyStringPiece); 934 StreamDelegateWithBody delegate(stream, kPostBodyStringPiece);
944 stream->SetDelegate(&delegate); 935 stream->SetDelegate(&delegate);
945 936
946 EXPECT_FALSE(stream->HasUrlFromHeaders()); 937 EXPECT_FALSE(stream->HasUrlFromHeaders());
947 EXPECT_FALSE(stream->send_stalled_by_flow_control()); 938 EXPECT_FALSE(stream->send_stalled_by_flow_control());
948 939
949 scoped_ptr<SpdyHeaderBlock> headers( 940 scoped_ptr<SpdyHeaderBlock> headers(
950 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); 941 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength));
951 EXPECT_EQ(ERR_IO_PENDING, 942 EXPECT_EQ(ERR_IO_PENDING,
952 stream->SendRequestHeaders(headers.Pass(), MORE_DATA_TO_SEND)); 943 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND));
953 EXPECT_TRUE(stream->HasUrlFromHeaders()); 944 EXPECT_TRUE(stream->HasUrlFromHeaders());
954 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec()); 945 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec());
955 946
956 StallStream(stream); 947 StallStream(stream);
957 948
958 base::RunLoop().RunUntilIdle(); 949 base::RunLoop().RunUntilIdle();
959 950
960 EXPECT_TRUE(stream->send_stalled_by_flow_control()); 951 EXPECT_TRUE(stream->send_stalled_by_flow_control());
961 952
962 unstall_function.Run(stream, kPostBodyLength); 953 unstall_function.Run(stream, kPostBodyLength);
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
1023 ASSERT_TRUE(stream.get() != NULL); 1014 ASSERT_TRUE(stream.get() != NULL);
1024 1015
1025 StreamDelegateSendImmediate delegate(stream, kPostBodyStringPiece); 1016 StreamDelegateSendImmediate delegate(stream, kPostBodyStringPiece);
1026 stream->SetDelegate(&delegate); 1017 stream->SetDelegate(&delegate);
1027 1018
1028 EXPECT_FALSE(stream->HasUrlFromHeaders()); 1019 EXPECT_FALSE(stream->HasUrlFromHeaders());
1029 1020
1030 scoped_ptr<SpdyHeaderBlock> headers( 1021 scoped_ptr<SpdyHeaderBlock> headers(
1031 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); 1022 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength));
1032 EXPECT_EQ(ERR_IO_PENDING, 1023 EXPECT_EQ(ERR_IO_PENDING,
1033 stream->SendRequestHeaders(headers.Pass(), MORE_DATA_TO_SEND)); 1024 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND));
1034 EXPECT_TRUE(stream->HasUrlFromHeaders()); 1025 EXPECT_TRUE(stream->HasUrlFromHeaders());
1035 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec()); 1026 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec());
1036 1027
1037 data.RunUntilPaused(); 1028 data.RunUntilPaused();
1038 1029
1039 EXPECT_FALSE(stream->send_stalled_by_flow_control()); 1030 EXPECT_FALSE(stream->send_stalled_by_flow_control());
1040 1031
1041 StallStream(stream); 1032 StallStream(stream);
1042 1033
1043 data.Resume(); 1034 data.Resume();
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
1106 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog()); 1097 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog());
1107 ASSERT_TRUE(stream.get() != NULL); 1098 ASSERT_TRUE(stream.get() != NULL);
1108 1099
1109 StreamDelegateDoNothing delegate(stream); 1100 StreamDelegateDoNothing delegate(stream);
1110 stream->SetDelegate(&delegate); 1101 stream->SetDelegate(&delegate);
1111 1102
1112 EXPECT_FALSE(stream->HasUrlFromHeaders()); 1103 EXPECT_FALSE(stream->HasUrlFromHeaders());
1113 1104
1114 scoped_ptr<SpdyHeaderBlock> headers( 1105 scoped_ptr<SpdyHeaderBlock> headers(
1115 spdy_util_.ConstructGetHeaderBlock(kStreamUrl)); 1106 spdy_util_.ConstructGetHeaderBlock(kStreamUrl));
1116 EXPECT_EQ(ERR_IO_PENDING, 1107 EXPECT_EQ(ERR_IO_PENDING, stream->SendRequestHeaders(std::move(headers),
1117 stream->SendRequestHeaders(headers.Pass(), NO_MORE_DATA_TO_SEND)); 1108 NO_MORE_DATA_TO_SEND));
1118 EXPECT_TRUE(stream->HasUrlFromHeaders()); 1109 EXPECT_TRUE(stream->HasUrlFromHeaders());
1119 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec()); 1110 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec());
1120 1111
1121 int64_t reply_frame_len = reply->size(); 1112 int64_t reply_frame_len = reply->size();
1122 int64_t data_header_len = 1113 int64_t data_header_len =
1123 spdy_util_.CreateFramer(false)->GetDataFrameMinimumSize(); 1114 spdy_util_.CreateFramer(false)->GetDataFrameMinimumSize();
1124 int64_t data_frame_len = data_header_len + kPostBodyLength; 1115 int64_t data_frame_len = data_header_len + kPostBodyLength;
1125 int64_t response_len = reply_frame_len + data_frame_len; 1116 int64_t response_len = reply_frame_len + data_frame_len;
1126 1117
1127 EXPECT_EQ(0, stream->raw_received_bytes()); 1118 EXPECT_EQ(0, stream->raw_received_bytes());
(...skipping 13 matching lines...) Expand all
1141 EXPECT_EQ(response_len, stream->raw_received_bytes()); 1132 EXPECT_EQ(response_len, stream->raw_received_bytes());
1142 1133
1143 // FIN 1134 // FIN
1144 data.Resume(); 1135 data.Resume();
1145 EXPECT_EQ(ERR_CONNECTION_CLOSED, delegate.WaitForClose()); 1136 EXPECT_EQ(ERR_CONNECTION_CLOSED, delegate.WaitForClose());
1146 } 1137 }
1147 1138
1148 } // namespace test 1139 } // namespace test
1149 1140
1150 } // namespace net 1141 } // namespace net
OLDNEW
« no previous file with comments | « net/spdy/spdy_stream_test_util.cc ('k') | net/spdy/spdy_test_util_common.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698