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 |