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

Side by Side Diff: ppapi/tests/test_websocket.cc

Issue 10332138: WebSocket Pepper API: allow to close connection without code and reason (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: uint16_t -> enum Created 8 years, 7 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 | Annotate | Revision Log
OLDNEW
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 "ppapi/tests/test_websocket.h" 5 #include "ppapi/tests/test_websocket.h"
6 6
7 #include <stdio.h> 7 #include <stdio.h>
8 #include <string.h> 8 #include <string.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 449 matching lines...) Expand 10 before | Expand all | Expand 10 after
460 callback.GetCallback().pp_completion_callback())); 460 callback.GetCallback().pp_completion_callback()));
461 ASSERT_EQ(PP_ERROR_FAILED, callback.result()); 461 ASSERT_EQ(PP_ERROR_FAILED, callback.result());
462 core_interface_->ReleaseResource(ws); 462 core_interface_->ReleaseResource(ws);
463 463
464 // Close with bad arguments. 464 // Close with bad arguments.
465 int32_t result; 465 int32_t result;
466 ws = Connect(GetFullURL(kEchoServerURL), &result, ""); 466 ws = Connect(GetFullURL(kEchoServerURL), &result, "");
467 ASSERT_TRUE(ws); 467 ASSERT_TRUE(ws);
468 ASSERT_EQ(PP_OK, result); 468 ASSERT_EQ(PP_OK, result);
469 callback.WaitForResult(websocket_interface_->Close( 469 callback.WaitForResult(websocket_interface_->Close(
470 ws, 1U, reason, callback.GetCallback().pp_completion_callback())); 470 ws, static_cast<PP_WebSocketStatusCode>(1), reason,
471 callback.GetCallback().pp_completion_callback()));
471 ASSERT_EQ(PP_ERROR_NOACCESS, callback.result()); 472 ASSERT_EQ(PP_ERROR_NOACCESS, callback.result());
472 core_interface_->ReleaseResource(ws); 473 core_interface_->ReleaseResource(ws);
473 474
474 // Close with PP_VARTYPE_NULL. 475 // Close with PP_VARTYPE_NULL.
475 ws = Connect(GetFullURL(kEchoServerURL), &result, ""); 476 ws = Connect(GetFullURL(kEchoServerURL), &result, "");
476 ASSERT_TRUE(ws); 477 ASSERT_TRUE(ws);
477 ASSERT_EQ(PP_OK, result); 478 ASSERT_EQ(PP_OK, result);
478 callback.WaitForResult(websocket_interface_->Close( 479 callback.WaitForResult(websocket_interface_->Close(
479 ws, PP_WEBSOCKETSTATUSCODE_NORMAL_CLOSURE, PP_MakeNull(), 480 ws, PP_WEBSOCKETSTATUSCODE_NORMAL_CLOSURE, PP_MakeNull(),
480 callback.GetCallback().pp_completion_callback())); 481 callback.GetCallback().pp_completion_callback()));
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
546 PP_Resource ws = Connect(GetFullURL(kEchoServerURL), &result, ""); 547 PP_Resource ws = Connect(GetFullURL(kEchoServerURL), &result, "");
547 ASSERT_TRUE(ws); 548 ASSERT_TRUE(ws);
548 ASSERT_EQ(PP_OK, result); 549 ASSERT_EQ(PP_OK, result);
549 callback.WaitForResult(websocket_interface_->Close( 550 callback.WaitForResult(websocket_interface_->Close(
550 ws, PP_WEBSOCKETSTATUSCODE_NORMAL_CLOSURE, reason, 551 ws, PP_WEBSOCKETSTATUSCODE_NORMAL_CLOSURE, reason,
551 callback.GetCallback().pp_completion_callback())); 552 callback.GetCallback().pp_completion_callback()));
552 CHECK_CALLBACK_BEHAVIOR(callback); 553 CHECK_CALLBACK_BEHAVIOR(callback);
553 ASSERT_EQ(PP_OK, callback.result()); 554 ASSERT_EQ(PP_OK, callback.result());
554 core_interface_->ReleaseResource(ws); 555 core_interface_->ReleaseResource(ws);
555 556
557 // Close without code and reason.
558 ws = Connect(GetFullURL(kEchoServerURL), &result, "");
559 ASSERT_TRUE(ws);
560 ASSERT_EQ(PP_OK, result);
561 callback.WaitForResult(websocket_interface_->Close(
562 ws, PP_WEBSOCKETSTATUSCODE_NOT_SPECIFIED, reason,
563 callback.GetCallback().pp_completion_callback()));
564 ASSERT_EQ(PP_OK, callback.result());
565 core_interface_->ReleaseResource(ws);
566
556 // Close with PP_VARTYPE_UNDEFINED. 567 // Close with PP_VARTYPE_UNDEFINED.
557 ws = Connect(GetFullURL(kEchoServerURL), &result, ""); 568 ws = Connect(GetFullURL(kEchoServerURL), &result, "");
558 ASSERT_TRUE(ws); 569 ASSERT_TRUE(ws);
559 ASSERT_EQ(PP_OK, result); 570 ASSERT_EQ(PP_OK, result);
560 callback.WaitForResult(websocket_interface_->Close( 571 callback.WaitForResult(websocket_interface_->Close(
561 ws, PP_WEBSOCKETSTATUSCODE_NORMAL_CLOSURE, PP_MakeUndefined(), 572 ws, PP_WEBSOCKETSTATUSCODE_NORMAL_CLOSURE, PP_MakeUndefined(),
562 callback.GetCallback().pp_completion_callback())); 573 callback.GetCallback().pp_completion_callback()));
563 CHECK_CALLBACK_BEHAVIOR(callback); 574 CHECK_CALLBACK_BEHAVIOR(callback);
564 ASSERT_EQ(PP_OK, callback.result()); 575 ASSERT_EQ(PP_OK, callback.result());
565 core_interface_->ReleaseResource(ws); 576 core_interface_->ReleaseResource(ws);
(...skipping 601 matching lines...) Expand 10 before | Expand all | Expand 10 after
1167 ASSERT_EQ(0U, websocket.GetSeenEvents().size()); 1178 ASSERT_EQ(0U, websocket.GetSeenEvents().size());
1168 } 1179 }
1169 1180
1170 // Close with bad arguments. 1181 // Close with bad arguments.
1171 { 1182 {
1172 TestWebSocketAPI websocket(instance_); 1183 TestWebSocketAPI websocket(instance_);
1173 int32_t result = websocket.Connect(pp::Var(GetFullURL(kEchoServerURL)), 1184 int32_t result = websocket.Connect(pp::Var(GetFullURL(kEchoServerURL)),
1174 NULL, 0); 1185 NULL, 0);
1175 ASSERT_EQ(PP_OK_COMPLETIONPENDING, result); 1186 ASSERT_EQ(PP_OK_COMPLETIONPENDING, result);
1176 websocket.WaitForConnected(); 1187 websocket.WaitForConnected();
1177 result = websocket.Close(1U, reason); 1188 result = websocket.Close(static_cast<PP_WebSocketStatusCode>(1), reason);
1178 ASSERT_EQ(PP_ERROR_NOACCESS, result); 1189 ASSERT_EQ(PP_ERROR_NOACCESS, result);
1179 const std::vector<WebSocketEvent>& events = websocket.GetSeenEvents(); 1190 const std::vector<WebSocketEvent>& events = websocket.GetSeenEvents();
1180 ASSERT_EQ(1U, events.size()); 1191 ASSERT_EQ(1U, events.size());
1181 ASSERT_EQ(WebSocketEvent::EVENT_OPEN, events[0].event_type); 1192 ASSERT_EQ(WebSocketEvent::EVENT_OPEN, events[0].event_type);
1182 } 1193 }
1183 1194
1184 PASS(); 1195 PASS();
1185 } 1196 }
1186 1197
1187 std::string TestWebSocket::TestUtilityValidClose() { 1198 std::string TestWebSocket::TestUtilityValidClose() {
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after
1397 size_t last_event = events_on_closed - 1; 1408 size_t last_event = events_on_closed - 1;
1398 for (uint32_t i = 1; i < last_event; ++i) { 1409 for (uint32_t i = 1; i < last_event; ++i) {
1399 ASSERT_EQ(WebSocketEvent::EVENT_MESSAGE, events[i].event_type); 1410 ASSERT_EQ(WebSocketEvent::EVENT_MESSAGE, events[i].event_type);
1400 ASSERT_TRUE(AreEqualWithString(events[i].var.pp_var(), message)); 1411 ASSERT_TRUE(AreEqualWithString(events[i].var.pp_var(), message));
1401 } 1412 }
1402 ASSERT_EQ(WebSocketEvent::EVENT_CLOSE, events[last_event].event_type); 1413 ASSERT_EQ(WebSocketEvent::EVENT_CLOSE, events[last_event].event_type);
1403 ASSERT_TRUE(events[last_event].was_clean); 1414 ASSERT_TRUE(events[last_event].was_clean);
1404 1415
1405 PASS(); 1416 PASS();
1406 } 1417 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698