From 8d9ec89a3d4c9a2f1ed2aabea45961bdb7b108e3 Mon Sep 17 00:00:00 2001 From: "Dr Mark C. Sinclair" Date: Thu, 10 Oct 2024 12:36:45 +0100 Subject: [PATCH] chore(developer): add test cases for chiral modifiers version bump --- .../kmcmplib/tests/gtest-compiler-test.cpp | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/developer/src/kmcmplib/tests/gtest-compiler-test.cpp b/developer/src/kmcmplib/tests/gtest-compiler-test.cpp index c5a2cd131e0..3c5fdb6eba4 100644 --- a/developer/src/kmcmplib/tests/gtest-compiler-test.cpp +++ b/developer/src/kmcmplib/tests/gtest-compiler-test.cpp @@ -1760,6 +1760,36 @@ TEST_F(CompilerTest, GetXStringImpl_type_osb_test) { EXPECT_EQ(0, u16cmp(tstr_virtual_key_valid, tstr)); EXPECT_EQ(KmnCompilerMessages::WARN_MixingLeftAndRightModifiers, msgproc_errors.back().errorCode); } + msgproc_errors.clear(); + + // virtual key, in VKeyNames, with modifiers, chiral modifiers version bump + std::map m_chiral{ + // str sFlag + {u"[LCTRL K_A]", ISVIRTUALKEY | LCTRLFLAG }, + {u"[LALT K_A]", ISVIRTUALKEY | LALTFLAG }, + {u"[RCTRL K_A]", ISVIRTUALKEY | RCTRLFLAG }, + {u"[RALT K_A]", ISVIRTUALKEY | RALTFLAG }, + {u"[CAPS K_A]", ISVIRTUALKEY | CAPITALFLAG }, + {u"[NCAPS K_A]", ISVIRTUALKEY | NOTCAPITALFLAG }, + }; + + std::cerr << "start debug" << std::endl; + + kmcmp::CompileTarget = CKF_KEYMANWEB; + fileKeyboard.dwFlags = KF_AUTOMATICVERSION; + for (auto i = m_chiral.begin(); i != m_chiral.end(); i++) { + fileKeyboard.version = VERSION_90; + u16cpy(str, i->first); + EXPECT_EQ(STATUS_Success, GetXStringImpl(tstr, &fileKeyboard, str, u"", output, 80, 0, &newp, FALSE)); + tstr_virtual_key_valid[2] = i->second; + EXPECT_EQ(0, u16cmp(tstr_virtual_key_valid, tstr)); + EXPECT_EQ(VERSION_100, fileKeyboard.version); + EXPECT_EQ(0, msgproc_errors.size()); + } + kmcmp::CompileTarget = CKF_KEYMAN; + fileKeyboard.dwFlags = 0; + + std::cerr << "end debug" << std::endl; } // KMX_DWORD process_baselayout(PFILE_KEYBOARD fk, PKMX_WCHAR q, PKMX_WCHAR tstr, int *mx)