Merge to XFA: Make FPDF_WIDESTRING work regardless of endianness.
Original Review URL: https://codereview.chromium.org/1554363002 .
(cherry picked from commit ed34cdf99d5a4b33e57f81f9244a311f6fb86db3)
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1559373002 .
diff --git a/fpdfsdk/src/fpdftext_embeddertest.cpp b/fpdfsdk/src/fpdftext_embeddertest.cpp
index 6c1ae4c..3772686 100644
--- a/fpdfsdk/src/fpdftext_embeddertest.cpp
+++ b/fpdfsdk/src/fpdftext_embeddertest.cpp
@@ -5,6 +5,7 @@
#include "public/fpdf_text.h"
#include "public/fpdfview.h"
#include "testing/embedder_test.h"
+#include "testing/test_support.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace {
@@ -143,11 +144,10 @@
FPDF_TEXTPAGE textpage = FPDFText_LoadPage(page);
EXPECT_NE(nullptr, textpage);
- // Avoid issues with system wchar_t width vs. FPDF_WideString.
- const unsigned short nope[] = {'n', 'o', 'p', 'e', '\0'};
- const unsigned short world[] = {'w', 'o', 'r', 'l', 'd', '\0'};
- const unsigned short world_caps[] = {'W', 'O', 'R', 'L', 'D', '\0'};
- const unsigned short world_substr[] = {'o', 'r', 'l', 'd', '\0'};
+ FPDF_WIDESTRING nope = GetFPDFWideString(L"nope");
+ FPDF_WIDESTRING world = GetFPDFWideString(L"world");
+ FPDF_WIDESTRING world_caps = GetFPDFWideString(L"WORLD");
+ FPDF_WIDESTRING world_substr = GetFPDFWideString(L"orld");
// No occurences of "nope" in test page.
FPDF_SCHHANDLE search = FPDFText_FindStart(textpage, nope, 0, 0);
@@ -239,6 +239,12 @@
FPDFText_ClosePage(textpage);
UnloadPage(page);
+
+ // Alas, the typedef includes the "const".
+ free(const_cast<unsigned short*>(nope));
+ free(const_cast<unsigned short*>(world));
+ free(const_cast<unsigned short*>(world_caps));
+ free(const_cast<unsigned short*>(world_substr));
}
// Test that the page has characters despite a bad stream length.