| OLD | NEW |
| 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 // Tests PPB_URLRequestInfo interface. | 5 // Tests PPB_URLRequestInfo interface. |
| 6 | 6 |
| 7 #include "ppapi/tests/test_url_request.h" | 7 #include "ppapi/tests/test_url_request.h" |
| 8 | 8 |
| 9 #include <string.h> | 9 #include <string.h> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 70 | 70 |
| 71 void TestURLRequest::RunTests(const std::string& filter) { | 71 void TestURLRequest::RunTests(const std::string& filter) { |
| 72 RUN_TEST(CreateAndIsURLRequestInfo, filter); | 72 RUN_TEST(CreateAndIsURLRequestInfo, filter); |
| 73 RUN_TEST(SetProperty, filter); | 73 RUN_TEST(SetProperty, filter); |
| 74 RUN_TEST(AppendDataToBody, filter); | 74 RUN_TEST(AppendDataToBody, filter); |
| 75 RUN_TEST(AppendFileToBody, filter); | 75 RUN_TEST(AppendFileToBody, filter); |
| 76 RUN_TEST(Stress, filter); | 76 RUN_TEST(Stress, filter); |
| 77 } | 77 } |
| 78 | 78 |
| 79 PP_Var TestURLRequest::PP_MakeString(const char* s) { | 79 PP_Var TestURLRequest::PP_MakeString(const char* s) { |
| 80 return ppb_var_interface_->VarFromUtf8(s, strlen(s)); | 80 return ppb_var_interface_->VarFromUtf8(s, static_cast<int32_t>(strlen(s))); |
| 81 } | 81 } |
| 82 | 82 |
| 83 // Tests | 83 // Tests |
| 84 // PP_Resource Create(PP_Instance instance) | 84 // PP_Resource Create(PP_Instance instance) |
| 85 // PP_Bool IsURLRequestInfo(PP_Resource resource) | 85 // PP_Bool IsURLRequestInfo(PP_Resource resource) |
| 86 std::string TestURLRequest::TestCreateAndIsURLRequestInfo() { | 86 std::string TestURLRequest::TestCreateAndIsURLRequestInfo() { |
| 87 // Create: Invalid / non-existent instance -> invalid resource. | 87 // Create: Invalid / non-existent instance -> invalid resource. |
| 88 ASSERT_EQ(ppb_url_request_interface_->Create(kInvalidInstance), | 88 ASSERT_EQ(ppb_url_request_interface_->Create(kInvalidInstance), |
| 89 kInvalidResource); | 89 kInvalidResource); |
| 90 ASSERT_EQ(ppb_url_request_interface_->Create(kNotAnInstance), | 90 ASSERT_EQ(ppb_url_request_interface_->Create(kNotAnInstance), |
| (...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 350 std::string postdata("sample postdata"); | 350 std::string postdata("sample postdata"); |
| 351 PP_Var post_string_var = PP_MakeString("POST"); | 351 PP_Var post_string_var = PP_MakeString("POST"); |
| 352 PP_Var echo_string_var = PP_MakeString("/echo"); | 352 PP_Var echo_string_var = PP_MakeString("/echo"); |
| 353 | 353 |
| 354 // NULL pointer causes a crash. In general PPAPI implementation does not | 354 // NULL pointer causes a crash. In general PPAPI implementation does not |
| 355 // test for NULL because they are just a special case of bad pointers that | 355 // test for NULL because they are just a special case of bad pointers that |
| 356 // are not detectable if set to point to an object that does not exist. | 356 // are not detectable if set to point to an object that does not exist. |
| 357 | 357 |
| 358 // Invalid resource should fail. | 358 // Invalid resource should fail. |
| 359 ASSERT_EQ(PP_FALSE, ppb_url_request_interface_->AppendDataToBody( | 359 ASSERT_EQ(PP_FALSE, ppb_url_request_interface_->AppendDataToBody( |
| 360 kInvalidResource, postdata.data(), postdata.length())); | 360 kInvalidResource, postdata.data(), |
| 361 static_cast<uint32_t>(postdata.length()))); |
| 361 | 362 |
| 362 // Append data and POST to echoing web server. | 363 // Append data and POST to echoing web server. |
| 363 ASSERT_EQ(PP_TRUE, ppb_url_request_interface_->SetProperty( | 364 ASSERT_EQ(PP_TRUE, ppb_url_request_interface_->SetProperty( |
| 364 url_request, PP_URLREQUESTPROPERTY_METHOD, post_string_var)); | 365 url_request, PP_URLREQUESTPROPERTY_METHOD, post_string_var)); |
| 365 ASSERT_EQ(PP_TRUE, ppb_url_request_interface_->SetProperty( | 366 ASSERT_EQ(PP_TRUE, ppb_url_request_interface_->SetProperty( |
| 366 url_request, PP_URLREQUESTPROPERTY_URL, echo_string_var)); | 367 url_request, PP_URLREQUESTPROPERTY_URL, echo_string_var)); |
| 367 | 368 |
| 368 // Append data to body and verify the body is what we expect. | 369 // Append data to body and verify the body is what we expect. |
| 369 ASSERT_EQ(PP_TRUE, ppb_url_request_interface_->AppendDataToBody( | 370 ASSERT_EQ(PP_TRUE, ppb_url_request_interface_->AppendDataToBody( |
| 370 url_request, postdata.data(), postdata.length())); | 371 url_request, postdata.data(), |
| 372 static_cast<uint32_t>(postdata.length()))); |
| 371 std::string error = LoadAndCompareBody(url_request, postdata); | 373 std::string error = LoadAndCompareBody(url_request, postdata); |
| 372 | 374 |
| 373 ppb_var_interface_->Release(post_string_var); | 375 ppb_var_interface_->Release(post_string_var); |
| 374 ppb_var_interface_->Release(echo_string_var); | 376 ppb_var_interface_->Release(echo_string_var); |
| 375 ppb_core_interface_->ReleaseResource(url_request); | 377 ppb_core_interface_->ReleaseResource(url_request); |
| 376 return error; // == PASS() if empty. | 378 return error; // == PASS() if empty. |
| 377 } | 379 } |
| 378 | 380 |
| 379 std::string TestURLRequest::TestAppendFileToBody() { | 381 std::string TestURLRequest::TestAppendFileToBody() { |
| 380 PP_Resource url_request = ppb_url_request_interface_->Create( | 382 PP_Resource url_request = ppb_url_request_interface_->Create( |
| (...skipping 11 matching lines...) Expand all Loading... |
| 392 pp::FileIO io(instance_); | 394 pp::FileIO io(instance_); |
| 393 callback.WaitForResult(io.Open(ref, | 395 callback.WaitForResult(io.Open(ref, |
| 394 PP_FILEOPENFLAG_CREATE | PP_FILEOPENFLAG_WRITE, | 396 PP_FILEOPENFLAG_CREATE | PP_FILEOPENFLAG_WRITE, |
| 395 callback.GetCallback())); | 397 callback.GetCallback())); |
| 396 CHECK_CALLBACK_BEHAVIOR(callback); | 398 CHECK_CALLBACK_BEHAVIOR(callback); |
| 397 ASSERT_EQ(PP_OK, callback.result()); | 399 ASSERT_EQ(PP_OK, callback.result()); |
| 398 | 400 |
| 399 std::string append_data = "hello\n"; | 401 std::string append_data = "hello\n"; |
| 400 callback.WaitForResult(io.Write(0, | 402 callback.WaitForResult(io.Write(0, |
| 401 append_data.c_str(), | 403 append_data.c_str(), |
| 402 append_data.size(), | 404 static_cast<int32_t>(append_data.size()), |
| 403 callback.GetCallback())); | 405 callback.GetCallback())); |
| 404 CHECK_CALLBACK_BEHAVIOR(callback); | 406 CHECK_CALLBACK_BEHAVIOR(callback); |
| 405 ASSERT_EQ(static_cast<int32_t>(append_data.size()), callback.result()); | 407 ASSERT_EQ(static_cast<int32_t>(append_data.size()), callback.result()); |
| 406 | 408 |
| 407 PP_Var post_string_var = PP_MakeString("POST"); | 409 PP_Var post_string_var = PP_MakeString("POST"); |
| 408 PP_Var echo_string_var = PP_MakeString("/echo"); | 410 PP_Var echo_string_var = PP_MakeString("/echo"); |
| 409 | 411 |
| 410 // NULL pointer causes a crash. In general PPAPI implementation does not | 412 // NULL pointer causes a crash. In general PPAPI implementation does not |
| 411 // test for NULL because they are just a special case of bad pointers that | 413 // test for NULL because they are just a special case of bad pointers that |
| 412 // are not detectable if set to point to an object that does not exist. | 414 // are not detectable if set to point to an object that does not exist. |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 459 } | 461 } |
| 460 } | 462 } |
| 461 for (int i = 0; i < num_created; i++) { | 463 for (int i = 0; i < num_created; i++) { |
| 462 ppb_core_interface_->ReleaseResource(url_request_info[i]); | 464 ppb_core_interface_->ReleaseResource(url_request_info[i]); |
| 463 if (PP_TRUE == | 465 if (PP_TRUE == |
| 464 ppb_url_request_interface_->IsURLRequestInfo(url_request_info[i])) | 466 ppb_url_request_interface_->IsURLRequestInfo(url_request_info[i])) |
| 465 error = "IsURLREquestInfo() succeeded after release"; | 467 error = "IsURLREquestInfo() succeeded after release"; |
| 466 } | 468 } |
| 467 return error; // == PASS() if empty. | 469 return error; // == PASS() if empty. |
| 468 } | 470 } |
| OLD | NEW |