blob: 447b7e2514ce81898e568c18ab4ffe460e76f463 [file] [log] [blame]
// Copyright (c) 2010 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef PAPPI_TESTS_TEST_URL_LOADER_H_
#define PAPPI_TESTS_TEST_URL_LOADER_H_
#include <string>
#include "ppapi/tests/test_case.h"
struct PPB_FileIOTrusted_Dev;
namespace pp {
class FileIO_Dev;
class URLLoader;
class URLRequestInfo;
}
class TestURLLoader : public TestCase {
public:
explicit TestURLLoader(TestingInstance* instance);
// TestCase implementation.
virtual bool Init();
virtual void RunTest();
private:
std::string ReadEntireFile(pp::FileIO_Dev* file_io, std::string* data);
std::string ReadEntireResponseBody(pp::URLLoader* loader,
std::string* body);
std::string LoadAndCompareBody(const pp::URLRequestInfo& request,
const std::string& expected_body);
std::string TestBasicGET();
std::string TestBasicPOST();
std::string TestCompoundBodyPOST();
std::string TestEmptyDataPOST();
std::string TestBinaryDataPOST();
std::string TestCustomRequestHeader();
std::string TestIgnoresBogusContentLength();
std::string TestStreamToFile();
std::string TestSameOriginRestriction();
std::string TestAuditURLRedirect();
const PPB_FileIOTrusted_Dev* file_io_trusted_interface_;
};
#endif // PAPPI_TESTS_TEST_URL_LOADER_H_