| Index: testing/embedder_test.cpp
|
| diff --git a/testing/embedder_test.cpp b/testing/embedder_test.cpp
|
| index c23b5c8018d78c4bdf1a88b0d0726c4b0ca62b3c..bc4c027c6641cae5a52fb8a6efab54e8a3998bb6 100644
|
| --- a/testing/embedder_test.cpp
|
| +++ b/testing/embedder_test.cpp
|
| @@ -11,6 +11,7 @@
|
| #include <utility>
|
| #include <vector>
|
|
|
| +#include "core/fdrm/crypto/fx_crypt.h"
|
| #include "public/fpdf_dataavail.h"
|
| #include "public/fpdf_edit.h"
|
| #include "public/fpdf_text.h"
|
| @@ -35,14 +36,26 @@ v8::StartupData* g_v8_snapshot = nullptr;
|
| #endif // V8_USE_EXTERNAL_STARTUP_DATA
|
| #endif // PDF_ENABLE_V8
|
|
|
| -} // namespace
|
| -
|
| FPDF_BOOL Is_Data_Avail(FX_FILEAVAIL* pThis, size_t offset, size_t size) {
|
| return true;
|
| }
|
|
|
| void Add_Segment(FX_DOWNLOADHINTS* pThis, size_t offset, size_t size) {}
|
|
|
| +std::string CRYPT_ToBase16(const uint8_t* digest) {
|
| + static char const zEncode[] = "0123456789abcdef";
|
| + std::string ret;
|
| + ret.resize(32);
|
| + for (int i = 0, j = 0; i < 16; i++, j += 2) {
|
| + uint8_t a = digest[i];
|
| + ret[j] = zEncode[(a >> 4) & 0xf];
|
| + ret[j + 1] = zEncode[a & 0xf];
|
| + }
|
| + return ret;
|
| +}
|
| +
|
| +} // namespace
|
| +
|
| EmbedderTest::EmbedderTest()
|
| : default_delegate_(new EmbedderTest::Delegate()),
|
| document_(nullptr),
|
| @@ -323,6 +336,25 @@ FPDF_PAGE EmbedderTest::GetPageTrampoline(FPDF_FORMFILLINFO* info,
|
| page_index);
|
| }
|
|
|
| +// static
|
| +void EmbedderTest::CompareBitmap(FPDF_BITMAP bitmap,
|
| + int expected_width,
|
| + int expected_height,
|
| + const char* expected_md5sum) {
|
| + ASSERT_EQ(expected_width, FPDFBitmap_GetWidth(bitmap));
|
| + ASSERT_EQ(expected_height, FPDFBitmap_GetHeight(bitmap));
|
| + const int expected_stride = expected_width * 4;
|
| + ASSERT_EQ(expected_stride, FPDFBitmap_GetStride(bitmap));
|
| +
|
| + if (!expected_md5sum)
|
| + return;
|
| +
|
| + uint8_t digest[16];
|
| + CRYPT_MD5Generate(static_cast<uint8_t*>(FPDFBitmap_GetBuffer(bitmap)),
|
| + expected_stride * expected_height, digest);
|
| + EXPECT_EQ(expected_md5sum, CRYPT_ToBase16(digest));
|
| +}
|
| +
|
| // Can't use gtest-provided main since we need to stash the path to the
|
| // executable in order to find the external V8 binary data files.
|
| int main(int argc, char** argv) {
|
|
|