| // Copyright 2022 The PDFium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "fpdfsdk/formfiller/cffl_combobox.h" |
| |
| #include "fpdfsdk/pwl/cpwl_combo_box_embeddertest.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| |
| class CFFLComboBoxEmbedderTest : public CPWLComboBoxEmbedderTest {}; |
| |
| TEST_F(CFFLComboBoxEmbedderTest, GetActionData) { |
| FormFillerAndWindowSetup(GetCPDFSDKAnnotNormal()); |
| { |
| CFFL_FieldAction result; |
| GetCFFLFormField()->GetActionData(GetPageView(), CPDF_AAction::kKeyStroke, |
| result); |
| EXPECT_EQ(L"Banana", result.sValue); |
| EXPECT_EQ(L"Banana", result.sChangeEx); |
| } |
| { |
| CFFL_FieldAction result; |
| GetCFFLFormField()->GetActionData(GetPageView(), CPDF_AAction::kValidate, |
| result); |
| EXPECT_EQ(L"Banana", result.sValue); |
| EXPECT_EQ(L"", result.sChangeEx); |
| } |
| { |
| CFFL_FieldAction result; |
| GetCFFLFormField()->GetActionData(GetPageView(), CPDF_AAction::kGetFocus, |
| result); |
| EXPECT_EQ(L"Banana", result.sValue); |
| EXPECT_EQ(L"", result.sChangeEx); |
| } |
| } |
| |
| TEST_F(CFFLComboBoxEmbedderTest, SetActionData) { |
| FormFillerAndWindowSetup(GetCPDFSDKAnnotNormal()); |
| CFFL_FieldAction input_fa; |
| input_fa.nSelStart = 2; |
| input_fa.nSelEnd = 4; |
| input_fa.sChange = L"Hamster"; |
| GetCFFLFormField()->SetActionData(GetPageView(), CPDF_AAction::kKeyStroke, |
| input_fa); |
| |
| CFFL_FieldAction output_fa; |
| GetCFFLFormField()->GetActionData(GetPageView(), CPDF_AAction::kKeyStroke, |
| output_fa); |
| EXPECT_EQ(L"BaHamsterna", output_fa.sValue); |
| } |