diff --git a/common/engine/keyboardprocessor/tests/unit/kmx/041 - long context and deadkeys.kmn b/common/engine/keyboardprocessor/tests/unit/kmx/041 - long context and deadkeys.kmn index dac5333238..c899b7063c 100644 --- a/common/engine/keyboardprocessor/tests/unit/kmx/041 - long context and deadkeys.kmn +++ b/common/engine/keyboardprocessor/tests/unit/kmx/041 - long context and deadkeys.kmn @@ -12,12 +12,14 @@ group(Main) using keys c Test 1 dk(1) 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefgh' + '1' > context '1' -c Test 2 +c Test 2: Test that we haven't split a deadkey code: UC_SENTINEL CODE_DEADKEY +c because: CODE_DEADKEY = U+0008; deadkey_number = U+0001 U+0008 U+0001 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefgh1' + '2' > 'FAIL TEST 2' U+0001 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefgh1' + '2' > 'FAIL TEST 2' 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefgh1' + '2' > context '2' -c Test 3 +c Test 3: Test that we haven't split a deadkey code: UC_SENTINEL CODE_DEADKEY +c because: CODE_DEADKEY = U+0008; deadkey_number = U+0001 U+0008 U+0001 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefgh12' + '3' > 'FAIL TEST 3' U+0001 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefgh12' + '3' > 'FAIL TEST 3' 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefgh12' + '3' > context '3' diff --git a/common/engine/keyboardprocessor/tests/unit/kmx/042 - long context and split deadkeys.kmn b/common/engine/keyboardprocessor/tests/unit/kmx/042 - long context and split deadkeys.kmn index 57a170f4de..8f840146d2 100644 --- a/common/engine/keyboardprocessor/tests/unit/kmx/042 - long context and split deadkeys.kmn +++ b/common/engine/keyboardprocessor/tests/unit/kmx/042 - long context and split deadkeys.kmn @@ -9,4 +9,6 @@ begin Unicode > use(Main) group(Main) using keys +c Test 1: Test that we haven't split a deadkey code: UC_SENTINEL CODE_DEADKEY +c Here, looking at last char only: deadkey_number = U+0001 U+0001 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefgh' + ' ' > 'FAIL' diff --git a/common/engine/keyboardprocessor/tests/unit/kmx/kmx.cpp b/common/engine/keyboardprocessor/tests/unit/kmx/kmx.cpp index b706b3a59c..bb7c255732 100644 --- a/common/engine/keyboardprocessor/tests/unit/kmx/kmx.cpp +++ b/common/engine/keyboardprocessor/tests/unit/kmx/kmx.cpp @@ -362,8 +362,8 @@ std::u16string parse_source_string(std::string const & s) { size_t n; std::string s1 = s.substr(p - s.begin(), 8); v = std::stoul(s1, &n, 16); - // Allow deadkey characters onward - assert(v >= CODE_ANY && v <= 0x10FFFF); + // Allow deadkey_number (U+0001) characters and onward + assert(v >= 0x0001 && v <= 0x10FFFF); p += n-1; if (v < 0x10000) { t += km_kbp_cp(v);