| Index: testing/embedder_test.h
|
| diff --git a/testing/embedder_test.h b/testing/embedder_test.h
|
| index 072dce3bc3f2e508af441542593d7f065e080aa1..ea93131749f297c9574a6bdfc3ab8649b8079f00 100644
|
| --- a/testing/embedder_test.h
|
| +++ b/testing/embedder_test.h
|
| @@ -9,6 +9,7 @@
|
|
|
| #include "../core/include/fxcrt/fx_system.h"
|
| #include "../fpdfsdk/include/fpdf_dataavail.h"
|
| +#include "../fpdfsdk/include/fpdf_ext.h"
|
| #include "../fpdfsdk/include/fpdfformfill.h"
|
| #include "../fpdfsdk/include/fpdfview.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| @@ -18,25 +19,35 @@ class TestLoader;
|
|
|
| // This class is used to load a PDF document, and then run programatic
|
| // API tests against it.
|
| -class EmbedderTest : public ::testing::Test {
|
| +class EmbedderTest : public ::testing::Test,
|
| + public UNSUPPORT_INFO,
|
| + public IPDF_JSPLATFORM,
|
| + public FPDF_FORMFILLINFO {
|
| public:
|
| - EmbedderTest() :
|
| - document_(nullptr),
|
| - form_handle_(nullptr),
|
| - avail_(nullptr),
|
| - loader_(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_));
|
| - }
|
| + class Delegate {
|
| + public:
|
| + virtual ~Delegate() { }
|
| +
|
| + // Equivalent to UNSUPPORT_INFO::FSDK_UnSupport_Handler().
|
| + virtual void UnsupportedHandler(int type) { }
|
| +
|
| + // Equivalent to IPDF_JSPLATFORM::app_alert().
|
| + virtual int Alert(FPDF_WIDESTRING message, FPDF_WIDESTRING title,
|
| + int type, int icon) {
|
| + return 0;
|
| + }
|
| + };
|
|
|
| - virtual ~EmbedderTest() { }
|
| + EmbedderTest();
|
| + virtual ~EmbedderTest();
|
|
|
| void SetUp() override;
|
| void TearDown() override;
|
|
|
| + void SetDelegate(Delegate* delegate) {
|
| + delegate_ = delegate ? delegate : default_delegate_;
|
| + }
|
| +
|
| FPDF_DOCUMENT document() { return document_; }
|
| FPDF_FORMHANDLE form_handle() { return form_handle_; }
|
|
|
| @@ -62,6 +73,8 @@ class EmbedderTest : public ::testing::Test {
|
| virtual void UnloadPage(FPDF_PAGE page);
|
|
|
| protected:
|
| + Delegate* delegate_;
|
| + Delegate* default_delegate_;
|
| FPDF_DOCUMENT document_;
|
| FPDF_FORMHANDLE form_handle_;
|
| FPDF_AVAIL avail_;
|
| @@ -73,6 +86,11 @@ class EmbedderTest : public ::testing::Test {
|
| TestLoader* loader_;
|
| size_t file_length_;
|
| char* file_contents_;
|
| +
|
| + private:
|
| + static void UnsupportedHandlerTrampoline(UNSUPPORT_INFO*, int type);
|
| + static int AlertTrampoline(IPDF_JSPLATFORM* plaform, FPDF_WIDESTRING message,
|
| + FPDF_WIDESTRING title, int type, int icon);
|
| };
|
|
|
| #endif // TESTING_EMBEDDER_TEST_H_
|
|
|