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 "modules/websockets/DOMWebSocket.h" | 5 #include "modules/websockets/DOMWebSocket.h" |
6 | 6 |
7 #include "bindings/core/v8/ExceptionState.h" | 7 #include "bindings/core/v8/ExceptionState.h" |
8 #include "bindings/core/v8/V8Binding.h" | 8 #include "bindings/core/v8/V8Binding.h" |
9 #include "bindings/core/v8/V8BindingForTesting.h" | 9 #include "bindings/core/v8/V8BindingForTesting.h" |
10 #include "core/dom/DOMTypedArray.h" | 10 #include "core/dom/DOMTypedArray.h" |
11 #include "core/dom/Document.h" | 11 #include "core/dom/Document.h" |
12 #include "core/dom/ExceptionCode.h" | 12 #include "core/dom/ExceptionCode.h" |
13 #include "core/dom/SecurityContext.h" | 13 #include "core/dom/SecurityContext.h" |
14 #include "core/fileapi/Blob.h" | 14 #include "core/fileapi/Blob.h" |
15 #include "core/testing/DummyPageHolder.h" | 15 #include "core/testing/DummyPageHolder.h" |
16 #include "platform/heap/Handle.h" | 16 #include "platform/heap/Handle.h" |
17 #include "platform/v8_inspector/public/ConsoleTypes.h" | 17 #include "platform/v8_inspector/public/ConsoleTypes.h" |
18 #include "public/platform/WebInsecureRequestPolicy.h" | 18 #include "public/platform/WebInsecureRequestPolicy.h" |
19 #include "testing/gmock/include/gmock/gmock.h" | 19 #include "testing/gmock/include/gmock/gmock.h" |
20 #include "testing/gtest/include/gtest/gtest.h" | 20 #include "testing/gtest/include/gtest/gtest.h" |
| 21 #include "wtf/OwnPtr.h" |
21 #include "wtf/Vector.h" | 22 #include "wtf/Vector.h" |
22 #include "wtf/text/CString.h" | 23 #include "wtf/text/CString.h" |
23 #include "wtf/text/WTFString.h" | 24 #include "wtf/text/WTFString.h" |
24 #include <memory> | |
25 #include <v8.h> | 25 #include <v8.h> |
26 | 26 |
27 using testing::_; | 27 using testing::_; |
28 using testing::AnyNumber; | 28 using testing::AnyNumber; |
29 using testing::InSequence; | 29 using testing::InSequence; |
30 using testing::Ref; | 30 using testing::Ref; |
31 using testing::Return; | 31 using testing::Return; |
32 | 32 |
33 namespace blink { | 33 namespace blink { |
34 | 34 |
(...skipping 10 matching lines...) Expand all Loading... |
45 | 45 |
46 ~MockWebSocketChannel() override | 46 ~MockWebSocketChannel() override |
47 { | 47 { |
48 } | 48 } |
49 | 49 |
50 MOCK_METHOD2(connect, bool(const KURL&, const String&)); | 50 MOCK_METHOD2(connect, bool(const KURL&, const String&)); |
51 MOCK_METHOD1(send, void(const CString&)); | 51 MOCK_METHOD1(send, void(const CString&)); |
52 MOCK_METHOD3(send, void(const DOMArrayBuffer&, unsigned, unsigned)); | 52 MOCK_METHOD3(send, void(const DOMArrayBuffer&, unsigned, unsigned)); |
53 MOCK_METHOD1(send, void(PassRefPtr<BlobDataHandle>)); | 53 MOCK_METHOD1(send, void(PassRefPtr<BlobDataHandle>)); |
54 MOCK_METHOD1(sendTextAsCharVectorMock, void(Vector<char>*)); | 54 MOCK_METHOD1(sendTextAsCharVectorMock, void(Vector<char>*)); |
55 void sendTextAsCharVector(std::unique_ptr<Vector<char>> vector) | 55 void sendTextAsCharVector(PassOwnPtr<Vector<char>> vector) |
56 { | 56 { |
57 sendTextAsCharVectorMock(vector.get()); | 57 sendTextAsCharVectorMock(vector.get()); |
58 } | 58 } |
59 MOCK_METHOD1(sendBinaryAsCharVectorMock, void(Vector<char>*)); | 59 MOCK_METHOD1(sendBinaryAsCharVectorMock, void(Vector<char>*)); |
60 void sendBinaryAsCharVector(std::unique_ptr<Vector<char>> vector) | 60 void sendBinaryAsCharVector(PassOwnPtr<Vector<char>> vector) |
61 { | 61 { |
62 sendBinaryAsCharVectorMock(vector.get()); | 62 sendBinaryAsCharVectorMock(vector.get()); |
63 } | 63 } |
64 MOCK_CONST_METHOD0(bufferedAmount, unsigned()); | 64 MOCK_CONST_METHOD0(bufferedAmount, unsigned()); |
65 MOCK_METHOD2(close, void(int, const String&)); | 65 MOCK_METHOD2(close, void(int, const String&)); |
66 MOCK_METHOD3(failMock, void(const String&, MessageLevel, SourceLocation*)); | 66 MOCK_METHOD3(failMock, void(const String&, MessageLevel, SourceLocation*)); |
67 void fail(const String& reason, MessageLevel level, std::unique_ptr<SourceLo
cation> location) | 67 void fail(const String& reason, MessageLevel level, PassOwnPtr<SourceLocatio
n> location) |
68 { | 68 { |
69 failMock(reason, level, location.get()); | 69 failMock(reason, level, location.get()); |
70 } | 70 } |
71 MOCK_METHOD0(disconnect, void()); | 71 MOCK_METHOD0(disconnect, void()); |
72 | 72 |
73 MockWebSocketChannel() | 73 MockWebSocketChannel() |
74 { | 74 { |
75 } | 75 } |
76 }; | 76 }; |
77 | 77 |
(...skipping 730 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
808 EXPECT_EQ(InvalidAccessError, scope.getExceptionState().code()); | 808 EXPECT_EQ(InvalidAccessError, scope.getExceptionState().code()); |
809 EXPECT_EQ(String::format("The code must be either 1000, or between 3000 and
4999. %d is neither.", GetParam()), scope.getExceptionState().message()); | 809 EXPECT_EQ(String::format("The code must be either 1000, or between 3000 and
4999. %d is neither.", GetParam()), scope.getExceptionState().message()); |
810 EXPECT_EQ(DOMWebSocket::CONNECTING, webSocketScope.socket().readyState()); | 810 EXPECT_EQ(DOMWebSocket::CONNECTING, webSocketScope.socket().readyState()); |
811 } | 811 } |
812 | 812 |
813 INSTANTIATE_TEST_CASE_P(DOMWebSocketInvalidClosingCode, DOMWebSocketInvalidClosi
ngCodeTest, ::testing::Values(0, 1, 998, 999, 1001, 2999, 5000, 9999, 65535)); | 813 INSTANTIATE_TEST_CASE_P(DOMWebSocketInvalidClosingCode, DOMWebSocketInvalidClosi
ngCodeTest, ::testing::Values(0, 1, 998, 999, 1001, 2999, 5000, 9999, 65535)); |
814 | 814 |
815 } // namespace | 815 } // namespace |
816 | 816 |
817 } // namespace blink | 817 } // namespace blink |
OLD | NEW |