From 2e4c97e0ca7df06f752d666c063aecb7c2e573aa Mon Sep 17 00:00:00 2001 From: wangtao Date: Wed, 11 Jun 2025 19:08:52 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=BE=93=E5=85=A5=E6=A1=86?= =?UTF-8?q?=E9=95=BF=E6=8C=89Shift=E4=BC=9A=E6=8F=92=E5=85=A5=E5=B0=8F?= =?UTF-8?q?=E5=86=99=E5=AD=97=E6=AF=8D=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wangtao Change-Id: I2a2ddaef2cd6930e21c8c6ace19dd8d608e35518 --- frameworks/core/event/key_event.h | 2 +- .../text_input/text_field_pattern_testeight.cpp | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/frameworks/core/event/key_event.h b/frameworks/core/event/key_event.h index 8dac40010f6..145ad1e84d4 100644 --- a/frameworks/core/event/key_event.h +++ b/frameworks/core/event/key_event.h @@ -533,7 +533,7 @@ struct KeyEvent final : public NonPointerEvent { } bool IsShiftWith(KeyCode expectCodes) const { - return IsKey({ KeyCode::KEY_SHIFT_LEFT, expectCodes }) || IsKey({ KeyCode::KEY_SHIFT_RIGHT, expectCodes }); + return (HasKey(KeyCode::KEY_SHIFT_LEFT) || HasKey(KeyCode::KEY_SHIFT_RIGHT)) && HasKey(expectCodes); } bool IsExactlyShiftWith(KeyCode expectCodes) const { diff --git a/test/unittest/core/pattern/text_input/text_field_pattern_testeight.cpp b/test/unittest/core/pattern/text_input/text_field_pattern_testeight.cpp index b1934cc831f..a84c8d01758 100644 --- a/test/unittest/core/pattern/text_input/text_field_pattern_testeight.cpp +++ b/test/unittest/core/pattern/text_input/text_field_pattern_testeight.cpp @@ -1869,4 +1869,21 @@ HWTEST_F(TextFieldPatternTestEight, ScrollToSafeArea001, TestSize.Level0) pattern_->ScrollToSafeArea(); EXPECT_TRUE(pipeline->UsingCaretAvoidMode()); } + +/** + * @tc.name: TextFieldPattern Handle keyEvent. + * @tc.desc: test ConvertCodeToString + * @tc.type: FUNC + */ +HWTEST_F(TextFieldPatternTestEight, ConvertCodeToString, TestSize.Level0) +{ + KeyEvent event; + event.code = KeyCode::KEY_A; + event.pressedCodes = { KeyCode::KEY_SHIFT_LEFT, KeyCode::KEY_A }; + EXPECT_EQ(event.ConvertCodeToString(), "A"); + event.pressedCodes = { KeyCode::KEY_SHIFT_RIGHT, KeyCode::KEY_A }; + EXPECT_EQ(event.ConvertCodeToString(), "A"); + event.enableCapsLock = true; + EXPECT_EQ(event.ConvertCodeToString(), "a"); +} } // namespace OHOS::Ace::NG, \ No newline at end of file -- Gitee