| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_websocket_stream.h" | 5 #include "net/spdy/spdy_websocket_stream.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 324 CreateMockWrite(*request_frame_.get(), 1), | 324 CreateMockWrite(*request_frame_.get(), 1), |
| 325 CreateMockWrite(*message_frame_.get(), 3), | 325 CreateMockWrite(*message_frame_.get(), 3), |
| 326 CreateMockWrite(*closing_frame_.get(), 5) | 326 CreateMockWrite(*closing_frame_.get(), 5) |
| 327 }; | 327 }; |
| 328 | 328 |
| 329 MockRead reads[] = { | 329 MockRead reads[] = { |
| 330 CreateMockRead(*response_frame_.get(), 2), | 330 CreateMockRead(*response_frame_.get(), 2), |
| 331 CreateMockRead(*message_frame_.get(), 4), | 331 CreateMockRead(*message_frame_.get(), 4), |
| 332 // Skip sequence 6 to notify closing has been sent. | 332 // Skip sequence 6 to notify closing has been sent. |
| 333 CreateMockRead(*closing_frame_.get(), 7), | 333 CreateMockRead(*closing_frame_.get(), 7), |
| 334 MockRead(false, 0, 8) // EOF cause OnCloseSpdyStream event. | 334 MockRead(SYNCHRONOUS, 0, 8) // EOF cause OnCloseSpdyStream event. |
| 335 }; | 335 }; |
| 336 | 336 |
| 337 EXPECT_EQ(OK, InitSession(reads, arraysize(reads), | 337 EXPECT_EQ(OK, InitSession(reads, arraysize(reads), |
| 338 writes, arraysize(writes), false)); | 338 writes, arraysize(writes), false)); |
| 339 | 339 |
| 340 SpdyWebSocketStreamEventRecorder delegate(completion_callback_.callback()); | 340 SpdyWebSocketStreamEventRecorder delegate(completion_callback_.callback()); |
| 341 delegate.SetOnReceivedHeader( | 341 delegate.SetOnReceivedHeader( |
| 342 base::Bind(&SpdyWebSocketStreamTest::DoSendHelloFrame, | 342 base::Bind(&SpdyWebSocketStreamTest::DoSendHelloFrame, |
| 343 base::Unretained(this))); | 343 base::Unretained(this))); |
| 344 delegate.SetOnReceivedData( | 344 delegate.SetOnReceivedData( |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 396 TEST_F(SpdyWebSocketStreamTest, DestructionBeforeClose) { | 396 TEST_F(SpdyWebSocketStreamTest, DestructionBeforeClose) { |
| 397 Prepare(1); | 397 Prepare(1); |
| 398 MockWrite writes[] = { | 398 MockWrite writes[] = { |
| 399 CreateMockWrite(*request_frame_.get(), 1), | 399 CreateMockWrite(*request_frame_.get(), 1), |
| 400 CreateMockWrite(*message_frame_.get(), 3) | 400 CreateMockWrite(*message_frame_.get(), 3) |
| 401 }; | 401 }; |
| 402 | 402 |
| 403 MockRead reads[] = { | 403 MockRead reads[] = { |
| 404 CreateMockRead(*response_frame_.get(), 2), | 404 CreateMockRead(*response_frame_.get(), 2), |
| 405 CreateMockRead(*message_frame_.get(), 4), | 405 CreateMockRead(*message_frame_.get(), 4), |
| 406 MockRead(true, ERR_IO_PENDING, 5) | 406 MockRead(ASYNC, ERR_IO_PENDING, 5) |
| 407 }; | 407 }; |
| 408 | 408 |
| 409 EXPECT_EQ(OK, InitSession(reads, arraysize(reads), | 409 EXPECT_EQ(OK, InitSession(reads, arraysize(reads), |
| 410 writes, arraysize(writes), false)); | 410 writes, arraysize(writes), false)); |
| 411 | 411 |
| 412 SpdyWebSocketStreamEventRecorder delegate(completion_callback_.callback()); | 412 SpdyWebSocketStreamEventRecorder delegate(completion_callback_.callback()); |
| 413 delegate.SetOnReceivedHeader( | 413 delegate.SetOnReceivedHeader( |
| 414 base::Bind(&SpdyWebSocketStreamTest::DoSendHelloFrame, | 414 base::Bind(&SpdyWebSocketStreamTest::DoSendHelloFrame, |
| 415 base::Unretained(this))); | 415 base::Unretained(this))); |
| 416 delegate.SetOnReceivedData( | 416 delegate.SetOnReceivedData( |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 458 Prepare(1); | 458 Prepare(1); |
| 459 MockWrite writes[] = { | 459 MockWrite writes[] = { |
| 460 CreateMockWrite(*request_frame_.get(), 1), | 460 CreateMockWrite(*request_frame_.get(), 1), |
| 461 CreateMockWrite(*message_frame_.get(), 3), | 461 CreateMockWrite(*message_frame_.get(), 3), |
| 462 CreateMockWrite(*closing_frame_.get(), 5) | 462 CreateMockWrite(*closing_frame_.get(), 5) |
| 463 }; | 463 }; |
| 464 | 464 |
| 465 MockRead reads[] = { | 465 MockRead reads[] = { |
| 466 CreateMockRead(*response_frame_.get(), 2), | 466 CreateMockRead(*response_frame_.get(), 2), |
| 467 CreateMockRead(*message_frame_.get(), 4), | 467 CreateMockRead(*message_frame_.get(), 4), |
| 468 MockRead(true, ERR_IO_PENDING, 6) | 468 MockRead(ASYNC, ERR_IO_PENDING, 6) |
| 469 }; | 469 }; |
| 470 | 470 |
| 471 EXPECT_EQ(OK, InitSession(reads, arraysize(reads), | 471 EXPECT_EQ(OK, InitSession(reads, arraysize(reads), |
| 472 writes, arraysize(writes), false)); | 472 writes, arraysize(writes), false)); |
| 473 | 473 |
| 474 SpdyWebSocketStreamEventRecorder delegate(completion_callback_.callback()); | 474 SpdyWebSocketStreamEventRecorder delegate(completion_callback_.callback()); |
| 475 delegate.SetOnReceivedHeader( | 475 delegate.SetOnReceivedHeader( |
| 476 base::Bind(&SpdyWebSocketStreamTest::DoSendHelloFrame, | 476 base::Bind(&SpdyWebSocketStreamTest::DoSendHelloFrame, |
| 477 base::Unretained(this))); | 477 base::Unretained(this))); |
| 478 delegate.SetOnReceivedData( | 478 delegate.SetOnReceivedData( |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 526 CreateMockWrite(*closing_frame_.get(), 9) | 526 CreateMockWrite(*closing_frame_.get(), 9) |
| 527 }; | 527 }; |
| 528 | 528 |
| 529 MockRead reads[] = { | 529 MockRead reads[] = { |
| 530 CreateMockRead(*settings_frame.get(), 2), | 530 CreateMockRead(*settings_frame.get(), 2), |
| 531 CreateMockRead(*response_frame_.get(), 4), | 531 CreateMockRead(*response_frame_.get(), 4), |
| 532 // Skip sequence 5 (I/O Pending) | 532 // Skip sequence 5 (I/O Pending) |
| 533 CreateMockRead(*message_frame_.get(), 7), | 533 CreateMockRead(*message_frame_.get(), 7), |
| 534 // Skip sequence 8 (I/O Pending) | 534 // Skip sequence 8 (I/O Pending) |
| 535 CreateMockRead(*closing_frame_.get(), 10), | 535 CreateMockRead(*closing_frame_.get(), 10), |
| 536 MockRead(false, 0, 11) // EOF cause OnCloseSpdyStream event. | 536 MockRead(SYNCHRONOUS, 0, 11) // EOF cause OnCloseSpdyStream event. |
| 537 }; | 537 }; |
| 538 | 538 |
| 539 EXPECT_EQ(OK, InitSession(reads, arraysize(reads), | 539 EXPECT_EQ(OK, InitSession(reads, arraysize(reads), |
| 540 writes, arraysize(writes), true)); | 540 writes, arraysize(writes), true)); |
| 541 | 541 |
| 542 // Create a dummy WebSocketStream which cause ERR_IO_PENDING to another | 542 // Create a dummy WebSocketStream which cause ERR_IO_PENDING to another |
| 543 // WebSocketStream under test. | 543 // WebSocketStream under test. |
| 544 SpdyWebSocketStreamEventRecorder block_delegate((CompletionCallback())); | 544 SpdyWebSocketStreamEventRecorder block_delegate((CompletionCallback())); |
| 545 | 545 |
| 546 scoped_ptr<SpdyWebSocketStream> block_stream( | 546 scoped_ptr<SpdyWebSocketStream> block_stream( |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 610 EXPECT_EQ(OK, events[7].result); | 610 EXPECT_EQ(OK, events[7].result); |
| 611 | 611 |
| 612 // EOF close SPDY session. | 612 // EOF close SPDY session. |
| 613 EXPECT_TRUE(!http_session_->spdy_session_pool()->HasSession( | 613 EXPECT_TRUE(!http_session_->spdy_session_pool()->HasSession( |
| 614 host_port_proxy_pair_)); | 614 host_port_proxy_pair_)); |
| 615 EXPECT_TRUE(data()->at_read_eof()); | 615 EXPECT_TRUE(data()->at_read_eof()); |
| 616 EXPECT_TRUE(data()->at_write_eof()); | 616 EXPECT_TRUE(data()->at_write_eof()); |
| 617 } | 617 } |
| 618 | 618 |
| 619 } // namespace net | 619 } // namespace net |
| OLD | NEW |