From f9666864254bf84ef878630bbdaaaabbecab8ba5 Mon Sep 17 00:00:00 2001 From: Henrique Nakashima Date: Thu, 26 Apr 2018 18:28:07 +0000 Subject: Enter key inserts a line break correctly in XFA edits. Bug: chromium:836361 Change-Id: I6d86ccec813f934ed2d0ab124501527d39ce535f Reviewed-on: https://pdfium-review.googlesource.com/31390 Reviewed-by: dsinclair Commit-Queue: dsinclair --- xfa/fde/cfde_texteditengine_unittest.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'xfa/fde/cfde_texteditengine_unittest.cpp') diff --git a/xfa/fde/cfde_texteditengine_unittest.cpp b/xfa/fde/cfde_texteditengine_unittest.cpp index bd74868438..ab8e64078b 100644 --- a/xfa/fde/cfde_texteditengine_unittest.cpp +++ b/xfa/fde/cfde_texteditengine_unittest.cpp @@ -420,7 +420,7 @@ TEST_F(CFDE_TextEditEngineTest, GetIndexForPoint) { EXPECT_EQ(1U, engine()->GetIndexForPoint({10.0f, 5.0f})); } -TEST_F(CFDE_TextEditEngineTest, GetIndexForPointMultiline) { +TEST_F(CFDE_TextEditEngineTest, GetIndexForPointLineWrap) { engine()->SetFontSize(10.0f); engine()->Insert(0, L"A text long enough to span multiple lines and test " @@ -441,6 +441,18 @@ TEST_F(CFDE_TextEditEngineTest, GetIndexForPointSpaceAtEnd) { EXPECT_EQ(12U, engine()->GetIndexForPoint({999999.0f, 0.0f})); } +TEST_F(CFDE_TextEditEngineTest, GetIndexForPointLineBreaks) { + engine()->SetFontSize(10.0f); + engine()->Insert(0, L"Hello\nWorld"); + EXPECT_EQ(0U, engine()->GetIndexForPoint({0.0f, 0.0f})); + + // TODO(hnakashima): Should be 5U, caret is moving to next line. + EXPECT_EQ(6U, engine()->GetIndexForPoint({999999.0f, 0.0f})); + + EXPECT_EQ(6U, engine()->GetIndexForPoint({0.0f, 10.0f})); + EXPECT_EQ(11U, engine()->GetIndexForPoint({999999.0f, 9999999.0f})); +} + TEST_F(CFDE_TextEditEngineTest, BoundsForWordAt) { size_t start_idx; size_t count; -- cgit v1.2.3