| OLD | NEW |
| 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 // Tests for WebSocketBasicStream. Note that we do not attempt to verify that | 5 // Tests for WebSocketBasicStream. Note that we do not attempt to verify that |
| 6 // frame parsing itself functions correctly, as that is covered by the | 6 // frame parsing itself functions correctly, as that is covered by the |
| 7 // WebSocketFrameParser tests. | 7 // WebSocketFrameParser tests. |
| 8 | 8 |
| 9 #include "net/websockets/websocket_basic_stream.h" | 9 #include "net/websockets/websocket_basic_stream.h" |
| 10 | 10 |
| (...skipping 621 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 632 } | 632 } |
| 633 | 633 |
| 634 // If there was a frame read at the same time as the response headers (and the | 634 // If there was a frame read at the same time as the response headers (and the |
| 635 // handshake succeeded), then we should parse it. | 635 // handshake succeeded), then we should parse it. |
| 636 TEST_F(WebSocketBasicStreamSocketTest, HttpReadBufferIsUsed) { | 636 TEST_F(WebSocketBasicStreamSocketTest, HttpReadBufferIsUsed) { |
| 637 SetHttpReadBuffer(kSampleFrame, kSampleFrameSize); | 637 SetHttpReadBuffer(kSampleFrame, kSampleFrameSize); |
| 638 CreateNullStream(); | 638 CreateNullStream(); |
| 639 | 639 |
| 640 EXPECT_EQ(OK, stream_->ReadFrames(&frames_, cb_.callback())); | 640 EXPECT_EQ(OK, stream_->ReadFrames(&frames_, cb_.callback())); |
| 641 ASSERT_EQ(1U, frames_.size()); | 641 ASSERT_EQ(1U, frames_.size()); |
| 642 ASSERT_TRUE(frames_[0]->data); | 642 ASSERT_TRUE(frames_[0]->data.get()); |
| 643 EXPECT_EQ(GG_UINT64_C(6), frames_[0]->header.payload_length); | 643 EXPECT_EQ(GG_UINT64_C(6), frames_[0]->header.payload_length); |
| 644 } | 644 } |
| 645 | 645 |
| 646 // Check that a frame whose header partially arrived at the end of the response | 646 // Check that a frame whose header partially arrived at the end of the response |
| 647 // headers works correctly. | 647 // headers works correctly. |
| 648 TEST_F(WebSocketBasicStreamSocketSingleReadTest, | 648 TEST_F(WebSocketBasicStreamSocketSingleReadTest, |
| 649 PartialFrameHeaderInHttpResponse) { | 649 PartialFrameHeaderInHttpResponse) { |
| 650 SetHttpReadBuffer(kSampleFrame, 1); | 650 SetHttpReadBuffer(kSampleFrame, 1); |
| 651 CreateRead(MockRead(ASYNC, kSampleFrame + 1, kSampleFrameSize - 1)); | 651 CreateRead(MockRead(ASYNC, kSampleFrame + 1, kSampleFrameSize - 1)); |
| 652 | 652 |
| 653 ASSERT_EQ(ERR_IO_PENDING, stream_->ReadFrames(&frames_, cb_.callback())); | 653 ASSERT_EQ(ERR_IO_PENDING, stream_->ReadFrames(&frames_, cb_.callback())); |
| 654 EXPECT_EQ(OK, cb_.WaitForResult()); | 654 EXPECT_EQ(OK, cb_.WaitForResult()); |
| 655 ASSERT_EQ(1U, frames_.size()); | 655 ASSERT_EQ(1U, frames_.size()); |
| 656 ASSERT_TRUE(frames_[0]->data); | 656 ASSERT_TRUE(frames_[0]->data.get()); |
| 657 EXPECT_EQ(GG_UINT64_C(6), frames_[0]->header.payload_length); | 657 EXPECT_EQ(GG_UINT64_C(6), frames_[0]->header.payload_length); |
| 658 EXPECT_EQ(WebSocketFrameHeader::kOpCodeText, frames_[0]->header.opcode); | 658 EXPECT_EQ(WebSocketFrameHeader::kOpCodeText, frames_[0]->header.opcode); |
| 659 } | 659 } |
| 660 | 660 |
| 661 // Check that a control frame which partially arrives at the end of the response | 661 // Check that a control frame which partially arrives at the end of the response |
| 662 // headers works correctly. | 662 // headers works correctly. |
| 663 TEST_F(WebSocketBasicStreamSocketSingleReadTest, | 663 TEST_F(WebSocketBasicStreamSocketSingleReadTest, |
| 664 PartialControlFrameInHttpResponse) { | 664 PartialControlFrameInHttpResponse) { |
| 665 const size_t kPartialFrameBytes = 3; | 665 const size_t kPartialFrameBytes = 3; |
| 666 SetHttpReadBuffer(kCloseFrame, kPartialFrameBytes); | 666 SetHttpReadBuffer(kCloseFrame, kPartialFrameBytes); |
| (...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 936 | 936 |
| 937 TEST_F(WebSocketBasicStreamSocketTest, GetSubProtocolWorks) { | 937 TEST_F(WebSocketBasicStreamSocketTest, GetSubProtocolWorks) { |
| 938 sub_protocol_ = "cyberchat"; | 938 sub_protocol_ = "cyberchat"; |
| 939 CreateNullStream(); | 939 CreateNullStream(); |
| 940 | 940 |
| 941 EXPECT_EQ("cyberchat", stream_->GetSubProtocol()); | 941 EXPECT_EQ("cyberchat", stream_->GetSubProtocol()); |
| 942 } | 942 } |
| 943 | 943 |
| 944 } // namespace | 944 } // namespace |
| 945 } // namespace net | 945 } // namespace net |
| OLD | NEW |