diff options
author | Lei Zhang <thestig@chromium.org> | 2017-08-26 01:34:42 -0700 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-08-29 13:50:31 +0000 |
commit | 31f7e4bb502e617a54da04a7600e8be7e2b62756 (patch) | |
tree | c5c6887a0fe91c252a6acb90e91a6ce065ccedb2 /fpdfsdk | |
parent | 081d41208489a318163a306789de4139b2dddfc7 (diff) | |
download | pdfium-31f7e4bb502e617a54da04a7600e8be7e2b62756.tar.xz |
Convert some form fill tests to use CFX_PointF coordinates.
Add helper function for commonly used coordinates and give coordinates
used in tests semantic meaning.
Also add more sanity checks to make sure the commonly used coordinates
pass the FPDFPage_HasFormFieldAtPoint() hit test.
Change-Id: If116ed5323b49bdbcbd4d857b5184f9fcd4eb908
Reviewed-on: https://pdfium-review.googlesource.com/12070
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'fpdfsdk')
-rw-r--r-- | fpdfsdk/fpdfformfill_embeddertest.cpp | 467 |
1 files changed, 297 insertions, 170 deletions
diff --git a/fpdfsdk/fpdfformfill_embeddertest.cpp b/fpdfsdk/fpdfformfill_embeddertest.cpp index e5f517f673..93350874dc 100644 --- a/fpdfsdk/fpdfformfill_embeddertest.cpp +++ b/fpdfsdk/fpdfformfill_embeddertest.cpp @@ -6,6 +6,7 @@ #include <string> #include <vector> +#include "core/fxcrt/fx_coordinates.h" #include "core/fxcrt/fx_string.h" #include "core/fxcrt/fx_system.h" #include "public/cpp/fpdf_deleters.h" @@ -52,17 +53,20 @@ class FPDFFormFillInteractiveEmbeddertest : public FPDFFormFillEmbeddertest { FPDF_PAGE page() { return page_; } - void ClickOnFormFieldAtPoint(double x, double y) { + int GetFormTypeAtPoint(const CFX_PointF& point) { + return FPDFPage_HasFormFieldAtPoint(form_handle(), page_, point.x, point.y); + } + + void ClickOnFormFieldAtPoint(const CFX_PointF& point) { // Click on the text field or combobox as specified by coordinates. - FORM_OnMouseMove(form_handle(), page_, 0, x, y); - FORM_OnLButtonDown(form_handle(), page_, 0, x, y); - FORM_OnLButtonUp(form_handle(), page_, 0, x, y); + FORM_OnMouseMove(form_handle(), page_, 0, point.x, point.y); + FORM_OnLButtonDown(form_handle(), page_, 0, point.x, point.y); + FORM_OnLButtonUp(form_handle(), page_, 0, point.x, point.y); } - void TypeTextIntoTextField(int num_chars, double x, double y) { - EXPECT_EQ(GetFormType(), - FPDFPage_HasFormFieldAtPoint(form_handle(), page_, x, y)); - ClickOnFormFieldAtPoint(x, y); + void TypeTextIntoTextField(int num_chars, const CFX_PointF& point) { + EXPECT_EQ(GetFormType(), GetFormTypeAtPoint(point)); + ClickOnFormFieldAtPoint(point); // Type text starting with 'A' to as many chars as specified by |num_chars|. for (int i = 0; i < num_chars; ++i) { @@ -74,10 +78,9 @@ class FPDFFormFillInteractiveEmbeddertest : public FPDFFormFillEmbeddertest { // shift and specfied left or right arrow key. void SelectTextWithKeyboard(int num_chars, int arrow_key, - double x, - double y) { + const CFX_PointF& point) { // Navigate to starting position for selection. - ClickOnFormFieldAtPoint(x, y); + ClickOnFormFieldAtPoint(point); // Hold down shift (and don't release until entire text is selected). FORM_OnKeyDown(form_handle(), page_, FWL_VKEY_Shift, 0); @@ -91,14 +94,16 @@ class FPDFFormFillInteractiveEmbeddertest : public FPDFFormFillEmbeddertest { } // Uses the mouse to navigate to text field and select text. - void SelectTextWithMouse(double start_x, double end_x, double y) { + void SelectTextWithMouse(const CFX_PointF& start, const CFX_PointF& end) { + ASSERT(start.y == end.y); + // Navigate to starting position and click mouse. - FORM_OnMouseMove(form_handle(), page_, 0, start_x, y); - FORM_OnLButtonDown(form_handle(), page_, 0, start_x, y); + FORM_OnMouseMove(form_handle(), page_, 0, start.x, start.y); + FORM_OnLButtonDown(form_handle(), page_, 0, start.x, start.y); // Hold down mouse until reach end of desired selection. - FORM_OnMouseMove(form_handle(), page_, 0, end_x, y); - FORM_OnLButtonUp(form_handle(), page_, 0, end_x, y); + FORM_OnMouseMove(form_handle(), page_, 0, end.x, end.y); + FORM_OnLButtonUp(form_handle(), page_, 0, end.x, end.y); } void CheckSelection(const CFX_WideStringC& expected_string) { @@ -132,13 +137,66 @@ class FPDFFormFillTextFormEmbeddertest const char* GetDocumentName() const override { // PDF with several form text fields: - // - "Text Box" - No special attributes. + // - "Text Box" - Regular text box with no special attributes. // - "ReadOnly" - Ff: 1. // - "CharLimit" - MaxLen: 10, V: Elephant. return "text_form_multiple.pdf"; } int GetFormType() const override { return FPDF_FORMFIELD_TEXTFIELD; } + + void FormSanityChecks() override { + EXPECT_EQ(GetFormType(), GetFormTypeAtPoint(CharLimitFormBegin())); + EXPECT_EQ(GetFormType(), GetFormTypeAtPoint(CharLimitFormEnd())); + EXPECT_EQ(GetFormType(), GetFormTypeAtPoint(RegularFormBegin())); + EXPECT_EQ(GetFormType(), GetFormTypeAtPoint(RegularFormEnd())); + } + + void SelectAllCharLimitFormTextWithMouse() { + SelectTextWithMouse(CharLimitFormEnd(), CharLimitFormBegin()); + } + + void SelectAllRegularFormTextWithMouse() { + SelectTextWithMouse(RegularFormEnd(), RegularFormBegin()); + } + + const CFX_PointF& CharLimitFormBegin() const { + static const CFX_PointF point = CharLimitFormAtX(kFormBeginX); + return point; + } + + const CFX_PointF& CharLimitFormEnd() const { + static const CFX_PointF point = CharLimitFormAtX(kFormEndX); + return point; + } + + const CFX_PointF& RegularFormBegin() const { + static const CFX_PointF point = RegularFormAtX(kFormBeginX); + return point; + } + + const CFX_PointF& RegularFormEnd() const { + static const CFX_PointF point = RegularFormAtX(kFormEndX); + return point; + } + + static CFX_PointF CharLimitFormAtX(float x) { + ASSERT(x >= kFormBeginX); + ASSERT(x <= kFormEndX); + return CFX_PointF(x, kCharLimitFormY); + } + + static CFX_PointF RegularFormAtX(float x) { + ASSERT(x >= kFormBeginX); + ASSERT(x <= kFormEndX); + return CFX_PointF(x, kRegularFormY); + } + + private: + static constexpr float kFormBeginX = 102.0; + static constexpr float kFormEndX = 195.0; + static constexpr float kCharLimitFormY = 60.0; + static constexpr float kRegularFormY = 115.0; }; class FPDFFormFillComboBoxFormEmbeddertest @@ -148,35 +206,104 @@ class FPDFFormFillComboBoxFormEmbeddertest ~FPDFFormFillComboBoxFormEmbeddertest() override = default; const char* GetDocumentName() const override { - // PDF with form comboboxes. + // PDF with form comboboxes: + // - "Combo_Editable" - Ff: 393216, 3 options with pair values. + // - "Combo1" - Ff: 131072, 3 options with single values. + // - "Combo_ReadOnly" - Ff: 131073, 3 options with single values. return "combobox_form.pdf"; } int GetFormType() const override { return FPDF_FORMFIELD_COMBOBOX; } void FormSanityChecks() override { - EXPECT_EQ(GetFormType(), FPDFPage_HasFormFieldAtPoint(form_handle(), page(), - 102.0, 113.0)); + EXPECT_EQ(GetFormType(), GetFormTypeAtPoint(EditableFormBegin())); + EXPECT_EQ(GetFormType(), GetFormTypeAtPoint(EditableFormEnd())); + EXPECT_EQ(GetFormType(), GetFormTypeAtPoint(EditableFormDropDown())); + EXPECT_EQ(GetFormType(), GetFormTypeAtPoint(NonEditableFormBegin())); + EXPECT_EQ(GetFormType(), GetFormTypeAtPoint(NonEditableFormEnd())); + EXPECT_EQ(GetFormType(), GetFormTypeAtPoint(NonEditableFormDropDown())); } + void SelectEditableFormOption(int item_index) { + SelectOption(item_index, EditableFormDropDown()); + } + + void SelectNonEditableFormOption(int item_index) { + SelectOption(item_index, NonEditableFormDropDown()); + } + + void SelectAllEditableFormTextWithMouse() { + SelectTextWithMouse(EditableFormEnd(), EditableFormBegin()); + } + + const CFX_PointF& EditableFormBegin() const { + static const CFX_PointF point = EditableFormAtX(kFormBeginX); + return point; + } + + const CFX_PointF& EditableFormEnd() const { + static const CFX_PointF point = EditableFormAtX(kFormEndX); + return point; + } + + const CFX_PointF& EditableFormDropDown() const { + static const CFX_PointF point(kFormDropDownX, kEditableFormY); + return point; + } + + const CFX_PointF& NonEditableFormBegin() const { + static const CFX_PointF point = NonEditableFormAtX(kFormBeginX); + return point; + } + + const CFX_PointF& NonEditableFormEnd() const { + static const CFX_PointF point = NonEditableFormAtX(kFormEndX); + return point; + } + + const CFX_PointF& NonEditableFormDropDown() const { + static const CFX_PointF point(kFormDropDownX, kNonEditableFormY); + return point; + } + + static CFX_PointF EditableFormAtX(float x) { + ASSERT(x >= kFormBeginX); + ASSERT(x <= kFormEndX); + return CFX_PointF(x, kEditableFormY); + } + + static CFX_PointF NonEditableFormAtX(float x) { + ASSERT(x >= kFormBeginX); + ASSERT(x <= kFormEndX); + return CFX_PointF(x, kNonEditableFormY); + } + + private: // Selects one of the pre-selected values from a combobox with three options. // Options are specified by |item_index|, which is 0-based. - void SelectOption(int32_t item_index, double x, double y) { + void SelectOption(int item_index, const CFX_PointF& point) { // Only relevant for comboboxes with three choices and the same dimensions // as those in combobox_form.pdf. ASSERT(item_index >= 0); ASSERT(item_index < 3); // Navigate to button for drop down and click mouse to reveal options. - ClickOnFormFieldAtPoint(x, y); + ClickOnFormFieldAtPoint(point); - // Y coordinate of dropdown option to be selected. + // Calculate to Y-coordinate of dropdown option to be selected. constexpr double kChoiceHeight = 15; - double option_y = y - kChoiceHeight * (item_index + 1); + CFX_PointF option_point = point; + option_point.y -= kChoiceHeight * (item_index + 1); // Navigate to option and click mouse to select it. - ClickOnFormFieldAtPoint(x, option_y); + ClickOnFormFieldAtPoint(option_point); } + + static constexpr float kFormBeginX = 102.0; + static constexpr float kFormEndX = 183.0; + static constexpr float kFormDropDownX = 192.0; + static constexpr float kEditableFormY = 60.0; + static constexpr float kNonEditableFormY = 110.0; }; TEST_F(FPDFFormFillEmbeddertest, FirstTest) { @@ -433,8 +560,8 @@ TEST_F(FPDFFormFillTextFormEmbeddertest, GetSelectedTextEmptyAndBasicKeyboard) { CheckSelection(L""); // Test basic selection. - TypeTextIntoTextField(3, 120.0, 120.0); - SelectTextWithKeyboard(3, FWL_VKEY_Left, 123.0, 115.5); + TypeTextIntoTextField(3, RegularFormBegin()); + SelectTextWithKeyboard(3, FWL_VKEY_Left, RegularFormAtX(123.0)); CheckSelection(L"ABC"); } @@ -443,56 +570,56 @@ TEST_F(FPDFFormFillTextFormEmbeddertest, GetSelectedTextEmptyAndBasicMouse) { CheckSelection(L""); // Test basic selection. - TypeTextIntoTextField(3, 120.0, 120.0); - SelectTextWithMouse(125.0, 102.0, 115.5); + TypeTextIntoTextField(3, RegularFormBegin()); + SelectTextWithMouse(RegularFormAtX(125.0), RegularFormBegin()); CheckSelection(L"ABC"); } TEST_F(FPDFFormFillTextFormEmbeddertest, GetSelectedTextFragmentsKeyBoard) { - TypeTextIntoTextField(12, 120.0, 120.0); + TypeTextIntoTextField(12, RegularFormBegin()); // Test selecting first character in forward direction. - SelectTextWithKeyboard(1, FWL_VKEY_Right, 102.0, 115.5); + SelectTextWithKeyboard(1, FWL_VKEY_Right, RegularFormBegin()); CheckSelection(L"A"); // Test selecting entire long string in backwards direction. - SelectTextWithKeyboard(12, FWL_VKEY_Left, 191.0, 115.5); + SelectTextWithKeyboard(12, FWL_VKEY_Left, RegularFormEnd()); CheckSelection(L"ABCDEFGHIJKL"); // Test selecting middle section in backwards direction. - SelectTextWithKeyboard(6, FWL_VKEY_Left, 170.0, 115.5); + SelectTextWithKeyboard(6, FWL_VKEY_Left, RegularFormAtX(170.0)); CheckSelection(L"DEFGHI"); // Test selecting middle selection in forward direction. - SelectTextWithKeyboard(6, FWL_VKEY_Right, 125.0, 115.5); + SelectTextWithKeyboard(6, FWL_VKEY_Right, RegularFormAtX(125.0)); CheckSelection(L"DEFGHI"); // Test selecting last character in backwards direction. - SelectTextWithKeyboard(1, FWL_VKEY_Left, 191.0, 115.5); + SelectTextWithKeyboard(1, FWL_VKEY_Left, RegularFormEnd()); CheckSelection(L"L"); } TEST_F(FPDFFormFillTextFormEmbeddertest, GetSelectedTextFragmentsMouse) { - TypeTextIntoTextField(12, 120.0, 120.0); + TypeTextIntoTextField(12, RegularFormBegin()); // Test selecting first character in forward direction. - SelectTextWithMouse(102.0, 106.0, 115.5); + SelectTextWithMouse(RegularFormBegin(), RegularFormAtX(106.0)); CheckSelection(L"A"); // Test selecting entire long string in backwards direction. - SelectTextWithMouse(191.0, 102.0, 115.5); + SelectAllRegularFormTextWithMouse(); CheckSelection(L"ABCDEFGHIJKL"); // Test selecting middle section in backwards direction. - SelectTextWithMouse(170.0, 125.0, 115.5); + SelectTextWithMouse(RegularFormAtX(170.0), RegularFormAtX(125.0)); CheckSelection(L"DEFGHI"); // Test selecting middle selection in forward direction. - SelectTextWithMouse(125.0, 170.0, 115.5); + SelectTextWithMouse(RegularFormAtX(125.0), RegularFormAtX(170.0)); CheckSelection(L"DEFGHI"); // Test selecting last character in backwards direction. - SelectTextWithMouse(191.0, 186.0, 115.5); + SelectTextWithMouse(RegularFormEnd(), RegularFormAtX(186.0)); CheckSelection(L"L"); } @@ -502,11 +629,11 @@ TEST_F(FPDFFormFillComboBoxFormEmbeddertest, CheckSelection(L""); // Non-editable comboboxes don't allow selection with keyboard. - SelectTextWithMouse(102.0, 142.0, 113.0); + SelectTextWithMouse(NonEditableFormBegin(), NonEditableFormAtX(142.0)); CheckSelection(L"Banana"); // Select other another provided option. - SelectOption(0, 192.0, 110.0); + SelectNonEditableFormOption(0); CheckSelection(L"Apple"); } @@ -516,12 +643,12 @@ TEST_F(FPDFFormFillComboBoxFormEmbeddertest, CheckSelection(L""); // Test basic selection of text within user editable combobox using keyboard. - TypeTextIntoTextField(3, 102.0, 62.0); - SelectTextWithKeyboard(3, FWL_VKEY_Left, 128.0, 62.0); + TypeTextIntoTextField(3, EditableFormBegin()); + SelectTextWithKeyboard(3, FWL_VKEY_Left, EditableFormAtX(128.0)); CheckSelection(L"ABC"); // Select a provided option. - SelectOption(1, 192.0, 60.0); + SelectEditableFormOption(1); CheckSelection(L"Bar"); } @@ -531,234 +658,234 @@ TEST_F(FPDFFormFillComboBoxFormEmbeddertest, CheckSelection(L""); // Test basic selection of text within user editable combobox using mouse. - TypeTextIntoTextField(3, 102.0, 62.0); - SelectTextWithMouse(128.0, 103.0, 62.0); + TypeTextIntoTextField(3, EditableFormBegin()); + SelectTextWithMouse(EditableFormAtX(128.0), EditableFormBegin()); CheckSelection(L"ABC"); // Select a provided option. - SelectOption(2, 192.0, 60.0); + SelectEditableFormOption(2); CheckSelection(L"Qux"); } TEST_F(FPDFFormFillComboBoxFormEmbeddertest, GetSelectedTextFragmentsNormalComboBox) { // Test selecting first character in forward direction. - SelectTextWithMouse(102.0, 107.0, 113.0); + SelectTextWithMouse(NonEditableFormBegin(), NonEditableFormAtX(107.0)); CheckSelection(L"B"); // Test selecting entire string in backwards direction. - SelectTextWithMouse(142.0, 102.0, 113.0); + SelectTextWithMouse(NonEditableFormAtX(142.0), NonEditableFormBegin()); CheckSelection(L"Banana"); // Test selecting middle section in backwards direction. - SelectTextWithMouse(135.0, 117.0, 113.0); + SelectTextWithMouse(NonEditableFormAtX(135.0), NonEditableFormAtX(117.0)); CheckSelection(L"nan"); // Test selecting middle section in forward direction. - SelectTextWithMouse(117.0, 135.0, 113.0); + SelectTextWithMouse(NonEditableFormAtX(117.0), NonEditableFormAtX(135.0)); CheckSelection(L"nan"); // Test selecting last character in backwards direction. - SelectTextWithMouse(142.0, 138.0, 113.0); + SelectTextWithMouse(NonEditableFormAtX(142.0), NonEditableFormAtX(138.0)); CheckSelection(L"a"); // Select another option and then reset selection as first three chars. - SelectOption(2, 192.0, 110.0); + SelectNonEditableFormOption(2); CheckSelection(L"Cherry"); - SelectTextWithMouse(102.0, 122.0, 113.0); + SelectTextWithMouse(NonEditableFormBegin(), NonEditableFormAtX(122.0)); CheckSelection(L"Che"); } TEST_F(FPDFFormFillComboBoxFormEmbeddertest, GetSelectedTextFragmentsEditableComboBoxKeyboard) { - TypeTextIntoTextField(10, 102.0, 62.0); + TypeTextIntoTextField(10, EditableFormBegin()); // Test selecting first character in forward direction. - SelectTextWithKeyboard(1, FWL_VKEY_Right, 102.0, 62.0); + SelectTextWithKeyboard(1, FWL_VKEY_Right, EditableFormBegin()); CheckSelection(L"A"); // Test selecting entire long string in backwards direction. - SelectTextWithKeyboard(10, FWL_VKEY_Left, 178.0, 62.0); + SelectTextWithKeyboard(10, FWL_VKEY_Left, EditableFormEnd()); CheckSelection(L"ABCDEFGHIJ"); // Test selecting middle section in backwards direction. - SelectTextWithKeyboard(5, FWL_VKEY_Left, 168.0, 62.0); + SelectTextWithKeyboard(5, FWL_VKEY_Left, EditableFormAtX(168.0)); CheckSelection(L"DEFGH"); // Test selecting middle selection in forward direction. - SelectTextWithKeyboard(5, FWL_VKEY_Right, 127.0, 62.0); + SelectTextWithKeyboard(5, FWL_VKEY_Right, EditableFormAtX(127.0)); CheckSelection(L"DEFGH"); // Test selecting last character in backwards direction. - SelectTextWithKeyboard(1, FWL_VKEY_Left, 178.0, 62.0); + SelectTextWithKeyboard(1, FWL_VKEY_Left, EditableFormEnd()); CheckSelection(L"J"); // Select a provided option and then reset selection as first two chars. - SelectOption(0, 192.0, 60.0); + SelectEditableFormOption(0); CheckSelection(L"Foo"); - SelectTextWithKeyboard(2, FWL_VKEY_Right, 102.0, 62.0); + SelectTextWithKeyboard(2, FWL_VKEY_Right, EditableFormBegin()); CheckSelection(L"Fo"); } TEST_F(FPDFFormFillComboBoxFormEmbeddertest, GetSelectedTextFragmentsEditableComboBoxMouse) { - TypeTextIntoTextField(10, 102.0, 62.0); + TypeTextIntoTextField(10, EditableFormBegin()); // Test selecting first character in forward direction. - SelectTextWithMouse(102.0, 107.0, 62.0); + SelectTextWithMouse(EditableFormBegin(), EditableFormAtX(107.0)); CheckSelection(L"A"); // Test selecting entire long string in backwards direction. - SelectTextWithMouse(178.0, 102.0, 62.0); + SelectAllEditableFormTextWithMouse(); CheckSelection(L"ABCDEFGHIJ"); // Test selecting middle section in backwards direction. - SelectTextWithMouse(168.0, 127.0, 62.0); + SelectTextWithMouse(EditableFormAtX(168.0), EditableFormAtX(127.0)); CheckSelection(L"DEFGH"); // Test selecting middle selection in forward direction. - SelectTextWithMouse(127.0, 168.0, 62.0); + SelectTextWithMouse(EditableFormAtX(127.0), EditableFormAtX(168.0)); CheckSelection(L"DEFGH"); // Test selecting last character in backwards direction. - SelectTextWithMouse(178.0, 174.0, 62.0); + SelectTextWithMouse(EditableFormEnd(), EditableFormAtX(174.0)); CheckSelection(L"J"); } TEST_F(FPDFFormFillTextFormEmbeddertest, DeleteTextFieldEntireSelection) { // Select entire contents of text field. - TypeTextIntoTextField(12, 120.0, 120.0); - SelectTextWithMouse(191.0, 102.0, 115.5); + TypeTextIntoTextField(12, RegularFormBegin()); + SelectAllRegularFormTextWithMouse(); CheckSelection(L"ABCDEFGHIJKL"); // Test deleting current text selection. Select what remains after deletion to // check that remaining text is as expected. FORM_ReplaceSelection(form_handle(), page(), nullptr); - SelectTextWithKeyboard(12, FWL_VKEY_Left, 191.0, 115.5); + SelectTextWithKeyboard(12, FWL_VKEY_Left, RegularFormEnd()); CheckSelection(L""); } TEST_F(FPDFFormFillTextFormEmbeddertest, DeleteTextFieldSelectionMiddle) { // Select middle section of text. - TypeTextIntoTextField(12, 120.0, 120.0); - SelectTextWithMouse(170.0, 125.0, 115.5); + TypeTextIntoTextField(12, RegularFormBegin()); + SelectTextWithMouse(RegularFormAtX(170.0), RegularFormAtX(125.0)); CheckSelection(L"DEFGHI"); // Test deleting current text selection. Select what remains after deletion to // check that remaining text is as expected. FORM_ReplaceSelection(form_handle(), page(), nullptr); - SelectTextWithKeyboard(12, FWL_VKEY_Left, 191.0, 115.5); + SelectTextWithKeyboard(12, FWL_VKEY_Left, RegularFormEnd()); CheckSelection(L"ABCJKL"); } TEST_F(FPDFFormFillTextFormEmbeddertest, DeleteTextFieldSelectionLeft) { // Select first few characters of text. - TypeTextIntoTextField(12, 120.0, 120.0); - SelectTextWithMouse(102.0, 132.0, 115.5); + TypeTextIntoTextField(12, RegularFormBegin()); + SelectTextWithMouse(RegularFormBegin(), RegularFormAtX(132.0)); CheckSelection(L"ABCD"); // Test deleting current text selection. Select what remains after deletion to // check that remaining text is as expected. FORM_ReplaceSelection(form_handle(), page(), nullptr); - SelectTextWithKeyboard(12, FWL_VKEY_Left, 191.0, 115.5); + SelectTextWithKeyboard(12, FWL_VKEY_Left, RegularFormEnd()); CheckSelection(L"EFGHIJKL"); } TEST_F(FPDFFormFillTextFormEmbeddertest, DeleteTextFieldSelectionRight) { // Select last few characters of text. - TypeTextIntoTextField(12, 120.0, 120.0); - SelectTextWithMouse(191.0, 165.0, 115.5); + TypeTextIntoTextField(12, RegularFormBegin()); + SelectTextWithMouse(RegularFormEnd(), RegularFormAtX(165.0)); CheckSelection(L"IJKL"); // Test deleting current text selection. Select what remains after deletion to // check that remaining text is as expected. FORM_ReplaceSelection(form_handle(), page(), nullptr); - SelectTextWithKeyboard(12, FWL_VKEY_Left, 191.0, 115.5); + SelectTextWithKeyboard(12, FWL_VKEY_Left, RegularFormEnd()); CheckSelection(L"ABCDEFGH"); } TEST_F(FPDFFormFillTextFormEmbeddertest, DeleteEmptyTextFieldSelection) { // Do not select text. - TypeTextIntoTextField(12, 120.0, 120.0); + TypeTextIntoTextField(12, RegularFormBegin()); CheckSelection(L""); // Test that attempt to delete empty text selection has no effect. FORM_ReplaceSelection(form_handle(), page(), nullptr); - SelectTextWithKeyboard(12, FWL_VKEY_Left, 191.0, 115.5); + SelectTextWithKeyboard(12, FWL_VKEY_Left, RegularFormEnd()); CheckSelection(L"ABCDEFGHIJKL"); } TEST_F(FPDFFormFillComboBoxFormEmbeddertest, DeleteEditableComboBoxEntireSelection) { // Select entire contents of user-editable combobox text field. - TypeTextIntoTextField(10, 102.0, 62.0); - SelectTextWithMouse(178.0, 102.0, 62.0); + TypeTextIntoTextField(10, EditableFormBegin()); + SelectAllEditableFormTextWithMouse(); CheckSelection(L"ABCDEFGHIJ"); // Test deleting current text selection. Select what remains after deletion to // check that remaining text is as expected. FORM_ReplaceSelection(form_handle(), page(), nullptr); - SelectTextWithMouse(178.0, 102.0, 62.0); + SelectAllEditableFormTextWithMouse(); CheckSelection(L""); } TEST_F(FPDFFormFillComboBoxFormEmbeddertest, DeleteEditableComboBoxSelectionMiddle) { // Select middle section of text. - TypeTextIntoTextField(10, 102.0, 62.0); - SelectTextWithMouse(168.0, 127.0, 62.0); + TypeTextIntoTextField(10, EditableFormBegin()); + SelectTextWithMouse(EditableFormAtX(168.0), EditableFormAtX(127.0)); CheckSelection(L"DEFGH"); // Test deleting current text selection. Select what remains after deletion to // check that remaining text is as expected. FORM_ReplaceSelection(form_handle(), page(), nullptr); - SelectTextWithMouse(178.0, 102.0, 62.0); + SelectAllEditableFormTextWithMouse(); CheckSelection(L"ABCIJ"); } TEST_F(FPDFFormFillComboBoxFormEmbeddertest, DeleteEditableComboBoxSelectionLeft) { // Select first few characters of text. - TypeTextIntoTextField(10, 102.0, 62.0); - SelectTextWithMouse(102.0, 132.0, 62.0); + TypeTextIntoTextField(10, EditableFormBegin()); + SelectTextWithMouse(EditableFormBegin(), EditableFormAtX(132.0)); CheckSelection(L"ABCD"); // Test deleting current text selection. Select what remains after deletion to // check that remaining text is as expected. FORM_ReplaceSelection(form_handle(), page(), nullptr); - SelectTextWithMouse(178.0, 102.0, 62.0); + SelectAllEditableFormTextWithMouse(); CheckSelection(L"EFGHIJ"); } TEST_F(FPDFFormFillComboBoxFormEmbeddertest, DeleteEditableComboBoxSelectionRight) { // Select last few characters of text. - TypeTextIntoTextField(10, 102.0, 62.0); - SelectTextWithMouse(178.0, 152.0, 62.0); + TypeTextIntoTextField(10, EditableFormBegin()); + SelectTextWithMouse(EditableFormEnd(), EditableFormAtX(152.0)); CheckSelection(L"GHIJ"); // Test deleting current text selection. Select what remains after deletion to // check that remaining text is as expected. FORM_ReplaceSelection(form_handle(), page(), nullptr); - SelectTextWithMouse(178.0, 102.0, 62.0); + SelectAllEditableFormTextWithMouse(); CheckSelection(L"ABCDEF"); } TEST_F(FPDFFormFillComboBoxFormEmbeddertest, DeleteEmptyEditableComboBoxSelection) { // Do not select text. - TypeTextIntoTextField(10, 102.0, 62.0); + TypeTextIntoTextField(10, EditableFormBegin()); CheckSelection(L""); // Test that attempt to delete empty text selection has no effect. FORM_ReplaceSelection(form_handle(), page(), nullptr); - SelectTextWithMouse(178.0, 102.0, 62.0); + SelectAllEditableFormTextWithMouse(); CheckSelection(L"ABCDEFGHIJ"); } TEST_F(FPDFFormFillTextFormEmbeddertest, InsertTextInEmptyTextField) { - ClickOnFormFieldAtPoint(120.0, 120.0); + ClickOnFormFieldAtPoint(RegularFormBegin()); // Test inserting text into empty text field. std::unique_ptr<unsigned short, pdfium::FreeDeleter> text_to_insert = @@ -767,15 +894,15 @@ TEST_F(FPDFFormFillTextFormEmbeddertest, InsertTextInEmptyTextField) { // Select entire contents of text field to check that insertion worked // as expected. - SelectTextWithMouse(195.0, 102.0, 115.5); + SelectAllRegularFormTextWithMouse(); CheckSelection(L"Hello"); } TEST_F(FPDFFormFillTextFormEmbeddertest, InsertTextInPopulatedTextFieldLeft) { - TypeTextIntoTextField(8, 120.0, 120.0); + TypeTextIntoTextField(8, RegularFormBegin()); // Click on the leftmost part of the text field. - ClickOnFormFieldAtPoint(102.0, 115.5); + ClickOnFormFieldAtPoint(RegularFormBegin()); // Test inserting text in front of existing text in text field. std::unique_ptr<unsigned short, pdfium::FreeDeleter> text_to_insert = @@ -784,15 +911,15 @@ TEST_F(FPDFFormFillTextFormEmbeddertest, InsertTextInPopulatedTextFieldLeft) { // Select entire contents of text field to check that insertion worked // as expected. - SelectTextWithMouse(195.0, 102.0, 115.5); + SelectAllRegularFormTextWithMouse(); CheckSelection(L"HelloABCDEFGH"); } TEST_F(FPDFFormFillTextFormEmbeddertest, InsertTextInPopulatedTextFieldMiddle) { - TypeTextIntoTextField(8, 120.0, 120.0); + TypeTextIntoTextField(8, RegularFormBegin()); // Click on the middle of the text field. - ClickOnFormFieldAtPoint(134.0, 115.5); + ClickOnFormFieldAtPoint(RegularFormAtX(134.0)); // Test inserting text in the middle of existing text in text field. std::unique_ptr<unsigned short, pdfium::FreeDeleter> text_to_insert = @@ -801,15 +928,15 @@ TEST_F(FPDFFormFillTextFormEmbeddertest, InsertTextInPopulatedTextFieldMiddle) { // Select entire contents of text field to check that insertion worked // as expected. - SelectTextWithMouse(195.0, 102.0, 115.5); + SelectAllRegularFormTextWithMouse(); CheckSelection(L"ABCDHelloEFGH"); } TEST_F(FPDFFormFillTextFormEmbeddertest, InsertTextInPopulatedTextFieldRight) { - TypeTextIntoTextField(8, 120.0, 120.0); + TypeTextIntoTextField(8, RegularFormBegin()); // Click on the rightmost part of the text field. - ClickOnFormFieldAtPoint(166.0, 115.5); + ClickOnFormFieldAtPoint(RegularFormAtX(166.0)); // Test inserting text behind existing text in text field. std::unique_ptr<unsigned short, pdfium::FreeDeleter> text_to_insert = @@ -818,16 +945,16 @@ TEST_F(FPDFFormFillTextFormEmbeddertest, InsertTextInPopulatedTextFieldRight) { // Select entire contents of text field to check that insertion worked // as expected. - SelectTextWithMouse(195.0, 102.0, 115.5); + SelectAllRegularFormTextWithMouse(); CheckSelection(L"ABCDEFGHHello"); } TEST_F(FPDFFormFillTextFormEmbeddertest, InsertTextAndReplaceSelectionInPopulatedTextFieldWhole) { - TypeTextIntoTextField(12, 120.0, 120.0); + TypeTextIntoTextField(12, RegularFormBegin()); // Select entire string in text field. - SelectTextWithKeyboard(12, FWL_VKEY_Left, 195.0, 115.0); + SelectTextWithKeyboard(12, FWL_VKEY_Left, RegularFormEnd()); CheckSelection(L"ABCDEFGHIJKL"); // Test replacing text selection with text to be inserted. @@ -837,16 +964,16 @@ TEST_F(FPDFFormFillTextFormEmbeddertest, // Select entire contents of text field to check that insertion worked // as expected. - SelectTextWithMouse(195.0, 102.0, 115.5); + SelectAllRegularFormTextWithMouse(); CheckSelection(L"Hello"); } TEST_F(FPDFFormFillTextFormEmbeddertest, InsertTextAndReplaceSelectionInPopulatedTextFieldLeft) { - TypeTextIntoTextField(12, 120.0, 120.0); + TypeTextIntoTextField(12, RegularFormBegin()); // Select left portion of string in text field. - SelectTextWithKeyboard(6, FWL_VKEY_Left, 148.0, 115.0); + SelectTextWithKeyboard(6, FWL_VKEY_Left, RegularFormAtX(148.0)); CheckSelection(L"ABCDEF"); // Test replacing text selection with text to be inserted. @@ -856,16 +983,16 @@ TEST_F(FPDFFormFillTextFormEmbeddertest, // Select entire contents of text field to check that insertion worked // as expected. - SelectTextWithMouse(195.0, 102.0, 115.5); + SelectAllRegularFormTextWithMouse(); CheckSelection(L"HelloGHIJKL"); } TEST_F(FPDFFormFillTextFormEmbeddertest, InsertTextAndReplaceSelectionInPopulatedTextFieldMiddle) { - TypeTextIntoTextField(12, 120.0, 120.0); + TypeTextIntoTextField(12, RegularFormBegin()); // Select middle portion of string in text field. - SelectTextWithKeyboard(6, FWL_VKEY_Left, 171.0, 115.0); + SelectTextWithKeyboard(6, FWL_VKEY_Left, RegularFormAtX(171.0)); CheckSelection(L"DEFGHI"); // Test replacing text selection with text to be inserted. @@ -875,16 +1002,16 @@ TEST_F(FPDFFormFillTextFormEmbeddertest, // Select entire contents of text field to check that insertion worked // as expected. - SelectTextWithMouse(195.0, 102.0, 115.5); + SelectAllRegularFormTextWithMouse(); CheckSelection(L"ABCHelloJKL"); } TEST_F(FPDFFormFillTextFormEmbeddertest, InsertTextAndReplaceSelectionInPopulatedTextFieldRight) { - TypeTextIntoTextField(12, 120.0, 120.0); + TypeTextIntoTextField(12, RegularFormBegin()); // Select right portion of string in text field. - SelectTextWithKeyboard(6, FWL_VKEY_Left, 195.0, 115.0); + SelectTextWithKeyboard(6, FWL_VKEY_Left, RegularFormEnd()); CheckSelection(L"GHIJKL"); // Test replacing text selection with text to be inserted. @@ -894,13 +1021,13 @@ TEST_F(FPDFFormFillTextFormEmbeddertest, // Select entire contents of text field to check that insertion worked // as expected. - SelectTextWithMouse(195.0, 102.0, 115.5); + SelectAllRegularFormTextWithMouse(); CheckSelection(L"ABCDEFHello"); } TEST_F(FPDFFormFillComboBoxFormEmbeddertest, InsertTextInEmptyEditableComboBox) { - ClickOnFormFieldAtPoint(102.0, 62.0); + ClickOnFormFieldAtPoint(EditableFormBegin()); // Test inserting text into empty user-editable combobox. std::unique_ptr<unsigned short, pdfium::FreeDeleter> text_to_insert = @@ -909,16 +1036,16 @@ TEST_F(FPDFFormFillComboBoxFormEmbeddertest, // Select entire contents of user-editable combobox text field to check that // insertion worked as expected. - SelectTextWithMouse(183.0, 102.0, 62.0); + SelectAllEditableFormTextWithMouse(); CheckSelection(L"Hello"); } TEST_F(FPDFFormFillComboBoxFormEmbeddertest, InsertTextInPopulatedEditableComboBoxLeft) { - TypeTextIntoTextField(6, 102.0, 62.0); + TypeTextIntoTextField(6, EditableFormBegin()); // Click on the leftmost part of the user-editable combobox. - ClickOnFormFieldAtPoint(102.0, 62.0); + ClickOnFormFieldAtPoint(EditableFormBegin()); // Test inserting text in front of existing text in user-editable combobox. std::unique_ptr<unsigned short, pdfium::FreeDeleter> text_to_insert = @@ -927,16 +1054,16 @@ TEST_F(FPDFFormFillComboBoxFormEmbeddertest, // Select entire contents of user-editable combobox text field to check that // insertion worked as expected. - SelectTextWithMouse(183.0, 102.0, 62.0); + SelectAllEditableFormTextWithMouse(); CheckSelection(L"HelloABCDEF"); } TEST_F(FPDFFormFillComboBoxFormEmbeddertest, InsertTextInPopulatedEditableComboBoxMiddle) { - TypeTextIntoTextField(6, 102.0, 62.0); + TypeTextIntoTextField(6, EditableFormBegin()); // Click on the middle of the user-editable combobox. - ClickOnFormFieldAtPoint(126.0, 62.0); + ClickOnFormFieldAtPoint(EditableFormAtX(126.0)); // Test inserting text in the middle of existing text in user-editable // combobox. @@ -946,16 +1073,16 @@ TEST_F(FPDFFormFillComboBoxFormEmbeddertest, // Select entire contents of user-editable combobox text field to check that // insertion worked as expected. - SelectTextWithMouse(183.0, 102.0, 62.0); + SelectAllEditableFormTextWithMouse(); CheckSelection(L"ABCHelloDEF"); } TEST_F(FPDFFormFillComboBoxFormEmbeddertest, InsertTextInPopulatedEditableComboBoxRight) { - TypeTextIntoTextField(6, 102.0, 62.0); + TypeTextIntoTextField(6, EditableFormBegin()); // Click on the rightmost part of the user-editable combobox. - ClickOnFormFieldAtPoint(150.0, 62.0); + ClickOnFormFieldAtPoint(EditableFormEnd()); // Test inserting text behind existing text in user-editable combobox. std::unique_ptr<unsigned short, pdfium::FreeDeleter> text_to_insert = @@ -964,16 +1091,16 @@ TEST_F(FPDFFormFillComboBoxFormEmbeddertest, // Select entire contents of user-editable combobox text field to check that // insertion worked as expected. - SelectTextWithMouse(183.0, 102.0, 62.0); + SelectAllEditableFormTextWithMouse(); CheckSelection(L"ABCDEFHello"); } TEST_F(FPDFFormFillComboBoxFormEmbeddertest, InsertTextAndReplaceSelectionInPopulatedEditableComboBoxWhole) { - TypeTextIntoTextField(10, 102.0, 62.0); + TypeTextIntoTextField(10, EditableFormBegin()); // Select entire string in user-editable combobox. - SelectTextWithKeyboard(10, FWL_VKEY_Left, 183.0, 62.0); + SelectTextWithKeyboard(10, FWL_VKEY_Left, EditableFormEnd()); CheckSelection(L"ABCDEFGHIJ"); // Test replacing text selection with text to be inserted. @@ -983,16 +1110,16 @@ TEST_F(FPDFFormFillComboBoxFormEmbeddertest, // Select entire contents of user-editable combobox text field to check that // insertion worked as expected. - SelectTextWithMouse(183.0, 102.0, 62.0); + SelectAllEditableFormTextWithMouse(); CheckSelection(L"Hello"); } TEST_F(FPDFFormFillComboBoxFormEmbeddertest, InsertTextAndReplaceSelectionInPopulatedEditableComboBoxLeft) { - TypeTextIntoTextField(10, 102.0, 62.0); + TypeTextIntoTextField(10, EditableFormBegin()); // Select left portion of string in user-editable combobox. - SelectTextWithKeyboard(5, FWL_VKEY_Left, 142.0, 62.0); + SelectTextWithKeyboard(5, FWL_VKEY_Left, EditableFormAtX(142.0)); CheckSelection(L"ABCDE"); // Test replacing text selection with text to be inserted. @@ -1002,16 +1129,16 @@ TEST_F(FPDFFormFillComboBoxFormEmbeddertest, // Select entire contents of user-editable combobox text field to check that // insertion worked as expected. - SelectTextWithMouse(183.0, 102.0, 62.0); + SelectAllEditableFormTextWithMouse(); CheckSelection(L"HelloFGHIJ"); } TEST_F(FPDFFormFillComboBoxFormEmbeddertest, InsertTextAndReplaceSelectionInPopulatedEditableComboBoxMiddle) { - TypeTextIntoTextField(10, 102.0, 62.0); + TypeTextIntoTextField(10, EditableFormBegin()); // Select middle portion of string in user-editable combobox. - SelectTextWithKeyboard(5, FWL_VKEY_Left, 167.0, 62.0); + SelectTextWithKeyboard(5, FWL_VKEY_Left, EditableFormAtX(167.0)); CheckSelection(L"DEFGH"); // Test replacing text selection with text to be inserted. @@ -1021,16 +1148,16 @@ TEST_F(FPDFFormFillComboBoxFormEmbeddertest, // Select entire contents of user-editable combobox text field to check that // insertion worked as expected. - SelectTextWithMouse(183.0, 102.0, 62.0); + SelectAllEditableFormTextWithMouse(); CheckSelection(L"ABCHelloIJ"); } TEST_F(FPDFFormFillComboBoxFormEmbeddertest, InsertTextAndReplaceSelectionInPopulatedEditableComboBoxRight) { - TypeTextIntoTextField(10, 102.0, 62.0); + TypeTextIntoTextField(10, EditableFormBegin()); // Select right portion of string in user-editable combobox. - SelectTextWithKeyboard(5, FWL_VKEY_Left, 183.0, 62.0); + SelectTextWithKeyboard(5, FWL_VKEY_Left, EditableFormEnd()); CheckSelection(L"FGHIJ"); // Test replacing text selection with text to be inserted. @@ -1040,17 +1167,17 @@ TEST_F(FPDFFormFillComboBoxFormEmbeddertest, // Select entire contents of user-editable combobox text field to check that // insertion worked as expected. - SelectTextWithMouse(183.0, 102.0, 62.0); + SelectAllEditableFormTextWithMouse(); CheckSelection(L"ABCDEHello"); } TEST_F(FPDFFormFillTextFormEmbeddertest, InsertTextInEmptyCharLimitTextFieldOverflow) { // Click on the textfield. - ClickOnFormFieldAtPoint(195.0, 60.0); + ClickOnFormFieldAtPoint(CharLimitFormEnd()); // Delete pre-filled contents of text field with char limit. - SelectTextWithMouse(195.0, 102.0, 60.0); + SelectAllCharLimitFormTextWithMouse(); CheckSelection(L"Elephant"); FORM_ReplaceSelection(form_handle(), page(), nullptr); @@ -1062,17 +1189,17 @@ TEST_F(FPDFFormFillTextFormEmbeddertest, // Select entire contents of text field to check that insertion worked // as expected. - SelectTextWithMouse(195.0, 102.0, 60.0); + SelectAllCharLimitFormTextWithMouse(); CheckSelection(L"Hippopotam"); } TEST_F(FPDFFormFillTextFormEmbeddertest, InsertTextInEmptyCharLimitTextFieldFit) { // Click on the textfield. - ClickOnFormFieldAtPoint(195.0, 60.0); + ClickOnFormFieldAtPoint(CharLimitFormEnd()); // Delete pre-filled contents of text field with char limit. - SelectTextWithMouse(195.0, 102.0, 60.0); + SelectAllCharLimitFormTextWithMouse(); CheckSelection(L"Elephant"); FORM_ReplaceSelection(form_handle(), page(), nullptr); @@ -1084,14 +1211,14 @@ TEST_F(FPDFFormFillTextFormEmbeddertest, // Select entire contents of text field to check that insertion worked // as expected. - SelectTextWithMouse(195.0, 102.0, 60.0); + SelectAllCharLimitFormTextWithMouse(); CheckSelection(L"Zebra"); } TEST_F(FPDFFormFillTextFormEmbeddertest, InsertTextInPopulatedCharLimitTextFieldLeft) { // Click on the leftmost part of the text field. - ClickOnFormFieldAtPoint(102.0, 60.0); + ClickOnFormFieldAtPoint(CharLimitFormBegin()); // Test inserting text in front of existing text in text field. std::unique_ptr<unsigned short, pdfium::FreeDeleter> text_to_insert = @@ -1100,16 +1227,16 @@ TEST_F(FPDFFormFillTextFormEmbeddertest, // Select entire contents of text field to check that insertion worked // as expected. - SelectTextWithMouse(195.0, 102.0, 60.0); + SelectAllCharLimitFormTextWithMouse(); CheckSelection(L"HiElephant"); } TEST_F(FPDFFormFillTextFormEmbeddertest, InsertTextInPopulatedCharLimitTextFieldMiddle) { - TypeTextIntoTextField(8, 120.0, 120.0); + TypeTextIntoTextField(8, RegularFormBegin()); // Click on the middle of the text field. - ClickOnFormFieldAtPoint(134.0, 60.0); + ClickOnFormFieldAtPoint(CharLimitFormAtX(134.0)); // Test inserting text in the middle of existing text in text field. std::unique_ptr<unsigned short, pdfium::FreeDeleter> text_to_insert = @@ -1118,16 +1245,16 @@ TEST_F(FPDFFormFillTextFormEmbeddertest, // Select entire contents of text field to check that insertion worked // as expected. - SelectTextWithMouse(195.0, 102.0, 60.0); + SelectAllCharLimitFormTextWithMouse(); CheckSelection(L"ElephHiant"); } TEST_F(FPDFFormFillTextFormEmbeddertest, InsertTextInPopulatedCharLimitTextFieldRight) { - TypeTextIntoTextField(8, 120.0, 120.0); + TypeTextIntoTextField(8, RegularFormBegin()); // Click on the rightmost part of the text field. - ClickOnFormFieldAtPoint(166.0, 60.0); + ClickOnFormFieldAtPoint(CharLimitFormAtX(166.0)); // Test inserting text behind existing text in text field. std::unique_ptr<unsigned short, pdfium::FreeDeleter> text_to_insert = @@ -1136,16 +1263,16 @@ TEST_F(FPDFFormFillTextFormEmbeddertest, // Select entire contents of text field to check that insertion worked // as expected. - SelectTextWithMouse(195.0, 102.0, 60.0); + SelectAllCharLimitFormTextWithMouse(); CheckSelection(L"ElephantHi"); } TEST_F(FPDFFormFillTextFormEmbeddertest, InsertTextAndReplaceSelectionInPopulatedCharLimitTextFieldWhole) { - TypeTextIntoTextField(12, 120.0, 120.0); + TypeTextIntoTextField(12, RegularFormBegin()); // Select entire string in text field. - SelectTextWithKeyboard(12, FWL_VKEY_Left, 195.0, 60.0); + SelectTextWithKeyboard(12, FWL_VKEY_Left, CharLimitFormEnd()); CheckSelection(L"Elephant"); // Test replacing text selection with text to be inserted. @@ -1155,16 +1282,16 @@ TEST_F(FPDFFormFillTextFormEmbeddertest, // Select entire contents of text field to check that insertion worked // as expected. - SelectTextWithMouse(195.0, 102.0, 60.0); + SelectAllCharLimitFormTextWithMouse(); CheckSelection(L"Hippopotam"); } TEST_F(FPDFFormFillTextFormEmbeddertest, InsertTextAndReplaceSelectionInPopulatedCharLimitTextFieldLeft) { - TypeTextIntoTextField(12, 120.0, 120.0); + TypeTextIntoTextField(12, RegularFormBegin()); // Select left portion of string in text field. - SelectTextWithKeyboard(4, FWL_VKEY_Left, 122.0, 60.0); + SelectTextWithKeyboard(4, FWL_VKEY_Left, CharLimitFormAtX(122.0)); CheckSelection(L"Elep"); // Test replacing text selection with text to be inserted. @@ -1174,16 +1301,16 @@ TEST_F(FPDFFormFillTextFormEmbeddertest, // Select entire contents of text field to check that insertion worked // as expected. - SelectTextWithMouse(195.0, 102.0, 60.0); + SelectAllCharLimitFormTextWithMouse(); CheckSelection(L"Hippophant"); } TEST_F(FPDFFormFillTextFormEmbeddertest, InsertTextAndReplaceSelectionInPopulatedCharLimitTextFieldMiddle) { - TypeTextIntoTextField(12, 120.0, 120.0); + TypeTextIntoTextField(12, RegularFormBegin()); // Select middle portion of string in text field. - SelectTextWithKeyboard(4, FWL_VKEY_Left, 136.0, 60.0); + SelectTextWithKeyboard(4, FWL_VKEY_Left, CharLimitFormAtX(136.0)); CheckSelection(L"epha"); // Test replacing text selection with text to be inserted. @@ -1193,16 +1320,16 @@ TEST_F(FPDFFormFillTextFormEmbeddertest, // Select entire contents of text field to check that insertion worked // as expected. - SelectTextWithMouse(195.0, 102.0, 60.0); + SelectAllCharLimitFormTextWithMouse(); CheckSelection(L"ElHippopnt"); } TEST_F(FPDFFormFillTextFormEmbeddertest, InsertTextAndReplaceSelectionInPopulatedCharLimitTextFieldRight) { - TypeTextIntoTextField(12, 120.0, 120.0); + TypeTextIntoTextField(12, RegularFormBegin()); // Select right portion of string in text field. - SelectTextWithKeyboard(4, FWL_VKEY_Left, 152.0, 60.0); + SelectTextWithKeyboard(4, FWL_VKEY_Left, CharLimitFormAtX(152.0)); CheckSelection(L"hant"); // Test replacing text selection with text to be inserted. @@ -1212,6 +1339,6 @@ TEST_F(FPDFFormFillTextFormEmbeddertest, // Select entire contents of text field to check that insertion worked // as expected. - SelectTextWithMouse(195.0, 102.0, 60.0); + SelectAllCharLimitFormTextWithMouse(); CheckSelection(L"ElepHippop"); } |