diff --git a/frameworks/core/event/key_event.h b/frameworks/core/event/key_event.h index 8dac40010f61976e87ae1692cb8eb5a37a0c4b61..145ad1e84d4bf23f409d3b43650e7e1efdd06f53 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 b1934cc831f82dbfba0b692543ab0ea199c38ef3..a84c8d017582c9af81cde6ae16c054f7e9d74804 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