| Index: testing/embedder_test.h
|
| diff --git a/testing/embedder_test.h b/testing/embedder_test.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..b127eadbdef5624a82a6647fa99c6b74462b7f52
|
| --- /dev/null
|
| +++ b/testing/embedder_test.h
|
| @@ -0,0 +1,78 @@
|
| +// Copyright (c) 2015 PDFium 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 TESTING_EMBEDDER_TEST_H_
|
| +#define TESTING_EMBEDDER_TEST_H_
|
| +
|
| +#include <string>
|
| +
|
| +#include "../core/include/fxcrt/fx_system.h"
|
| +#include "../fpdfsdk/include/fpdf_dataavail.h"
|
| +#include "../fpdfsdk/include/fpdfformfill.h"
|
| +#include "../fpdfsdk/include/fpdfview.h"
|
| +#include "testing/gtest/include/gtest/gtest.h"
|
| +#include "v8/include/v8.h"
|
| +
|
| +// This class is used to load a PDF document, and then run programatic
|
| +// API tests against it.
|
| +class EmbedderTest : public ::testing::Test {
|
| + public:
|
| + EmbedderTest() :
|
| + document_(nullptr),
|
| + avail_(nullptr),
|
| + file_length_(0),
|
| + file_contents_(nullptr) {
|
| + memset(&hints_, 0, sizeof(hints_));
|
| + memset(&file_access_, 0, sizeof(file_access_));
|
| + memset(&file_avail_, 0, sizeof(file_avail_));
|
| + }
|
| +
|
| + virtual ~EmbedderTest() { }
|
| +
|
| + void SetUp() override;
|
| + void TearDown() override;
|
| +
|
| + FPDF_DOCUMENT document() { return document_; }
|
| +
|
| + // Open the document specified by |filename|, or return false on failure.
|
| + virtual bool OpenDocument(const std::string& filename);
|
| +
|
| + // Create and return a handle to the form fill module for use with the
|
| + // FORM_ family of functions from fpdfformfill.h, or return NULL on failure.
|
| + virtual FPDF_FORMHANDLE SetFormFillEnvironment();
|
| +
|
| + // Release the resources obtained from SetFormFillEnvironment().
|
| + virtual void ClearFormFillEnvironment(FPDF_FORMHANDLE form);
|
| +
|
| + // Perform JavaScript actions that are to run at document open time.
|
| + virtual void DoOpenActions(FPDF_FORMHANDLE form);
|
| +
|
| + // Determine the page numbers present in the document.
|
| + virtual int GetFirstPageNum();
|
| + virtual int GetPageCount();
|
| +
|
| + // Load a specific page of the open document.
|
| + virtual FPDF_PAGE LoadPage(int page_number, FPDF_FORMHANDLE form);
|
| +
|
| + // Convert a loaded page into a bitmap.
|
| + virtual FPDF_BITMAP RenderPage(FPDF_PAGE page, FPDF_FORMHANDLE form);
|
| +
|
| + // Relese the resources obtained from LoadPage(). Further use of |page|
|
| + // is prohibited after this call is made.
|
| + virtual void UnloadPage(FPDF_PAGE page, FPDF_FORMHANDLE form);
|
| +
|
| + private:
|
| + FPDF_DOCUMENT document_;
|
| + FPDF_AVAIL avail_;
|
| + FX_DOWNLOADHINTS hints_;
|
| + FPDF_FILEACCESS file_access_;
|
| + FX_FILEAVAIL file_avail_;
|
| + v8::StartupData natives_;
|
| + v8::StartupData snapshot_;
|
| + size_t file_length_;
|
| + char* file_contents_;
|
| +};
|
| +
|
| +#endif // TESTING_EMBEDDER_TEST_H_
|
| +
|
|
|