Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6)

Side by Side Diff: Source/modules/websockets/NewWebSocketChannelImplTest.cpp

Issue 469773002: Cleanup blink:: prefix usage in Source/core/modules/[mediasource/*.cpp to websockets/*.cpp] (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/WebSocketChannel.h" 6 #include "modules/websockets/WebSocketChannel.h"
7 7
8 #include "core/fileapi/Blob.h" 8 #include "core/fileapi/Blob.h"
9 #include "core/frame/ConsoleTypes.h" 9 #include "core/frame/ConsoleTypes.h"
10 #include "core/testing/DummyPageHolder.h" 10 #include "core/testing/DummyPageHolder.h"
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 MOCK_METHOD0(didStartClosingHandshake, void()); 62 MOCK_METHOD0(didStartClosingHandshake, void());
63 MOCK_METHOD3(didClose, void(ClosingHandshakeCompletionStatus, unsigned short , const String&)); 63 MOCK_METHOD3(didClose, void(ClosingHandshakeCompletionStatus, unsigned short , const String&));
64 64
65 virtual void trace(Visitor* visitor) OVERRIDE 65 virtual void trace(Visitor* visitor) OVERRIDE
66 { 66 {
67 WebSocketChannelClient::trace(visitor); 67 WebSocketChannelClient::trace(visitor);
68 } 68 }
69 69
70 }; 70 };
71 71
72 class MockWebSocketHandle : public blink::WebSocketHandle { 72 class MockWebSocketHandle : public WebSocketHandle {
73 public: 73 public:
74 static MockWebSocketHandle* create() 74 static MockWebSocketHandle* create()
75 { 75 {
76 return new testing::StrictMock<MockWebSocketHandle>(); 76 return new testing::StrictMock<MockWebSocketHandle>();
77 } 77 }
78 78
79 MockWebSocketHandle() { } 79 MockWebSocketHandle() { }
80 80
81 virtual ~MockWebSocketHandle() { } 81 virtual ~MockWebSocketHandle() { }
82 82
83 MOCK_METHOD4(connect, void(const blink::WebURL&, const blink::WebVector<blin k::WebString>&, const blink::WebSerializedOrigin&, blink::WebSocketHandleClient* )); 83 MOCK_METHOD4(connect, void(const WebURL&, const WebVector<WebString>&, const WebSerializedOrigin&, WebSocketHandleClient*));
84 MOCK_METHOD4(send, void(bool, blink::WebSocketHandle::MessageType, const cha r*, size_t)); 84 MOCK_METHOD4(send, void(bool, WebSocketHandle::MessageType, const char*, siz e_t));
85 MOCK_METHOD1(flowControl, void(int64_t)); 85 MOCK_METHOD1(flowControl, void(int64_t));
86 MOCK_METHOD2(close, void(unsigned short, const blink::WebString&)); 86 MOCK_METHOD2(close, void(unsigned short, const WebString&));
87 }; 87 };
88 88
89 class NewWebSocketChannelImplTest : public ::testing::Test { 89 class NewWebSocketChannelImplTest : public ::testing::Test {
90 public: 90 public:
91 NewWebSocketChannelImplTest() 91 NewWebSocketChannelImplTest()
92 : m_pageHolder(DummyPageHolder::create()) 92 : m_pageHolder(DummyPageHolder::create())
93 , m_channelClient(MockWebSocketChannelClient::create()) 93 , m_channelClient(MockWebSocketChannelClient::create())
94 , m_handle(MockWebSocketHandle::create()) 94 , m_handle(MockWebSocketHandle::create())
95 , m_channel(NewWebSocketChannelImpl::create(&m_pageHolder->document(), m _channelClient.get(), String(), 0, handle())) 95 , m_channel(NewWebSocketChannelImpl::create(&m_pageHolder->document(), m _channelClient.get(), String(), 0, handle()))
96 , m_sumOfConsumedBufferedAmount(0) 96 , m_sumOfConsumedBufferedAmount(0)
(...skipping 12 matching lines...) Expand all
109 MockWebSocketChannelClient* channelClient() 109 MockWebSocketChannelClient* channelClient()
110 { 110 {
111 return m_channelClient.get(); 111 return m_channelClient.get();
112 } 112 }
113 113
114 WebSocketChannel* channel() 114 WebSocketChannel* channel()
115 { 115 {
116 return static_cast<WebSocketChannel*>(m_channel.get()); 116 return static_cast<WebSocketChannel*>(m_channel.get());
117 } 117 }
118 118
119 blink::WebSocketHandleClient* handleClient() 119 WebSocketHandleClient* handleClient()
120 { 120 {
121 return static_cast<blink::WebSocketHandleClient*>(m_channel.get()); 121 return static_cast<WebSocketHandleClient*>(m_channel.get());
122 } 122 }
123 123
124 MockWebSocketHandle* handle() 124 MockWebSocketHandle* handle()
125 { 125 {
126 return m_handle; 126 return m_handle;
127 } 127 }
128 128
129 void didConsumeBufferedAmount(unsigned long a) 129 void didConsumeBufferedAmount(unsigned long a)
130 { 130 {
131 m_sumOfConsumedBufferedAmount += a; 131 m_sumOfConsumedBufferedAmount += a;
132 } 132 }
133 133
134 void connect() 134 void connect()
135 { 135 {
136 { 136 {
137 InSequence s; 137 InSequence s;
138 EXPECT_CALL(*handle(), connect(blink::WebURL(KURL(KURL(), "ws://loca lhost/")), _, _, handleClient())); 138 EXPECT_CALL(*handle(), connect(WebURL(KURL(KURL(), "ws://localhost/" )), _, _, handleClient()));
139 EXPECT_CALL(*handle(), flowControl(65536)); 139 EXPECT_CALL(*handle(), flowControl(65536));
140 EXPECT_CALL(*channelClient(), didConnect(String("a"), String("b"))); 140 EXPECT_CALL(*channelClient(), didConnect(String("a"), String("b")));
141 } 141 }
142 EXPECT_TRUE(channel()->connect(KURL(KURL(), "ws://localhost/"), "x")); 142 EXPECT_TRUE(channel()->connect(KURL(KURL(), "ws://localhost/"), "x"));
143 handleClient()->didConnect(handle(), false, blink::WebString("a"), blink ::WebString("b")); 143 handleClient()->didConnect(handle(), false, WebString("a"), WebString("b "));
144 ::testing::Mock::VerifyAndClearExpectations(this); 144 ::testing::Mock::VerifyAndClearExpectations(this);
145 } 145 }
146 146
147 OwnPtr<DummyPageHolder> m_pageHolder; 147 OwnPtr<DummyPageHolder> m_pageHolder;
148 Persistent<MockWebSocketChannelClient> m_channelClient; 148 Persistent<MockWebSocketChannelClient> m_channelClient;
149 MockWebSocketHandle* m_handle; 149 MockWebSocketHandle* m_handle;
150 Persistent<NewWebSocketChannelImpl> m_channel; 150 Persistent<NewWebSocketChannelImpl> m_channel;
151 unsigned long m_sumOfConsumedBufferedAmount; 151 unsigned long m_sumOfConsumedBufferedAmount;
152 }; 152 };
153 153
154 MATCHER_P2(MemEq, p, len, 154 MATCHER_P2(MemEq, p, len,
155 std::string("pointing to memory") 155 std::string("pointing to memory")
156 + (negation ? " not" : "") 156 + (negation ? " not" : "")
157 + " equal to \"" 157 + " equal to \""
158 + std::string(p, len) + "\" (length=" + PrintToString(len) + ")" 158 + std::string(p, len) + "\" (length=" + PrintToString(len) + ")"
159 ) 159 )
160 { 160 {
161 return memcmp(arg, p, len) == 0; 161 return memcmp(arg, p, len) == 0;
162 } 162 }
163 163
164 TEST_F(NewWebSocketChannelImplTest, connectSuccess) 164 TEST_F(NewWebSocketChannelImplTest, connectSuccess)
165 { 165 {
166 Checkpoint checkpoint; 166 Checkpoint checkpoint;
167 { 167 {
168 InSequence s; 168 InSequence s;
169 EXPECT_CALL(*handle(), connect(blink::WebURL(KURL(KURL(), "ws://localhos t/")), _, _, handleClient())); 169 EXPECT_CALL(*handle(), connect(WebURL(KURL(KURL(), "ws://localhost/")), _, _, handleClient()));
170 EXPECT_CALL(*handle(), flowControl(65536)); 170 EXPECT_CALL(*handle(), flowControl(65536));
171 EXPECT_CALL(checkpoint, Call(1)); 171 EXPECT_CALL(checkpoint, Call(1));
172 EXPECT_CALL(*channelClient(), didConnect(String("a"), String("b"))); 172 EXPECT_CALL(*channelClient(), didConnect(String("a"), String("b")));
173 } 173 }
174 174
175 EXPECT_TRUE(channel()->connect(KURL(KURL(), "ws://localhost/"), "x")); 175 EXPECT_TRUE(channel()->connect(KURL(KURL(), "ws://localhost/"), "x"));
176 checkpoint.Call(1); 176 checkpoint.Call(1);
177 handleClient()->didConnect(handle(), false, blink::WebString("a"), blink::We bString("b")); 177 handleClient()->didConnect(handle(), false, WebString("a"), WebString("b"));
178 } 178 }
179 179
180 TEST_F(NewWebSocketChannelImplTest, sendText) 180 TEST_F(NewWebSocketChannelImplTest, sendText)
181 { 181 {
182 connect(); 182 connect();
183 { 183 {
184 InSequence s; 184 InSequence s;
185 EXPECT_CALL(*handle(), send(true, blink::WebSocketHandle::MessageTypeTex t, MemEq("foo", 3), 3)); 185 EXPECT_CALL(*handle(), send(true, WebSocketHandle::MessageTypeText, MemE q("foo", 3), 3));
186 EXPECT_CALL(*handle(), send(true, blink::WebSocketHandle::MessageTypeTex t, MemEq("bar", 3), 3)); 186 EXPECT_CALL(*handle(), send(true, WebSocketHandle::MessageTypeText, MemE q("bar", 3), 3));
187 EXPECT_CALL(*handle(), send(true, blink::WebSocketHandle::MessageTypeTex t, MemEq("baz", 3), 3)); 187 EXPECT_CALL(*handle(), send(true, WebSocketHandle::MessageTypeText, MemE q("baz", 3), 3));
188 } 188 }
189 189
190 handleClient()->didReceiveFlowControl(handle(), 16); 190 handleClient()->didReceiveFlowControl(handle(), 16);
191 EXPECT_CALL(*channelClient(), didConsumeBufferedAmount(_)).Times(AnyNumber() ); 191 EXPECT_CALL(*channelClient(), didConsumeBufferedAmount(_)).Times(AnyNumber() );
192 192
193 channel()->send("foo"); 193 channel()->send("foo");
194 channel()->send("bar"); 194 channel()->send("bar");
195 channel()->send("baz"); 195 channel()->send("baz");
196 196
197 EXPECT_EQ(9ul, m_sumOfConsumedBufferedAmount); 197 EXPECT_EQ(9ul, m_sumOfConsumedBufferedAmount);
198 } 198 }
199 199
200 TEST_F(NewWebSocketChannelImplTest, sendTextContinuation) 200 TEST_F(NewWebSocketChannelImplTest, sendTextContinuation)
201 { 201 {
202 connect(); 202 connect();
203 Checkpoint checkpoint; 203 Checkpoint checkpoint;
204 { 204 {
205 InSequence s; 205 InSequence s;
206 EXPECT_CALL(*handle(), send(false, blink::WebSocketHandle::MessageTypeTe xt, MemEq("0123456789abcdef", 16), 16)); 206 EXPECT_CALL(*handle(), send(false, WebSocketHandle::MessageTypeText, Mem Eq("0123456789abcdef", 16), 16));
207 EXPECT_CALL(checkpoint, Call(1)); 207 EXPECT_CALL(checkpoint, Call(1));
208 EXPECT_CALL(*handle(), send(true, blink::WebSocketHandle::MessageTypeCon tinuation, MemEq("g", 1), 1)); 208 EXPECT_CALL(*handle(), send(true, WebSocketHandle::MessageTypeContinuati on, MemEq("g", 1), 1));
209 EXPECT_CALL(*handle(), send(true, blink::WebSocketHandle::MessageTypeTex t, MemEq("hijk", 4), 4)); 209 EXPECT_CALL(*handle(), send(true, WebSocketHandle::MessageTypeText, MemE q("hijk", 4), 4));
210 EXPECT_CALL(*handle(), send(false, blink::WebSocketHandle::MessageTypeTe xt, MemEq("lmnopqrstuv", 11), 11)); 210 EXPECT_CALL(*handle(), send(false, WebSocketHandle::MessageTypeText, Mem Eq("lmnopqrstuv", 11), 11));
211 EXPECT_CALL(checkpoint, Call(2)); 211 EXPECT_CALL(checkpoint, Call(2));
212 EXPECT_CALL(*handle(), send(false, blink::WebSocketHandle::MessageTypeCo ntinuation, MemEq("wxyzABCDEFGHIJKL", 16), 16)); 212 EXPECT_CALL(*handle(), send(false, WebSocketHandle::MessageTypeContinuat ion, MemEq("wxyzABCDEFGHIJKL", 16), 16));
213 EXPECT_CALL(checkpoint, Call(3)); 213 EXPECT_CALL(checkpoint, Call(3));
214 EXPECT_CALL(*handle(), send(true, blink::WebSocketHandle::MessageTypeCon tinuation, MemEq("MNOPQRSTUVWXYZ", 14), 14)); 214 EXPECT_CALL(*handle(), send(true, WebSocketHandle::MessageTypeContinuati on, MemEq("MNOPQRSTUVWXYZ", 14), 14));
215 } 215 }
216 216
217 handleClient()->didReceiveFlowControl(handle(), 16); 217 handleClient()->didReceiveFlowControl(handle(), 16);
218 EXPECT_CALL(*channelClient(), didConsumeBufferedAmount(_)).Times(AnyNumber() ); 218 EXPECT_CALL(*channelClient(), didConsumeBufferedAmount(_)).Times(AnyNumber() );
219 219
220 channel()->send("0123456789abcdefg"); 220 channel()->send("0123456789abcdefg");
221 channel()->send("hijk"); 221 channel()->send("hijk");
222 channel()->send("lmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"); 222 channel()->send("lmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");
223 checkpoint.Call(1); 223 checkpoint.Call(1);
224 handleClient()->didReceiveFlowControl(handle(), 16); 224 handleClient()->didReceiveFlowControl(handle(), 16);
225 checkpoint.Call(2); 225 checkpoint.Call(2);
226 handleClient()->didReceiveFlowControl(handle(), 16); 226 handleClient()->didReceiveFlowControl(handle(), 16);
227 checkpoint.Call(3); 227 checkpoint.Call(3);
228 handleClient()->didReceiveFlowControl(handle(), 16); 228 handleClient()->didReceiveFlowControl(handle(), 16);
229 229
230 EXPECT_EQ(62ul, m_sumOfConsumedBufferedAmount); 230 EXPECT_EQ(62ul, m_sumOfConsumedBufferedAmount);
231 } 231 }
232 232
233 TEST_F(NewWebSocketChannelImplTest, sendTextNonLatin1) 233 TEST_F(NewWebSocketChannelImplTest, sendTextNonLatin1)
234 { 234 {
235 connect(); 235 connect();
236 { 236 {
237 InSequence s; 237 InSequence s;
238 EXPECT_CALL(*handle(), send(true, blink::WebSocketHandle::MessageTypeTex t, MemEq("\xe7\x8b\x90\xe0\xa4\x94", 6), 6)); 238 EXPECT_CALL(*handle(), send(true, WebSocketHandle::MessageTypeText, MemE q("\xe7\x8b\x90\xe0\xa4\x94", 6), 6));
239 } 239 }
240 240
241 handleClient()->didReceiveFlowControl(handle(), 16); 241 handleClient()->didReceiveFlowControl(handle(), 16);
242 EXPECT_CALL(*channelClient(), didConsumeBufferedAmount(_)).Times(AnyNumber() ); 242 EXPECT_CALL(*channelClient(), didConsumeBufferedAmount(_)).Times(AnyNumber() );
243 243
244 UChar nonLatin1String[] = { 244 UChar nonLatin1String[] = {
245 0x72d0, 245 0x72d0,
246 0x0914, 246 0x0914,
247 0x0000 247 0x0000
248 }; 248 };
249 channel()->send(nonLatin1String); 249 channel()->send(nonLatin1String);
250 250
251 EXPECT_EQ(6ul, m_sumOfConsumedBufferedAmount); 251 EXPECT_EQ(6ul, m_sumOfConsumedBufferedAmount);
252 } 252 }
253 253
254 TEST_F(NewWebSocketChannelImplTest, sendTextNonLatin1Continuation) 254 TEST_F(NewWebSocketChannelImplTest, sendTextNonLatin1Continuation)
255 { 255 {
256 connect(); 256 connect();
257 Checkpoint checkpoint; 257 Checkpoint checkpoint;
258 { 258 {
259 InSequence s; 259 InSequence s;
260 EXPECT_CALL(*handle(), send(false, blink::WebSocketHandle::MessageTypeTe xt, MemEq("\xe7\x8b\x90\xe0\xa4\x94\xe7\x8b\x90\xe0\xa4\x94\xe7\x8b\x90\xe0", 16 ), 16)); 260 EXPECT_CALL(*handle(), send(false, WebSocketHandle::MessageTypeText, Mem Eq("\xe7\x8b\x90\xe0\xa4\x94\xe7\x8b\x90\xe0\xa4\x94\xe7\x8b\x90\xe0", 16), 16)) ;
261 EXPECT_CALL(checkpoint, Call(1)); 261 EXPECT_CALL(checkpoint, Call(1));
262 EXPECT_CALL(*handle(), send(true, blink::WebSocketHandle::MessageTypeCon tinuation, MemEq("\xa4\x94", 2), 2)); 262 EXPECT_CALL(*handle(), send(true, WebSocketHandle::MessageTypeContinuati on, MemEq("\xa4\x94", 2), 2));
263 } 263 }
264 264
265 handleClient()->didReceiveFlowControl(handle(), 16); 265 handleClient()->didReceiveFlowControl(handle(), 16);
266 EXPECT_CALL(*channelClient(), didConsumeBufferedAmount(_)).Times(AnyNumber() ); 266 EXPECT_CALL(*channelClient(), didConsumeBufferedAmount(_)).Times(AnyNumber() );
267 267
268 UChar nonLatin1String[] = { 268 UChar nonLatin1String[] = {
269 0x72d0, 269 0x72d0,
270 0x0914, 270 0x0914,
271 0x72d0, 271 0x72d0,
272 0x0914, 272 0x0914,
273 0x72d0, 273 0x72d0,
274 0x0914, 274 0x0914,
275 0x0000 275 0x0000
276 }; 276 };
277 channel()->send(nonLatin1String); 277 channel()->send(nonLatin1String);
278 checkpoint.Call(1); 278 checkpoint.Call(1);
279 handleClient()->didReceiveFlowControl(handle(), 16); 279 handleClient()->didReceiveFlowControl(handle(), 16);
280 280
281 EXPECT_EQ(18ul, m_sumOfConsumedBufferedAmount); 281 EXPECT_EQ(18ul, m_sumOfConsumedBufferedAmount);
282 } 282 }
283 283
284 TEST_F(NewWebSocketChannelImplTest, sendBinaryInVector) 284 TEST_F(NewWebSocketChannelImplTest, sendBinaryInVector)
285 { 285 {
286 connect(); 286 connect();
287 { 287 {
288 InSequence s; 288 InSequence s;
289 EXPECT_CALL(*handle(), send(true, blink::WebSocketHandle::MessageTypeBin ary, MemEq("foo", 3), 3)); 289 EXPECT_CALL(*handle(), send(true, WebSocketHandle::MessageTypeBinary, Me mEq("foo", 3), 3));
290 } 290 }
291 291
292 handleClient()->didReceiveFlowControl(handle(), 16); 292 handleClient()->didReceiveFlowControl(handle(), 16);
293 EXPECT_CALL(*channelClient(), didConsumeBufferedAmount(_)).Times(AnyNumber() ); 293 EXPECT_CALL(*channelClient(), didConsumeBufferedAmount(_)).Times(AnyNumber() );
294 294
295 Vector<char> fooVector; 295 Vector<char> fooVector;
296 fooVector.append("foo", 3); 296 fooVector.append("foo", 3);
297 channel()->send(adoptPtr(new Vector<char>(fooVector))); 297 channel()->send(adoptPtr(new Vector<char>(fooVector)));
298 298
299 EXPECT_EQ(3ul, m_sumOfConsumedBufferedAmount); 299 EXPECT_EQ(3ul, m_sumOfConsumedBufferedAmount);
300 } 300 }
301 301
302 TEST_F(NewWebSocketChannelImplTest, sendBinaryInVectorWithNullBytes) 302 TEST_F(NewWebSocketChannelImplTest, sendBinaryInVectorWithNullBytes)
303 { 303 {
304 connect(); 304 connect();
305 { 305 {
306 InSequence s; 306 InSequence s;
307 EXPECT_CALL(*handle(), send(true, blink::WebSocketHandle::MessageTypeBin ary, MemEq("\0ar", 3), 3)); 307 EXPECT_CALL(*handle(), send(true, WebSocketHandle::MessageTypeBinary, Me mEq("\0ar", 3), 3));
308 EXPECT_CALL(*handle(), send(true, blink::WebSocketHandle::MessageTypeBin ary, MemEq("b\0z", 3), 3)); 308 EXPECT_CALL(*handle(), send(true, WebSocketHandle::MessageTypeBinary, Me mEq("b\0z", 3), 3));
309 EXPECT_CALL(*handle(), send(true, blink::WebSocketHandle::MessageTypeBin ary, MemEq("qu\0", 3), 3)); 309 EXPECT_CALL(*handle(), send(true, WebSocketHandle::MessageTypeBinary, Me mEq("qu\0", 3), 3));
310 EXPECT_CALL(*handle(), send(true, blink::WebSocketHandle::MessageTypeBin ary, MemEq("\0\0\0", 3), 3)); 310 EXPECT_CALL(*handle(), send(true, WebSocketHandle::MessageTypeBinary, Me mEq("\0\0\0", 3), 3));
311 } 311 }
312 312
313 handleClient()->didReceiveFlowControl(handle(), 16); 313 handleClient()->didReceiveFlowControl(handle(), 16);
314 EXPECT_CALL(*channelClient(), didConsumeBufferedAmount(_)).Times(AnyNumber() ); 314 EXPECT_CALL(*channelClient(), didConsumeBufferedAmount(_)).Times(AnyNumber() );
315 315
316 { 316 {
317 Vector<char> v; 317 Vector<char> v;
318 v.append("\0ar", 3); 318 v.append("\0ar", 3);
319 channel()->send(adoptPtr(new Vector<char>(v))); 319 channel()->send(adoptPtr(new Vector<char>(v)));
320 } 320 }
(...skipping 12 matching lines...) Expand all
333 v.append("\0\0\0", 3); 333 v.append("\0\0\0", 3);
334 channel()->send(adoptPtr(new Vector<char>(v))); 334 channel()->send(adoptPtr(new Vector<char>(v)));
335 } 335 }
336 336
337 EXPECT_EQ(12ul, m_sumOfConsumedBufferedAmount); 337 EXPECT_EQ(12ul, m_sumOfConsumedBufferedAmount);
338 } 338 }
339 339
340 TEST_F(NewWebSocketChannelImplTest, sendBinaryInVectorNonLatin1UTF8) 340 TEST_F(NewWebSocketChannelImplTest, sendBinaryInVectorNonLatin1UTF8)
341 { 341 {
342 connect(); 342 connect();
343 EXPECT_CALL(*handle(), send(true, blink::WebSocketHandle::MessageTypeBinary, MemEq("\xe7\x8b\x90", 3), 3)); 343 EXPECT_CALL(*handle(), send(true, WebSocketHandle::MessageTypeBinary, MemEq( "\xe7\x8b\x90", 3), 3));
344 344
345 handleClient()->didReceiveFlowControl(handle(), 16); 345 handleClient()->didReceiveFlowControl(handle(), 16);
346 EXPECT_CALL(*channelClient(), didConsumeBufferedAmount(_)).Times(AnyNumber() ); 346 EXPECT_CALL(*channelClient(), didConsumeBufferedAmount(_)).Times(AnyNumber() );
347 347
348 Vector<char> v; 348 Vector<char> v;
349 v.append("\xe7\x8b\x90", 3); 349 v.append("\xe7\x8b\x90", 3);
350 channel()->send(adoptPtr(new Vector<char>(v))); 350 channel()->send(adoptPtr(new Vector<char>(v)));
351 351
352 EXPECT_EQ(3ul, m_sumOfConsumedBufferedAmount); 352 EXPECT_EQ(3ul, m_sumOfConsumedBufferedAmount);
353 } 353 }
354 354
355 TEST_F(NewWebSocketChannelImplTest, sendBinaryInVectorNonUTF8) 355 TEST_F(NewWebSocketChannelImplTest, sendBinaryInVectorNonUTF8)
356 { 356 {
357 connect(); 357 connect();
358 EXPECT_CALL(*handle(), send(true, blink::WebSocketHandle::MessageTypeBinary, MemEq("\x80\xff\xe7", 3), 3)); 358 EXPECT_CALL(*handle(), send(true, WebSocketHandle::MessageTypeBinary, MemEq( "\x80\xff\xe7", 3), 3));
359 359
360 handleClient()->didReceiveFlowControl(handle(), 16); 360 handleClient()->didReceiveFlowControl(handle(), 16);
361 EXPECT_CALL(*channelClient(), didConsumeBufferedAmount(_)).Times(AnyNumber() ); 361 EXPECT_CALL(*channelClient(), didConsumeBufferedAmount(_)).Times(AnyNumber() );
362 362
363 Vector<char> v; 363 Vector<char> v;
364 v.append("\x80\xff\xe7", 3); 364 v.append("\x80\xff\xe7", 3);
365 channel()->send(adoptPtr(new Vector<char>(v))); 365 channel()->send(adoptPtr(new Vector<char>(v)));
366 366
367 EXPECT_EQ(3ul, m_sumOfConsumedBufferedAmount); 367 EXPECT_EQ(3ul, m_sumOfConsumedBufferedAmount);
368 } 368 }
369 369
370 TEST_F(NewWebSocketChannelImplTest, sendBinaryInVectorNonLatin1UTF8Continuation) 370 TEST_F(NewWebSocketChannelImplTest, sendBinaryInVectorNonLatin1UTF8Continuation)
371 { 371 {
372 connect(); 372 connect();
373 Checkpoint checkpoint; 373 Checkpoint checkpoint;
374 { 374 {
375 InSequence s; 375 InSequence s;
376 EXPECT_CALL(*handle(), send(false, blink::WebSocketHandle::MessageTypeBi nary, MemEq("\xe7\x8b\x90\xe7\x8b\x90\xe7\x8b\x90\xe7\x8b\x90\xe7\x8b\x90\xe7", 16), 16)); 376 EXPECT_CALL(*handle(), send(false, WebSocketHandle::MessageTypeBinary, M emEq("\xe7\x8b\x90\xe7\x8b\x90\xe7\x8b\x90\xe7\x8b\x90\xe7\x8b\x90\xe7", 16), 16 ));
377 EXPECT_CALL(checkpoint, Call(1)); 377 EXPECT_CALL(checkpoint, Call(1));
378 EXPECT_CALL(*handle(), send(true, blink::WebSocketHandle::MessageTypeCon tinuation, MemEq("\x8b\x90", 2), 2)); 378 EXPECT_CALL(*handle(), send(true, WebSocketHandle::MessageTypeContinuati on, MemEq("\x8b\x90", 2), 2));
379 } 379 }
380 380
381 handleClient()->didReceiveFlowControl(handle(), 16); 381 handleClient()->didReceiveFlowControl(handle(), 16);
382 EXPECT_CALL(*channelClient(), didConsumeBufferedAmount(_)).Times(AnyNumber() ); 382 EXPECT_CALL(*channelClient(), didConsumeBufferedAmount(_)).Times(AnyNumber() );
383 383
384 Vector<char> v; 384 Vector<char> v;
385 v.append("\xe7\x8b\x90\xe7\x8b\x90\xe7\x8b\x90\xe7\x8b\x90\xe7\x8b\x90\xe7\x 8b\x90", 18); 385 v.append("\xe7\x8b\x90\xe7\x8b\x90\xe7\x8b\x90\xe7\x8b\x90\xe7\x8b\x90\xe7\x 8b\x90", 18);
386 channel()->send(adoptPtr(new Vector<char>(v))); 386 channel()->send(adoptPtr(new Vector<char>(v)));
387 checkpoint.Call(1); 387 checkpoint.Call(1);
388 388
389 handleClient()->didReceiveFlowControl(handle(), 16); 389 handleClient()->didReceiveFlowControl(handle(), 16);
390 390
391 EXPECT_EQ(18ul, m_sumOfConsumedBufferedAmount); 391 EXPECT_EQ(18ul, m_sumOfConsumedBufferedAmount);
392 } 392 }
393 393
394 TEST_F(NewWebSocketChannelImplTest, sendBinaryInArrayBuffer) 394 TEST_F(NewWebSocketChannelImplTest, sendBinaryInArrayBuffer)
395 { 395 {
396 connect(); 396 connect();
397 { 397 {
398 InSequence s; 398 InSequence s;
399 EXPECT_CALL(*handle(), send(true, blink::WebSocketHandle::MessageTypeBin ary, MemEq("foo", 3), 3)); 399 EXPECT_CALL(*handle(), send(true, WebSocketHandle::MessageTypeBinary, Me mEq("foo", 3), 3));
400 } 400 }
401 401
402 handleClient()->didReceiveFlowControl(handle(), 16); 402 handleClient()->didReceiveFlowControl(handle(), 16);
403 EXPECT_CALL(*channelClient(), didConsumeBufferedAmount(_)).Times(AnyNumber() ); 403 EXPECT_CALL(*channelClient(), didConsumeBufferedAmount(_)).Times(AnyNumber() );
404 404
405 RefPtr<ArrayBuffer> fooBuffer = ArrayBuffer::create("foo", 3); 405 RefPtr<ArrayBuffer> fooBuffer = ArrayBuffer::create("foo", 3);
406 channel()->send(*fooBuffer, 0, 3); 406 channel()->send(*fooBuffer, 0, 3);
407 407
408 EXPECT_EQ(3ul, m_sumOfConsumedBufferedAmount); 408 EXPECT_EQ(3ul, m_sumOfConsumedBufferedAmount);
409 } 409 }
410 410
411 TEST_F(NewWebSocketChannelImplTest, sendBinaryInArrayBufferPartial) 411 TEST_F(NewWebSocketChannelImplTest, sendBinaryInArrayBufferPartial)
412 { 412 {
413 connect(); 413 connect();
414 { 414 {
415 InSequence s; 415 InSequence s;
416 EXPECT_CALL(*handle(), send(true, blink::WebSocketHandle::MessageTypeBin ary, MemEq("foo", 3), 3)); 416 EXPECT_CALL(*handle(), send(true, WebSocketHandle::MessageTypeBinary, Me mEq("foo", 3), 3));
417 EXPECT_CALL(*handle(), send(true, blink::WebSocketHandle::MessageTypeBin ary, MemEq("bar", 3), 3)); 417 EXPECT_CALL(*handle(), send(true, WebSocketHandle::MessageTypeBinary, Me mEq("bar", 3), 3));
418 EXPECT_CALL(*handle(), send(true, blink::WebSocketHandle::MessageTypeBin ary, MemEq("baz", 3), 3)); 418 EXPECT_CALL(*handle(), send(true, WebSocketHandle::MessageTypeBinary, Me mEq("baz", 3), 3));
419 EXPECT_CALL(*handle(), send(true, blink::WebSocketHandle::MessageTypeBin ary, MemEq("a", 1), 1)); 419 EXPECT_CALL(*handle(), send(true, WebSocketHandle::MessageTypeBinary, Me mEq("a", 1), 1));
420 } 420 }
421 421
422 handleClient()->didReceiveFlowControl(handle(), 16); 422 handleClient()->didReceiveFlowControl(handle(), 16);
423 EXPECT_CALL(*channelClient(), didConsumeBufferedAmount(_)).Times(AnyNumber() ); 423 EXPECT_CALL(*channelClient(), didConsumeBufferedAmount(_)).Times(AnyNumber() );
424 424
425 RefPtr<ArrayBuffer> foobarBuffer = ArrayBuffer::create("foobar", 6); 425 RefPtr<ArrayBuffer> foobarBuffer = ArrayBuffer::create("foobar", 6);
426 RefPtr<ArrayBuffer> qbazuxBuffer = ArrayBuffer::create("qbazux", 6); 426 RefPtr<ArrayBuffer> qbazuxBuffer = ArrayBuffer::create("qbazux", 6);
427 channel()->send(*foobarBuffer, 0, 3); 427 channel()->send(*foobarBuffer, 0, 3);
428 channel()->send(*foobarBuffer, 3, 3); 428 channel()->send(*foobarBuffer, 3, 3);
429 channel()->send(*qbazuxBuffer, 1, 3); 429 channel()->send(*qbazuxBuffer, 1, 3);
430 channel()->send(*qbazuxBuffer, 2, 1); 430 channel()->send(*qbazuxBuffer, 2, 1);
431 431
432 EXPECT_EQ(10ul, m_sumOfConsumedBufferedAmount); 432 EXPECT_EQ(10ul, m_sumOfConsumedBufferedAmount);
433 } 433 }
434 434
435 TEST_F(NewWebSocketChannelImplTest, sendBinaryInArrayBufferWithNullBytes) 435 TEST_F(NewWebSocketChannelImplTest, sendBinaryInArrayBufferWithNullBytes)
436 { 436 {
437 connect(); 437 connect();
438 { 438 {
439 InSequence s; 439 InSequence s;
440 EXPECT_CALL(*handle(), send(true, blink::WebSocketHandle::MessageTypeBin ary, MemEq("\0ar", 3), 3)); 440 EXPECT_CALL(*handle(), send(true, WebSocketHandle::MessageTypeBinary, Me mEq("\0ar", 3), 3));
441 EXPECT_CALL(*handle(), send(true, blink::WebSocketHandle::MessageTypeBin ary, MemEq("b\0z", 3), 3)); 441 EXPECT_CALL(*handle(), send(true, WebSocketHandle::MessageTypeBinary, Me mEq("b\0z", 3), 3));
442 EXPECT_CALL(*handle(), send(true, blink::WebSocketHandle::MessageTypeBin ary, MemEq("qu\0", 3), 3)); 442 EXPECT_CALL(*handle(), send(true, WebSocketHandle::MessageTypeBinary, Me mEq("qu\0", 3), 3));
443 EXPECT_CALL(*handle(), send(true, blink::WebSocketHandle::MessageTypeBin ary, MemEq("\0\0\0", 3), 3)); 443 EXPECT_CALL(*handle(), send(true, WebSocketHandle::MessageTypeBinary, Me mEq("\0\0\0", 3), 3));
444 } 444 }
445 445
446 handleClient()->didReceiveFlowControl(handle(), 16); 446 handleClient()->didReceiveFlowControl(handle(), 16);
447 EXPECT_CALL(*channelClient(), didConsumeBufferedAmount(_)).Times(AnyNumber() ); 447 EXPECT_CALL(*channelClient(), didConsumeBufferedAmount(_)).Times(AnyNumber() );
448 448
449 { 449 {
450 RefPtr<ArrayBuffer> b = ArrayBuffer::create("\0ar", 3); 450 RefPtr<ArrayBuffer> b = ArrayBuffer::create("\0ar", 3);
451 channel()->send(*b, 0, 3); 451 channel()->send(*b, 0, 3);
452 } 452 }
453 { 453 {
454 RefPtr<ArrayBuffer> b = ArrayBuffer::create("b\0z", 3); 454 RefPtr<ArrayBuffer> b = ArrayBuffer::create("b\0z", 3);
455 channel()->send(*b, 0, 3); 455 channel()->send(*b, 0, 3);
456 } 456 }
457 { 457 {
458 RefPtr<ArrayBuffer> b = ArrayBuffer::create("qu\0", 3); 458 RefPtr<ArrayBuffer> b = ArrayBuffer::create("qu\0", 3);
459 channel()->send(*b, 0, 3); 459 channel()->send(*b, 0, 3);
460 } 460 }
461 { 461 {
462 RefPtr<ArrayBuffer> b = ArrayBuffer::create("\0\0\0", 3); 462 RefPtr<ArrayBuffer> b = ArrayBuffer::create("\0\0\0", 3);
463 channel()->send(*b, 0, 3); 463 channel()->send(*b, 0, 3);
464 } 464 }
465 465
466 EXPECT_EQ(12ul, m_sumOfConsumedBufferedAmount); 466 EXPECT_EQ(12ul, m_sumOfConsumedBufferedAmount);
467 } 467 }
468 468
469 TEST_F(NewWebSocketChannelImplTest, sendBinaryInArrayBufferNonLatin1UTF8) 469 TEST_F(NewWebSocketChannelImplTest, sendBinaryInArrayBufferNonLatin1UTF8)
470 { 470 {
471 connect(); 471 connect();
472 EXPECT_CALL(*handle(), send(true, blink::WebSocketHandle::MessageTypeBinary, MemEq("\xe7\x8b\x90", 3), 3)); 472 EXPECT_CALL(*handle(), send(true, WebSocketHandle::MessageTypeBinary, MemEq( "\xe7\x8b\x90", 3), 3));
473 473
474 handleClient()->didReceiveFlowControl(handle(), 16); 474 handleClient()->didReceiveFlowControl(handle(), 16);
475 EXPECT_CALL(*channelClient(), didConsumeBufferedAmount(_)).Times(AnyNumber() ); 475 EXPECT_CALL(*channelClient(), didConsumeBufferedAmount(_)).Times(AnyNumber() );
476 476
477 RefPtr<ArrayBuffer> b = ArrayBuffer::create("\xe7\x8b\x90", 3); 477 RefPtr<ArrayBuffer> b = ArrayBuffer::create("\xe7\x8b\x90", 3);
478 channel()->send(*b, 0, 3); 478 channel()->send(*b, 0, 3);
479 479
480 EXPECT_EQ(3ul, m_sumOfConsumedBufferedAmount); 480 EXPECT_EQ(3ul, m_sumOfConsumedBufferedAmount);
481 } 481 }
482 482
483 TEST_F(NewWebSocketChannelImplTest, sendBinaryInArrayBufferNonUTF8) 483 TEST_F(NewWebSocketChannelImplTest, sendBinaryInArrayBufferNonUTF8)
484 { 484 {
485 connect(); 485 connect();
486 EXPECT_CALL(*handle(), send(true, blink::WebSocketHandle::MessageTypeBinary, MemEq("\x80\xff\xe7", 3), 3)); 486 EXPECT_CALL(*handle(), send(true, WebSocketHandle::MessageTypeBinary, MemEq( "\x80\xff\xe7", 3), 3));
487 487
488 handleClient()->didReceiveFlowControl(handle(), 16); 488 handleClient()->didReceiveFlowControl(handle(), 16);
489 EXPECT_CALL(*channelClient(), didConsumeBufferedAmount(_)).Times(AnyNumber() ); 489 EXPECT_CALL(*channelClient(), didConsumeBufferedAmount(_)).Times(AnyNumber() );
490 490
491 RefPtr<ArrayBuffer> b = ArrayBuffer::create("\x80\xff\xe7", 3); 491 RefPtr<ArrayBuffer> b = ArrayBuffer::create("\x80\xff\xe7", 3);
492 channel()->send(*b, 0, 3); 492 channel()->send(*b, 0, 3);
493 493
494 EXPECT_EQ(3ul, m_sumOfConsumedBufferedAmount); 494 EXPECT_EQ(3ul, m_sumOfConsumedBufferedAmount);
495 } 495 }
496 496
497 TEST_F(NewWebSocketChannelImplTest, sendBinaryInArrayBufferNonLatin1UTF8Continua tion) 497 TEST_F(NewWebSocketChannelImplTest, sendBinaryInArrayBufferNonLatin1UTF8Continua tion)
498 { 498 {
499 connect(); 499 connect();
500 Checkpoint checkpoint; 500 Checkpoint checkpoint;
501 { 501 {
502 InSequence s; 502 InSequence s;
503 EXPECT_CALL(*handle(), send(false, blink::WebSocketHandle::MessageTypeBi nary, MemEq("\xe7\x8b\x90\xe7\x8b\x90\xe7\x8b\x90\xe7\x8b\x90\xe7\x8b\x90\xe7", 16), 16)); 503 EXPECT_CALL(*handle(), send(false, WebSocketHandle::MessageTypeBinary, M emEq("\xe7\x8b\x90\xe7\x8b\x90\xe7\x8b\x90\xe7\x8b\x90\xe7\x8b\x90\xe7", 16), 16 ));
504 EXPECT_CALL(checkpoint, Call(1)); 504 EXPECT_CALL(checkpoint, Call(1));
505 EXPECT_CALL(*handle(), send(true, blink::WebSocketHandle::MessageTypeCon tinuation, MemEq("\x8b\x90", 2), 2)); 505 EXPECT_CALL(*handle(), send(true, WebSocketHandle::MessageTypeContinuati on, MemEq("\x8b\x90", 2), 2));
506 } 506 }
507 507
508 handleClient()->didReceiveFlowControl(handle(), 16); 508 handleClient()->didReceiveFlowControl(handle(), 16);
509 EXPECT_CALL(*channelClient(), didConsumeBufferedAmount(_)).Times(AnyNumber() ); 509 EXPECT_CALL(*channelClient(), didConsumeBufferedAmount(_)).Times(AnyNumber() );
510 510
511 RefPtr<ArrayBuffer> b = ArrayBuffer::create("\xe7\x8b\x90\xe7\x8b\x90\xe7\x8 b\x90\xe7\x8b\x90\xe7\x8b\x90\xe7\x8b\x90", 18); 511 RefPtr<ArrayBuffer> b = ArrayBuffer::create("\xe7\x8b\x90\xe7\x8b\x90\xe7\x8 b\x90\xe7\x8b\x90\xe7\x8b\x90\xe7\x8b\x90", 18);
512 channel()->send(*b, 0, 18); 512 channel()->send(*b, 0, 18);
513 checkpoint.Call(1); 513 checkpoint.Call(1);
514 514
515 handleClient()->didReceiveFlowControl(handle(), 16); 515 handleClient()->didReceiveFlowControl(handle(), 16);
516 516
517 EXPECT_EQ(18ul, m_sumOfConsumedBufferedAmount); 517 EXPECT_EQ(18ul, m_sumOfConsumedBufferedAmount);
518 } 518 }
519 519
520 // FIXME: Add tests for WebSocketChannel::send(PassRefPtr<BlobDataHandle>) 520 // FIXME: Add tests for WebSocketChannel::send(PassRefPtr<BlobDataHandle>)
521 521
522 TEST_F(NewWebSocketChannelImplTest, receiveText) 522 TEST_F(NewWebSocketChannelImplTest, receiveText)
523 { 523 {
524 connect(); 524 connect();
525 { 525 {
526 InSequence s; 526 InSequence s;
527 EXPECT_CALL(*channelClient(), didReceiveMessage(String("FOO"))); 527 EXPECT_CALL(*channelClient(), didReceiveMessage(String("FOO")));
528 EXPECT_CALL(*channelClient(), didReceiveMessage(String("BAR"))); 528 EXPECT_CALL(*channelClient(), didReceiveMessage(String("BAR")));
529 } 529 }
530 530
531 handleClient()->didReceiveData(handle(), true, blink::WebSocketHandle::Messa geTypeText, "FOOX", 3); 531 handleClient()->didReceiveData(handle(), true, WebSocketHandle::MessageTypeT ext, "FOOX", 3);
532 handleClient()->didReceiveData(handle(), true, blink::WebSocketHandle::Messa geTypeText, "BARX", 3); 532 handleClient()->didReceiveData(handle(), true, WebSocketHandle::MessageTypeT ext, "BARX", 3);
533 } 533 }
534 534
535 TEST_F(NewWebSocketChannelImplTest, receiveTextContinuation) 535 TEST_F(NewWebSocketChannelImplTest, receiveTextContinuation)
536 { 536 {
537 connect(); 537 connect();
538 EXPECT_CALL(*channelClient(), didReceiveMessage(String("BAZ"))); 538 EXPECT_CALL(*channelClient(), didReceiveMessage(String("BAZ")));
539 539
540 handleClient()->didReceiveData(handle(), false, blink::WebSocketHandle::Mess ageTypeText, "BX", 1); 540 handleClient()->didReceiveData(handle(), false, WebSocketHandle::MessageType Text, "BX", 1);
541 handleClient()->didReceiveData(handle(), false, blink::WebSocketHandle::Mess ageTypeContinuation, "AX", 1); 541 handleClient()->didReceiveData(handle(), false, WebSocketHandle::MessageType Continuation, "AX", 1);
542 handleClient()->didReceiveData(handle(), true, blink::WebSocketHandle::Messa geTypeContinuation, "ZX", 1); 542 handleClient()->didReceiveData(handle(), true, WebSocketHandle::MessageTypeC ontinuation, "ZX", 1);
543 } 543 }
544 544
545 TEST_F(NewWebSocketChannelImplTest, receiveTextNonLatin1) 545 TEST_F(NewWebSocketChannelImplTest, receiveTextNonLatin1)
546 { 546 {
547 connect(); 547 connect();
548 UChar nonLatin1String[] = { 548 UChar nonLatin1String[] = {
549 0x72d0, 549 0x72d0,
550 0x0914, 550 0x0914,
551 0x0000 551 0x0000
552 }; 552 };
553 EXPECT_CALL(*channelClient(), didReceiveMessage(String(nonLatin1String))); 553 EXPECT_CALL(*channelClient(), didReceiveMessage(String(nonLatin1String)));
554 554
555 handleClient()->didReceiveData(handle(), true, blink::WebSocketHandle::Messa geTypeText, "\xe7\x8b\x90\xe0\xa4\x94", 6); 555 handleClient()->didReceiveData(handle(), true, WebSocketHandle::MessageTypeT ext, "\xe7\x8b\x90\xe0\xa4\x94", 6);
556 } 556 }
557 557
558 TEST_F(NewWebSocketChannelImplTest, receiveTextNonLatin1Continuation) 558 TEST_F(NewWebSocketChannelImplTest, receiveTextNonLatin1Continuation)
559 { 559 {
560 connect(); 560 connect();
561 UChar nonLatin1String[] = { 561 UChar nonLatin1String[] = {
562 0x72d0, 562 0x72d0,
563 0x0914, 563 0x0914,
564 0x0000 564 0x0000
565 }; 565 };
566 EXPECT_CALL(*channelClient(), didReceiveMessage(String(nonLatin1String))); 566 EXPECT_CALL(*channelClient(), didReceiveMessage(String(nonLatin1String)));
567 567
568 handleClient()->didReceiveData(handle(), false, blink::WebSocketHandle::Mess ageTypeText, "\xe7\x8b", 2); 568 handleClient()->didReceiveData(handle(), false, WebSocketHandle::MessageType Text, "\xe7\x8b", 2);
569 handleClient()->didReceiveData(handle(), false, blink::WebSocketHandle::Mess ageTypeContinuation, "\x90\xe0", 2); 569 handleClient()->didReceiveData(handle(), false, WebSocketHandle::MessageType Continuation, "\x90\xe0", 2);
570 handleClient()->didReceiveData(handle(), false, blink::WebSocketHandle::Mess ageTypeContinuation, "\xa4", 1); 570 handleClient()->didReceiveData(handle(), false, WebSocketHandle::MessageType Continuation, "\xa4", 1);
571 handleClient()->didReceiveData(handle(), true, blink::WebSocketHandle::Messa geTypeContinuation, "\x94", 1); 571 handleClient()->didReceiveData(handle(), true, WebSocketHandle::MessageTypeC ontinuation, "\x94", 1);
572 } 572 }
573 573
574 TEST_F(NewWebSocketChannelImplTest, receiveBinary) 574 TEST_F(NewWebSocketChannelImplTest, receiveBinary)
575 { 575 {
576 connect(); 576 connect();
577 Vector<char> fooVector; 577 Vector<char> fooVector;
578 fooVector.append("FOO", 3); 578 fooVector.append("FOO", 3);
579 EXPECT_CALL(*channelClient(), didReceiveBinaryDataMock(fooVector)); 579 EXPECT_CALL(*channelClient(), didReceiveBinaryDataMock(fooVector));
580 580
581 handleClient()->didReceiveData(handle(), true, blink::WebSocketHandle::Messa geTypeBinary, "FOOx", 3); 581 handleClient()->didReceiveData(handle(), true, WebSocketHandle::MessageTypeB inary, "FOOx", 3);
582 } 582 }
583 583
584 TEST_F(NewWebSocketChannelImplTest, receiveBinaryContinuation) 584 TEST_F(NewWebSocketChannelImplTest, receiveBinaryContinuation)
585 { 585 {
586 connect(); 586 connect();
587 Vector<char> bazVector; 587 Vector<char> bazVector;
588 bazVector.append("BAZ", 3); 588 bazVector.append("BAZ", 3);
589 EXPECT_CALL(*channelClient(), didReceiveBinaryDataMock(bazVector)); 589 EXPECT_CALL(*channelClient(), didReceiveBinaryDataMock(bazVector));
590 590
591 handleClient()->didReceiveData(handle(), false, blink::WebSocketHandle::Mess ageTypeBinary, "Bx", 1); 591 handleClient()->didReceiveData(handle(), false, WebSocketHandle::MessageType Binary, "Bx", 1);
592 handleClient()->didReceiveData(handle(), false, blink::WebSocketHandle::Mess ageTypeContinuation, "Ax", 1); 592 handleClient()->didReceiveData(handle(), false, WebSocketHandle::MessageType Continuation, "Ax", 1);
593 handleClient()->didReceiveData(handle(), true, blink::WebSocketHandle::Messa geTypeContinuation, "Zx", 1); 593 handleClient()->didReceiveData(handle(), true, WebSocketHandle::MessageTypeC ontinuation, "Zx", 1);
594 } 594 }
595 595
596 TEST_F(NewWebSocketChannelImplTest, receiveBinaryWithNullBytes) 596 TEST_F(NewWebSocketChannelImplTest, receiveBinaryWithNullBytes)
597 { 597 {
598 connect(); 598 connect();
599 { 599 {
600 InSequence s; 600 InSequence s;
601 { 601 {
602 Vector<char> v; 602 Vector<char> v;
603 v.append("\0AR", 3); 603 v.append("\0AR", 3);
604 EXPECT_CALL(*channelClient(), didReceiveBinaryDataMock(v)); 604 EXPECT_CALL(*channelClient(), didReceiveBinaryDataMock(v));
605 } 605 }
606 { 606 {
607 Vector<char> v; 607 Vector<char> v;
608 v.append("B\0Z", 3); 608 v.append("B\0Z", 3);
609 EXPECT_CALL(*channelClient(), didReceiveBinaryDataMock(v)); 609 EXPECT_CALL(*channelClient(), didReceiveBinaryDataMock(v));
610 } 610 }
611 { 611 {
612 Vector<char> v; 612 Vector<char> v;
613 v.append("QU\0", 3); 613 v.append("QU\0", 3);
614 EXPECT_CALL(*channelClient(), didReceiveBinaryDataMock(v)); 614 EXPECT_CALL(*channelClient(), didReceiveBinaryDataMock(v));
615 } 615 }
616 { 616 {
617 Vector<char> v; 617 Vector<char> v;
618 v.append("\0\0\0", 3); 618 v.append("\0\0\0", 3);
619 EXPECT_CALL(*channelClient(), didReceiveBinaryDataMock(v)); 619 EXPECT_CALL(*channelClient(), didReceiveBinaryDataMock(v));
620 } 620 }
621 } 621 }
622 622
623 handleClient()->didReceiveData(handle(), true, blink::WebSocketHandle::Messa geTypeBinary, "\0AR", 3); 623 handleClient()->didReceiveData(handle(), true, WebSocketHandle::MessageTypeB inary, "\0AR", 3);
624 handleClient()->didReceiveData(handle(), true, blink::WebSocketHandle::Messa geTypeBinary, "B\0Z", 3); 624 handleClient()->didReceiveData(handle(), true, WebSocketHandle::MessageTypeB inary, "B\0Z", 3);
625 handleClient()->didReceiveData(handle(), true, blink::WebSocketHandle::Messa geTypeBinary, "QU\0", 3); 625 handleClient()->didReceiveData(handle(), true, WebSocketHandle::MessageTypeB inary, "QU\0", 3);
626 handleClient()->didReceiveData(handle(), true, blink::WebSocketHandle::Messa geTypeBinary, "\0\0\0", 3); 626 handleClient()->didReceiveData(handle(), true, WebSocketHandle::MessageTypeB inary, "\0\0\0", 3);
627 } 627 }
628 628
629 TEST_F(NewWebSocketChannelImplTest, receiveBinaryNonLatin1UTF8) 629 TEST_F(NewWebSocketChannelImplTest, receiveBinaryNonLatin1UTF8)
630 { 630 {
631 connect(); 631 connect();
632 Vector<char> v; 632 Vector<char> v;
633 v.append("\xe7\x8b\x90\xe0\xa4\x94", 6); 633 v.append("\xe7\x8b\x90\xe0\xa4\x94", 6);
634 EXPECT_CALL(*channelClient(), didReceiveBinaryDataMock(v)); 634 EXPECT_CALL(*channelClient(), didReceiveBinaryDataMock(v));
635 635
636 handleClient()->didReceiveData(handle(), true, blink::WebSocketHandle::Messa geTypeBinary, "\xe7\x8b\x90\xe0\xa4\x94", 6); 636 handleClient()->didReceiveData(handle(), true, WebSocketHandle::MessageTypeB inary, "\xe7\x8b\x90\xe0\xa4\x94", 6);
637 } 637 }
638 638
639 TEST_F(NewWebSocketChannelImplTest, receiveBinaryNonLatin1UTF8Continuation) 639 TEST_F(NewWebSocketChannelImplTest, receiveBinaryNonLatin1UTF8Continuation)
640 { 640 {
641 connect(); 641 connect();
642 Vector<char> v; 642 Vector<char> v;
643 v.append("\xe7\x8b\x90\xe0\xa4\x94", 6); 643 v.append("\xe7\x8b\x90\xe0\xa4\x94", 6);
644 EXPECT_CALL(*channelClient(), didReceiveBinaryDataMock(v)); 644 EXPECT_CALL(*channelClient(), didReceiveBinaryDataMock(v));
645 645
646 handleClient()->didReceiveData(handle(), false, blink::WebSocketHandle::Mess ageTypeBinary, "\xe7\x8b", 2); 646 handleClient()->didReceiveData(handle(), false, WebSocketHandle::MessageType Binary, "\xe7\x8b", 2);
647 handleClient()->didReceiveData(handle(), false, blink::WebSocketHandle::Mess ageTypeContinuation, "\x90\xe0", 2); 647 handleClient()->didReceiveData(handle(), false, WebSocketHandle::MessageType Continuation, "\x90\xe0", 2);
648 handleClient()->didReceiveData(handle(), false, blink::WebSocketHandle::Mess ageTypeContinuation, "\xa4", 1); 648 handleClient()->didReceiveData(handle(), false, WebSocketHandle::MessageType Continuation, "\xa4", 1);
649 handleClient()->didReceiveData(handle(), true, blink::WebSocketHandle::Messa geTypeContinuation, "\x94", 1); 649 handleClient()->didReceiveData(handle(), true, WebSocketHandle::MessageTypeC ontinuation, "\x94", 1);
650 } 650 }
651 651
652 TEST_F(NewWebSocketChannelImplTest, receiveBinaryNonUTF8) 652 TEST_F(NewWebSocketChannelImplTest, receiveBinaryNonUTF8)
653 { 653 {
654 connect(); 654 connect();
655 Vector<char> v; 655 Vector<char> v;
656 v.append("\x80\xff", 2); 656 v.append("\x80\xff", 2);
657 EXPECT_CALL(*channelClient(), didReceiveBinaryDataMock(v)); 657 EXPECT_CALL(*channelClient(), didReceiveBinaryDataMock(v));
658 658
659 handleClient()->didReceiveData(handle(), true, blink::WebSocketHandle::Messa geTypeBinary, "\x80\xff", 2); 659 handleClient()->didReceiveData(handle(), true, WebSocketHandle::MessageTypeB inary, "\x80\xff", 2);
660 } 660 }
661 661
662 TEST_F(NewWebSocketChannelImplTest, closeFromBrowser) 662 TEST_F(NewWebSocketChannelImplTest, closeFromBrowser)
663 { 663 {
664 connect(); 664 connect();
665 Checkpoint checkpoint; 665 Checkpoint checkpoint;
666 { 666 {
667 InSequence s; 667 InSequence s;
668 668
669 EXPECT_CALL(*channelClient(), didStartClosingHandshake()); 669 EXPECT_CALL(*channelClient(), didStartClosingHandshake());
670 EXPECT_CALL(checkpoint, Call(1)); 670 EXPECT_CALL(checkpoint, Call(1));
671 671
672 EXPECT_CALL(*handle(), close(WebSocketChannel::CloseEventCodeNormalClosu re, blink::WebString("close reason"))); 672 EXPECT_CALL(*handle(), close(WebSocketChannel::CloseEventCodeNormalClosu re, WebString("close reason")));
673 EXPECT_CALL(checkpoint, Call(2)); 673 EXPECT_CALL(checkpoint, Call(2));
674 674
675 EXPECT_CALL(*channelClient(), didClose(WebSocketChannelClient::ClosingHa ndshakeComplete, WebSocketChannel::CloseEventCodeNormalClosure, String("close re ason"))); 675 EXPECT_CALL(*channelClient(), didClose(WebSocketChannelClient::ClosingHa ndshakeComplete, WebSocketChannel::CloseEventCodeNormalClosure, String("close re ason")));
676 EXPECT_CALL(checkpoint, Call(3)); 676 EXPECT_CALL(checkpoint, Call(3));
677 } 677 }
678 678
679 handleClient()->didStartClosingHandshake(handle()); 679 handleClient()->didStartClosingHandshake(handle());
680 checkpoint.Call(1); 680 checkpoint.Call(1);
681 681
682 channel()->close(WebSocketChannel::CloseEventCodeNormalClosure, String("clos e reason")); 682 channel()->close(WebSocketChannel::CloseEventCodeNormalClosure, String("clos e reason"));
683 checkpoint.Call(2); 683 checkpoint.Call(2);
684 684
685 handleClient()->didClose(handle(), true, WebSocketChannel::CloseEventCodeNor malClosure, String("close reason")); 685 handleClient()->didClose(handle(), true, WebSocketChannel::CloseEventCodeNor malClosure, String("close reason"));
686 checkpoint.Call(3); 686 checkpoint.Call(3);
687 687
688 channel()->disconnect(); 688 channel()->disconnect();
689 } 689 }
690 690
691 TEST_F(NewWebSocketChannelImplTest, closeFromWebSocket) 691 TEST_F(NewWebSocketChannelImplTest, closeFromWebSocket)
692 { 692 {
693 connect(); 693 connect();
694 Checkpoint checkpoint; 694 Checkpoint checkpoint;
695 { 695 {
696 InSequence s; 696 InSequence s;
697 697
698 EXPECT_CALL(*handle(), close(WebSocketChannel::CloseEventCodeNormalClosu re, blink::WebString("close reason"))); 698 EXPECT_CALL(*handle(), close(WebSocketChannel::CloseEventCodeNormalClosu re, WebString("close reason")));
699 EXPECT_CALL(checkpoint, Call(1)); 699 EXPECT_CALL(checkpoint, Call(1));
700 700
701 EXPECT_CALL(*channelClient(), didClose(WebSocketChannelClient::ClosingHa ndshakeComplete, WebSocketChannel::CloseEventCodeNormalClosure, String("close re ason"))); 701 EXPECT_CALL(*channelClient(), didClose(WebSocketChannelClient::ClosingHa ndshakeComplete, WebSocketChannel::CloseEventCodeNormalClosure, String("close re ason")));
702 EXPECT_CALL(checkpoint, Call(2)); 702 EXPECT_CALL(checkpoint, Call(2));
703 } 703 }
704 704
705 channel()->close(WebSocketChannel::CloseEventCodeNormalClosure, String("clos e reason")); 705 channel()->close(WebSocketChannel::CloseEventCodeNormalClosure, String("clos e reason"));
706 checkpoint.Call(1); 706 checkpoint.Call(1);
707 707
708 handleClient()->didClose(handle(), true, WebSocketChannel::CloseEventCodeNor malClosure, String("close reason")); 708 handleClient()->didClose(handle(), true, WebSocketChannel::CloseEventCodeNor malClosure, String("close reason"));
(...skipping 24 matching lines...) Expand all
733 EXPECT_CALL(*channelClient(), didReceiveMessageError()); 733 EXPECT_CALL(*channelClient(), didReceiveMessageError());
734 EXPECT_CALL(*channelClient(), didClose(WebSocketChannelClient::ClosingHa ndshakeIncomplete, WebSocketChannel::CloseEventCodeAbnormalClosure, String())); 734 EXPECT_CALL(*channelClient(), didClose(WebSocketChannelClient::ClosingHa ndshakeIncomplete, WebSocketChannel::CloseEventCodeAbnormalClosure, String()));
735 } 735 }
736 736
737 channel()->fail("fail message from WebSocket", ErrorMessageLevel, "sourceURL ", 1234); 737 channel()->fail("fail message from WebSocket", ErrorMessageLevel, "sourceURL ", 1234);
738 } 738 }
739 739
740 } // namespace 740 } // namespace
741 741
742 } // namespace blink 742 } // namespace blink
OLDNEW
« no previous file with comments | « Source/modules/websockets/NewWebSocketChannelImpl.cpp ('k') | Source/modules/websockets/WebSocketHandshake.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698