summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--testing/embedder_test.cpp13
-rw-r--r--testing/embedder_test.h5
2 files changed, 18 insertions, 0 deletions
diff --git a/testing/embedder_test.cpp b/testing/embedder_test.cpp
index 03eebe3abc..e4ac4ad2c7 100644
--- a/testing/embedder_test.cpp
+++ b/testing/embedder_test.cpp
@@ -546,7 +546,12 @@ int EmbedderTest::WriteBlockCallback(FPDF_FILEWRITE* pFileWrite,
const void* data,
unsigned long size) {
EmbedderTest* pThis = static_cast<EmbedderTest*>(pFileWrite);
+
pThis->data_string_.append(static_cast<const char*>(data), size);
+
+ if (pThis->filestream_.is_open())
+ pThis->filestream_.write(static_cast<const char*>(data), size);
+
return 1;
}
@@ -587,3 +592,11 @@ int EmbedderTest::GetPageNumberForLoadedPage(FPDF_PAGE page) const {
int EmbedderTest::GetPageNumberForSavedPage(FPDF_PAGE page) const {
return GetPageNumberForPage(saved_page_map_, page);
}
+
+void EmbedderTest::OpenPDFFileForWrite(const char* filename) {
+ filestream_.open(filename, std::ios_base::binary);
+}
+
+void EmbedderTest::ClosePDFFileForWrite() {
+ filestream_.close();
+}
diff --git a/testing/embedder_test.h b/testing/embedder_test.h
index 8156dd2353..e8f76c058f 100644
--- a/testing/embedder_test.h
+++ b/testing/embedder_test.h
@@ -5,6 +5,7 @@
#ifndef TESTING_EMBEDDER_TEST_H_
#define TESTING_EMBEDDER_TEST_H_
+#include <fstream>
#include <map>
#include <memory>
#include <string>
@@ -204,6 +205,9 @@ class EmbedderTest : public ::testing::Test,
void SetWholeFileAvailable();
+ void OpenPDFFileForWrite(const char* filename);
+ void ClosePDFFileForWrite();
+
std::unique_ptr<Delegate> default_delegate_;
Delegate* delegate_;
@@ -256,6 +260,7 @@ class EmbedderTest : public ::testing::Test,
int GetPageNumberForSavedPage(FPDF_PAGE page) const;
std::string data_string_;
+ std::ofstream filestream_;
};
#endif // TESTING_EMBEDDER_TEST_H_