summaryrefslogtreecommitdiff
path: root/fpdfsdk/fpdftext_embeddertest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'fpdfsdk/fpdftext_embeddertest.cpp')
-rw-r--r--fpdfsdk/fpdftext_embeddertest.cpp17
1 files changed, 13 insertions, 4 deletions
diff --git a/fpdfsdk/fpdftext_embeddertest.cpp b/fpdfsdk/fpdftext_embeddertest.cpp
index a83ffe7c29..7e8e033ae0 100644
--- a/fpdfsdk/fpdftext_embeddertest.cpp
+++ b/fpdfsdk/fpdftext_embeddertest.cpp
@@ -16,13 +16,12 @@ namespace {
bool check_unsigned_shorts(const char* expected,
const unsigned short* actual,
size_t length) {
- if (length > strlen(expected) + 1) {
+ if (length > strlen(expected) + 1)
return false;
- }
+
for (size_t i = 0; i < length; ++i) {
- if (actual[i] != static_cast<unsigned short>(expected[i])) {
+ if (actual[i] != static_cast<unsigned short>(expected[i]))
return false;
- }
}
return true;
}
@@ -64,6 +63,16 @@ TEST_F(FPDFTextEmbeddertest, Text) {
<< " at " << i;
}
+ // Extracting using a buffer that will be completely filled. Small buffer is
+ // 12 elements long, since it will need 2 locations per displayed character in
+ // the expected string, plus 2 more for the terminating character.
+ static const char small_expected[] = "Hello";
+ unsigned short small_buffer[12];
+ memset(fixed_buffer, 0xbd, sizeof(fixed_buffer));
+ EXPECT_EQ(6, FPDFText_GetText(textpage, 0, 6, small_buffer));
+ EXPECT_TRUE(check_unsigned_shorts(small_expected, small_buffer,
+ sizeof(small_expected)));
+
EXPECT_EQ(12.0, FPDFText_GetFontSize(textpage, 0));
EXPECT_EQ(16.0, FPDFText_GetFontSize(textpage, 15));