Index: fpdfsdk/src/fpdftext_embeddertest.cpp |
diff --git a/fpdfsdk/src/fpdftext_embeddertest.cpp b/fpdfsdk/src/fpdftext_embeddertest.cpp |
index 3772686c889d3387872cf77ff4146d9a8d90b422..4653db32ad580a0272e8c2c3803360285ca9c897 100644 |
--- a/fpdfsdk/src/fpdftext_embeddertest.cpp |
+++ b/fpdfsdk/src/fpdftext_embeddertest.cpp |
@@ -144,13 +144,17 @@ TEST_F(FPDFTextEmbeddertest, TextSearch) { |
FPDF_TEXTPAGE textpage = FPDFText_LoadPage(page); |
EXPECT_NE(nullptr, textpage); |
- 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"); |
+ std::unique_ptr<unsigned short, pdfium::FreeDeleter> nope = |
+ GetFPDFWideString(L"nope"); |
+ std::unique_ptr<unsigned short, pdfium::FreeDeleter> world = |
+ GetFPDFWideString(L"world"); |
+ std::unique_ptr<unsigned short, pdfium::FreeDeleter> world_caps = |
+ GetFPDFWideString(L"WORLD"); |
+ std::unique_ptr<unsigned short, pdfium::FreeDeleter> world_substr = |
+ GetFPDFWideString(L"orld"); |
// No occurences of "nope" in test page. |
- FPDF_SCHHANDLE search = FPDFText_FindStart(textpage, nope, 0, 0); |
+ FPDF_SCHHANDLE search = FPDFText_FindStart(textpage, nope.get(), 0, 0); |
EXPECT_NE(nullptr, search); |
EXPECT_EQ(0, FPDFText_GetSchResultIndex(search)); |
EXPECT_EQ(0, FPDFText_GetSchCount(search)); |
@@ -167,7 +171,7 @@ TEST_F(FPDFTextEmbeddertest, TextSearch) { |
FPDFText_FindClose(search); |
// Two occurences of "world" in test page. |
- search = FPDFText_FindStart(textpage, world, 0, 2); |
+ search = FPDFText_FindStart(textpage, world.get(), 0, 2); |
EXPECT_NE(nullptr, search); |
// Remains not found until advanced. |
@@ -201,7 +205,7 @@ TEST_F(FPDFTextEmbeddertest, TextSearch) { |
FPDFText_FindClose(search); |
// Exact search unaffected by case sensitiity and whole word flags. |
- search = FPDFText_FindStart(textpage, world, |
+ search = FPDFText_FindStart(textpage, world.get(), |
FPDF_MATCHCASE | FPDF_MATCHWHOLEWORD, 0); |
EXPECT_NE(nullptr, search); |
EXPECT_TRUE(FPDFText_FindNext(search)); |
@@ -210,7 +214,7 @@ TEST_F(FPDFTextEmbeddertest, TextSearch) { |
FPDFText_FindClose(search); |
// Default is case-insensitive, so matching agaist caps works. |
- search = FPDFText_FindStart(textpage, world_caps, 0, 0); |
+ search = FPDFText_FindStart(textpage, world_caps.get(), 0, 0); |
EXPECT_NE(nullptr, search); |
EXPECT_TRUE(FPDFText_FindNext(search)); |
EXPECT_EQ(7, FPDFText_GetSchResultIndex(search)); |
@@ -218,33 +222,28 @@ TEST_F(FPDFTextEmbeddertest, TextSearch) { |
FPDFText_FindClose(search); |
// But can be made case sensitive, in which case this fails. |
- search = FPDFText_FindStart(textpage, world_caps, FPDF_MATCHCASE, 0); |
+ search = FPDFText_FindStart(textpage, world_caps.get(), FPDF_MATCHCASE, 0); |
EXPECT_FALSE(FPDFText_FindNext(search)); |
EXPECT_EQ(0, FPDFText_GetSchResultIndex(search)); |
EXPECT_EQ(0, FPDFText_GetSchCount(search)); |
FPDFText_FindClose(search); |
// Default is match anywhere within word, so matching substirng works. |
- search = FPDFText_FindStart(textpage, world_substr, 0, 0); |
+ search = FPDFText_FindStart(textpage, world_substr.get(), 0, 0); |
EXPECT_TRUE(FPDFText_FindNext(search)); |
EXPECT_EQ(8, FPDFText_GetSchResultIndex(search)); |
EXPECT_EQ(4, FPDFText_GetSchCount(search)); |
FPDFText_FindClose(search); |
// But can be made to mach word boundaries, in which case this fails. |
- search = FPDFText_FindStart(textpage, world_substr, FPDF_MATCHWHOLEWORD, 0); |
+ search = |
+ FPDFText_FindStart(textpage, world_substr.get(), FPDF_MATCHWHOLEWORD, 0); |
EXPECT_FALSE(FPDFText_FindNext(search)); |
// TODO(tsepez): investigate strange index/count values in this state. |
FPDFText_FindClose(search); |
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. |