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 3 // found in the LICENSE file. 4 5 #ifndef PAPPI_TESTS_TEST_URL_REQUEST_H_ 6 #define PAPPI_TESTS_TEST_URL_REQUEST_H_ 7 8 #include <string> 9 10 #include "ppapi/c/ppb_core.h" 11 #include "ppapi/c/ppb_url_loader.h" 12 #include "ppapi/c/ppb_url_request_info.h" 13 #include "ppapi/c/ppb_url_response_info.h" 14 #include "ppapi/c/ppb_var.h" 15 #include "ppapi/tests/test_case.h" 16 17 namespace pp { 18 class FileRef; 19 } 20 21 class TestURLRequest : public TestCase { 22 public: 23 explicit TestURLRequest(TestingInstance* instance); 24 25 // TestCase implementation. 26 virtual bool Init(); 27 virtual void RunTests(const std::string& filter); 28 29 private: 30 std::string TestCreateAndIsURLRequestInfo(); 31 std::string TestSetProperty(); 32 std::string TestAppendDataToBody(); 33 std::string TestAppendFileToBody(); 34 std::string TestStress(); 35 36 // Helpers. 37 PP_Var PP_MakeString(const char* s); 38 std::string LoadAndCompareBody(PP_Resource url_request, 39 const std::string& expected_body); 40 41 const PPB_URLRequestInfo* ppb_url_request_interface_; 42 const PPB_URLLoader* ppb_url_loader_interface_; 43 const PPB_URLResponseInfo* ppb_url_response_interface_; 44 const PPB_Core* ppb_core_interface_; 45 const PPB_Var* ppb_var_interface_; 46 }; 47 48 #endif // PAPPI_TESTS_TEST_URL_REQUEST_H_ 49