OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "config.h" | 5 #include "config.h" |
6 #include "modules/websockets/DOMWebSocket.h" | 6 #include "modules/websockets/DOMWebSocket.h" |
7 | 7 |
8 #include "bindings/core/v8/ExceptionState.h" | 8 #include "bindings/core/v8/ExceptionState.h" |
9 #include "bindings/core/v8/V8Binding.h" | 9 #include "bindings/core/v8/V8Binding.h" |
10 #include "core/dom/DOMTypedArray.h" | 10 #include "core/dom/DOMTypedArray.h" |
(...skipping 28 matching lines...) Expand all Loading... |
39 { | 39 { |
40 return new testing::StrictMock<MockWebSocketChannel>(); | 40 return new testing::StrictMock<MockWebSocketChannel>(); |
41 } | 41 } |
42 | 42 |
43 virtual ~MockWebSocketChannel() | 43 virtual ~MockWebSocketChannel() |
44 { | 44 { |
45 } | 45 } |
46 | 46 |
47 MOCK_METHOD2(connect, bool(const KURL&, const String&)); | 47 MOCK_METHOD2(connect, bool(const KURL&, const String&)); |
48 MOCK_METHOD1(send, void(const String&)); | 48 MOCK_METHOD1(send, void(const String&)); |
49 MOCK_METHOD3(send, void(const ArrayBuffer&, unsigned, unsigned)); | 49 MOCK_METHOD3(send, void(const DOMArrayBuffer&, unsigned, unsigned)); |
50 MOCK_METHOD1(send, void(PassRefPtr<BlobDataHandle>)); | 50 MOCK_METHOD1(send, void(PassRefPtr<BlobDataHandle>)); |
51 MOCK_METHOD1(send, void(PassOwnPtr<Vector<char> >)); | 51 MOCK_METHOD1(send, void(PassOwnPtr<Vector<char> >)); |
52 MOCK_CONST_METHOD0(bufferedAmount, unsigned long()); | 52 MOCK_CONST_METHOD0(bufferedAmount, unsigned long()); |
53 MOCK_METHOD2(close, void(int, const String&)); | 53 MOCK_METHOD2(close, void(int, const String&)); |
54 MOCK_METHOD4(fail, void(const String&, MessageLevel, const String&, unsigned
)); | 54 MOCK_METHOD4(fail, void(const String&, MessageLevel, const String&, unsigned
)); |
55 MOCK_METHOD0(disconnect, void()); | 55 MOCK_METHOD0(disconnect, void()); |
56 MOCK_METHOD0(suspend, void()); | 56 MOCK_METHOD0(suspend, void()); |
57 MOCK_METHOD0(resume, void()); | 57 MOCK_METHOD0(resume, void()); |
58 | 58 |
59 MockWebSocketChannel() | 59 MockWebSocketChannel() |
(...skipping 544 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
604 EXPECT_FALSE(m_exceptionState.hadException()); | 604 EXPECT_FALSE(m_exceptionState.hadException()); |
605 EXPECT_EQ(DOMWebSocket::CLOSED, m_websocket->readyState()); | 605 EXPECT_EQ(DOMWebSocket::CLOSED, m_websocket->readyState()); |
606 } | 606 } |
607 | 607 |
608 TEST_F(DOMWebSocketTest, sendArrayBufferSuccess) | 608 TEST_F(DOMWebSocketTest, sendArrayBufferSuccess) |
609 { | 609 { |
610 RefPtr<DOMArrayBufferView> view = DOMUint8Array::create(8); | 610 RefPtr<DOMArrayBufferView> view = DOMUint8Array::create(8); |
611 { | 611 { |
612 InSequence s; | 612 InSequence s; |
613 EXPECT_CALL(channel(), connect(KURL(KURL(), "ws://example.com/"), String
())).WillOnce(Return(true)); | 613 EXPECT_CALL(channel(), connect(KURL(KURL(), "ws://example.com/"), String
())).WillOnce(Return(true)); |
614 EXPECT_CALL(channel(), send(Ref(*view->view()->buffer()), 0, 8)); | 614 EXPECT_CALL(channel(), send(Ref(*view->buffer()), 0, 8)); |
615 } | 615 } |
616 m_websocket->connect("ws://example.com/", Vector<String>(), m_exceptionState
); | 616 m_websocket->connect("ws://example.com/", Vector<String>(), m_exceptionState
); |
617 | 617 |
618 EXPECT_FALSE(m_exceptionState.hadException()); | 618 EXPECT_FALSE(m_exceptionState.hadException()); |
619 | 619 |
620 m_websocket->didConnect("", ""); | 620 m_websocket->didConnect("", ""); |
621 m_websocket->send(view->buffer().get(), m_exceptionState); | 621 m_websocket->send(view->buffer().get(), m_exceptionState); |
622 | 622 |
623 EXPECT_FALSE(m_exceptionState.hadException()); | 623 EXPECT_FALSE(m_exceptionState.hadException()); |
624 EXPECT_EQ(DOMWebSocket::OPEN, m_websocket->readyState()); | 624 EXPECT_EQ(DOMWebSocket::OPEN, m_websocket->readyState()); |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
699 EXPECT_EQ(InvalidAccessError, m_exceptionState.code()); | 699 EXPECT_EQ(InvalidAccessError, m_exceptionState.code()); |
700 EXPECT_EQ(String::format("The code must be either 1000, or between 3000 and
4999. %d is neither.", GetParam()), m_exceptionState.message()); | 700 EXPECT_EQ(String::format("The code must be either 1000, or between 3000 and
4999. %d is neither.", GetParam()), m_exceptionState.message()); |
701 EXPECT_EQ(DOMWebSocket::CONNECTING, m_websocket->readyState()); | 701 EXPECT_EQ(DOMWebSocket::CONNECTING, m_websocket->readyState()); |
702 } | 702 } |
703 | 703 |
704 INSTANTIATE_TEST_CASE_P(DOMWebSocketInvalidClosingCode, DOMWebSocketInvalidClosi
ngCodeTest, ::testing::Values(0, 1, 998, 999, 1001, 2999, 5000, 9999, 65535)); | 704 INSTANTIATE_TEST_CASE_P(DOMWebSocketInvalidClosingCode, DOMWebSocketInvalidClosi
ngCodeTest, ::testing::Values(0, 1, 998, 999, 1001, 2999, 5000, 9999, 65535)); |
705 | 705 |
706 } // namespace | 706 } // namespace |
707 | 707 |
708 } // namespace blink | 708 } // namespace blink |
OLD | NEW |