OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_udp_socket.h" | 5 #include "ppapi/tests/test_udp_socket.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "ppapi/cpp/dev/tcp_socket_dev.h" | 9 #include "ppapi/cpp/dev/tcp_socket_dev.h" |
10 #include "ppapi/cpp/dev/udp_socket_dev.h" | 10 #include "ppapi/cpp/dev/udp_socket_dev.h" |
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
260 | 260 |
261 ASSERT_SUBTEST_SUCCESS(SetBroadcastOptions(&socket)); | 261 ASSERT_SUBTEST_SUCCESS(SetBroadcastOptions(&socket)); |
262 | 262 |
263 // Try to pass incorrect option value's type. | 263 // Try to pass incorrect option value's type. |
264 TestCompletionCallback callback(instance_->pp_instance(), callback_type()); | 264 TestCompletionCallback callback(instance_->pp_instance(), callback_type()); |
265 callback.WaitForResult(socket.SetOption( | 265 callback.WaitForResult(socket.SetOption( |
266 PP_UDPSOCKET_OPTION_ADDRESS_REUSE, pp::Var(1), callback.GetCallback())); | 266 PP_UDPSOCKET_OPTION_ADDRESS_REUSE, pp::Var(1), callback.GetCallback())); |
267 CHECK_CALLBACK_BEHAVIOR(callback); | 267 CHECK_CALLBACK_BEHAVIOR(callback); |
268 ASSERT_EQ(PP_ERROR_BADARGUMENT, callback.result()); | 268 ASSERT_EQ(PP_ERROR_BADARGUMENT, callback.result()); |
269 | 269 |
| 270 callback.WaitForResult(socket.SetOption( |
| 271 PP_UDPSOCKET_OPTION_BROADCAST, pp::Var(false), callback.GetCallback())); |
| 272 CHECK_CALLBACK_BEHAVIOR(callback); |
| 273 ASSERT_EQ(PP_OK, callback.result()); |
| 274 |
| 275 // SEND_BUFFER_SIZE and RECV_BUFFER_SIZE shouldn't be set before the socket is |
| 276 // bound. |
| 277 callback.WaitForResult(socket.SetOption( |
| 278 PP_UDPSOCKET_OPTION_SEND_BUFFER_SIZE, pp::Var(4096), |
| 279 callback.GetCallback())); |
| 280 CHECK_CALLBACK_BEHAVIOR(callback); |
| 281 ASSERT_EQ(PP_ERROR_FAILED, callback.result()); |
| 282 |
| 283 callback.WaitForResult(socket.SetOption( |
| 284 PP_UDPSOCKET_OPTION_RECV_BUFFER_SIZE, pp::Var(512), |
| 285 callback.GetCallback())); |
| 286 CHECK_CALLBACK_BEHAVIOR(callback); |
| 287 ASSERT_EQ(PP_ERROR_FAILED, callback.result()); |
| 288 |
| 289 pp::NetAddress_Dev address; |
| 290 ASSERT_SUBTEST_SUCCESS(LookupPortAndBindUDPSocket(&socket, &address)); |
| 291 |
| 292 // ADDRESS_REUSE and BROADCAST won't take effect after the socket is bound. |
| 293 callback.WaitForResult(socket.SetOption( |
| 294 PP_UDPSOCKET_OPTION_ADDRESS_REUSE, pp::Var(true), |
| 295 callback.GetCallback())); |
| 296 CHECK_CALLBACK_BEHAVIOR(callback); |
| 297 ASSERT_EQ(PP_ERROR_FAILED, callback.result()); |
| 298 |
| 299 callback.WaitForResult(socket.SetOption( |
| 300 PP_UDPSOCKET_OPTION_BROADCAST, pp::Var(true), callback.GetCallback())); |
| 301 CHECK_CALLBACK_BEHAVIOR(callback); |
| 302 ASSERT_EQ(PP_ERROR_FAILED, callback.result()); |
| 303 |
| 304 // SEND_BUFFER_SIZE and RECV_BUFFER_SIZE can be set after the socket is bound. |
| 305 callback.WaitForResult(socket.SetOption( |
| 306 PP_UDPSOCKET_OPTION_SEND_BUFFER_SIZE, pp::Var(2048), |
| 307 callback.GetCallback())); |
| 308 CHECK_CALLBACK_BEHAVIOR(callback); |
| 309 ASSERT_EQ(PP_OK, callback.result()); |
| 310 |
| 311 callback.WaitForResult(socket.SetOption( |
| 312 PP_UDPSOCKET_OPTION_RECV_BUFFER_SIZE, pp::Var(1024), |
| 313 callback.GetCallback())); |
| 314 CHECK_CALLBACK_BEHAVIOR(callback); |
| 315 ASSERT_EQ(PP_OK, callback.result()); |
| 316 |
270 PASS(); | 317 PASS(); |
271 } | 318 } |
OLD | NEW |