From 35e68a5275f2d1e6819c773f0f367e225a0d5961 Mon Sep 17 00:00:00 2001 From: Oliver Chang Date: Wed, 9 Dec 2015 12:44:33 -0800 Subject: XFA: Revert UTF16LE_Encode changes Revert "Fix embedder test failures introduced by commit c70b19aad245" This reverts commit 8d89e65897d8b6cf7899e7a82d9d381c3ad327cb. Revert "Fix invalid buffer length set in CFX_WideString::UTF16LE_Encode()" This reverts commit c70b19aad245fb1ed39bf8c264d991555f4c5a58. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1516643002 . --- fpdfsdk/src/fpdftext_embeddertest.cpp | 41 +++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 19 deletions(-) (limited to 'fpdfsdk/src/fpdftext_embeddertest.cpp') diff --git a/fpdfsdk/src/fpdftext_embeddertest.cpp b/fpdfsdk/src/fpdftext_embeddertest.cpp index 50eef87341..6c1ae4ceb8 100644 --- a/fpdfsdk/src/fpdftext_embeddertest.cpp +++ b/fpdfsdk/src/fpdftext_embeddertest.cpp @@ -42,9 +42,8 @@ TEST_F(FPDFTextEmbeddertest, Text) { // Check includes the terminating NUL that is provided. int num_chars = FPDFText_GetText(textpage, 0, 128, fixed_buffer); ASSERT_GE(num_chars, 0); - EXPECT_EQ(sizeof(expected) - 1, static_cast(num_chars)); - EXPECT_TRUE( - check_unsigned_shorts(expected, fixed_buffer, sizeof(expected) - 1)); + EXPECT_EQ(sizeof(expected), static_cast(num_chars)); + EXPECT_TRUE(check_unsigned_shorts(expected, fixed_buffer, sizeof(expected))); // Count does not include the terminating NUL in the string literal. EXPECT_EQ(sizeof(expected) - 1, FPDFText_CountChars(textpage)); @@ -126,10 +125,11 @@ TEST_F(FPDFTextEmbeddertest, Text) { EXPECT_EQ(0xbdbd, fixed_buffer[9]); memset(fixed_buffer, 0xbd, sizeof(fixed_buffer)); - EXPECT_EQ(9, FPDFText_GetBoundedText(textpage, 41.0, 56.0, 82.0, 48.0, - fixed_buffer, 128)); + EXPECT_EQ(10, FPDFText_GetBoundedText(textpage, 41.0, 56.0, 82.0, 48.0, + fixed_buffer, 128)); EXPECT_TRUE(check_unsigned_shorts(expected + 4, fixed_buffer, 9)); - EXPECT_EQ(0xbdbd, fixed_buffer[9]); + EXPECT_EQ(0u, fixed_buffer[9]); + EXPECT_EQ(0xbdbd, fixed_buffer[10]); FPDFText_ClosePage(textpage); UnloadPage(page); @@ -269,13 +269,14 @@ TEST_F(FPDFTextEmbeddertest, WebLinks) { // Page contains two HTTP-style URLs. EXPECT_EQ(2, FPDFLink_CountWebLinks(pagelink)); - EXPECT_EQ(0, FPDFLink_GetURL(pagelink, 2, nullptr, 0)); - EXPECT_EQ(0, FPDFLink_GetURL(pagelink, 1400, nullptr, 0)); - EXPECT_EQ(0, FPDFLink_GetURL(pagelink, -1, nullptr, 0)); + // Only a terminating NUL required for bogus links. + EXPECT_EQ(1, FPDFLink_GetURL(pagelink, 2, nullptr, 0)); + EXPECT_EQ(1, FPDFLink_GetURL(pagelink, 1400, nullptr, 0)); + EXPECT_EQ(1, FPDFLink_GetURL(pagelink, -1, nullptr, 0)); // Query the number of characters required for each link (incl NUL). - EXPECT_EQ(24, FPDFLink_GetURL(pagelink, 0, nullptr, 0)); - EXPECT_EQ(25, FPDFLink_GetURL(pagelink, 1, nullptr, 0)); + EXPECT_EQ(25, FPDFLink_GetURL(pagelink, 0, nullptr, 0)); + EXPECT_EQ(26, FPDFLink_GetURL(pagelink, 1, nullptr, 0)); static const char expected_url[] = "http://example.com?q=foo"; unsigned short fixed_buffer[128]; @@ -299,19 +300,21 @@ TEST_F(FPDFTextEmbeddertest, WebLinks) { // Retreive link with exactly-sized buffer. memset(fixed_buffer, 0xbd, sizeof(fixed_buffer)); - EXPECT_EQ(sizeof(expected_url) - 1, + EXPECT_EQ(sizeof(expected_url), FPDFLink_GetURL(pagelink, 0, fixed_buffer, sizeof(expected_url))); - EXPECT_TRUE(check_unsigned_shorts(expected_url, fixed_buffer, - sizeof(expected_url) - 1)); - EXPECT_EQ(0xbdbd, fixed_buffer[sizeof(expected_url) - 1]); + EXPECT_TRUE( + check_unsigned_shorts(expected_url, fixed_buffer, sizeof(expected_url))); + EXPECT_EQ(0u, fixed_buffer[sizeof(expected_url) - 1]); + EXPECT_EQ(0xbdbd, fixed_buffer[sizeof(expected_url)]); // Retreive link with ample-sized-buffer. memset(fixed_buffer, 0xbd, sizeof(fixed_buffer)); - EXPECT_EQ(sizeof(expected_url) - 1, + EXPECT_EQ(sizeof(expected_url), FPDFLink_GetURL(pagelink, 0, fixed_buffer, 128)); - EXPECT_TRUE(check_unsigned_shorts(expected_url, fixed_buffer, - sizeof(expected_url) - 1)); - EXPECT_EQ(0xbdbd, fixed_buffer[sizeof(expected_url) - 1]); + EXPECT_TRUE( + check_unsigned_shorts(expected_url, fixed_buffer, sizeof(expected_url))); + EXPECT_EQ(0u, fixed_buffer[sizeof(expected_url) - 1]); + EXPECT_EQ(0xbdbd, fixed_buffer[sizeof(expected_url)]); // Each link rendered in a single rect in this test page. EXPECT_EQ(1, FPDFLink_CountRects(pagelink, 0)); -- cgit v1.2.3