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.
5 #ifndef PAPPI_TESTS_TEST_URL_LOADER_H_
6 #define PAPPI_TESTS_TEST_URL_LOADER_H_
10 #include "ppapi/c/private/ppb_file_io_private.h"
11 #include "ppapi/c/trusted/ppb_url_loader_trusted.h"
12 #include "ppapi/tests/test_case.h"
22 class TestURLLoader
: public TestCase
{
24 explicit TestURLLoader(TestingInstance
* instance
);
26 // TestCase implementation.
28 virtual void RunTests(const std::string
& filter
);
31 std::string
ReadEntireFile(pp::FileIO
* file_io
, std::string
* data
);
32 std::string
ReadEntireResponseBody(pp::URLLoader
* loader
,
34 std::string
LoadAndCompareBody(const pp::URLRequestInfo
& request
,
35 const std::string
& expected_body
);
36 int32_t OpenFileSystem(pp::FileSystem
* file_system
, std::string
* message
);
37 int32_t PrepareFileForPost(const pp::FileRef
& file_ref
,
38 const std::string
& data
,
39 std::string
* message
);
40 std::string
GetReachableAbsoluteURL(const std::string
& file_name
);
41 std::string
GetReachableCrossOriginURL(const std::string
& file_name
);
42 int32_t OpenUntrusted(const pp::URLRequestInfo
& request
);
43 int32_t OpenTrusted(const pp::URLRequestInfo
& request
);
44 int32_t OpenUntrusted(const std::string
& method
,
45 const std::string
& header
);
46 int32_t OpenTrusted(const std::string
& method
,
47 const std::string
& header
);
48 int32_t Open(const pp::URLRequestInfo
& request
,
49 bool with_universal_access
);
50 int32_t OpenWithPrefetchBufferThreshold(int32_t lower
, int32_t upper
);
52 std::string
TestBasicGET();
53 std::string
TestBasicPOST();
54 std::string
TestBasicFilePOST();
55 std::string
TestBasicFileRangePOST();
56 std::string
TestCompoundBodyPOST();
57 std::string
TestEmptyDataPOST();
58 std::string
TestBinaryDataPOST();
59 std::string
TestCustomRequestHeader();
60 std::string
TestFailsBogusContentLength();
61 std::string
TestStreamToFile();
62 std::string
TestUntrustedSameOriginRestriction();
63 std::string
TestTrustedSameOriginRestriction();
64 std::string
TestUntrustedCrossOriginRequest();
65 std::string
TestTrustedCrossOriginRequest();
66 std::string
TestUntrustedJavascriptURLRestriction();
67 std::string
TestTrustedJavascriptURLRestriction();
68 std::string
TestUntrustedHttpRequests();
69 std::string
TestTrustedHttpRequests();
70 std::string
TestFollowURLRedirect();
71 std::string
TestAuditURLRedirect();
72 std::string
TestAbortCalls();
73 std::string
TestUntendedLoad();
74 std::string
TestPrefetchBufferThreshold();
75 std::string
TestXRequestedWithHeader();
77 const PPB_FileIO_Private
* file_io_private_interface_
;
78 const PPB_URLLoaderTrusted
* url_loader_trusted_interface_
;
81 #endif // PAPPI_TESTS_TEST_URL_LOADER_H_