spiegel-keyman/core/tests/unit/ldml/keyboards
Marc Durdin f7cd0c41ba fix(core): handle backspace decomposition
Ensure that when a single backspace decomposes the last NFC character in
the app context, the remainder of the 'cluster' is preserved, matching
the implication of the CLDR keyboard specification.

This addresses the behavior in #15487 where the cached context became
out of sync with the app context after deleting an entire NFC cluster
such as ê, which caused a loop ending up with the entire context being
deleted, at which point the loop exited with a fail-safe.

Note that the LDML keyboard tests (ldml.cpp) do not currently exercise
the normalization code; this is a gap that should be addressed to ensure
that we are testing final application behavior.

Fixes: #15487
2026-01-25 07:24:15 +11:00
..
k_000_null_keyboard.xml chore(resources): code changes for keyboard to keyboard3 🙀 2023-09-18 19:00:32 -05:00
k_001_tiny-test.xml chore(resources, developer,core): CLDR 46 and workaround 2025-01-30 15:41:34 -06:00
k_001_tiny.xml chore(core): ldml update out of techpreview 🙀 2024-03-02 22:40:39 -06:00
k_002_tinyu32.xml chore(core): ldml update out of techpreview 🙀 2024-03-02 22:40:39 -06:00
k_003_transform.xml chore(core): ldml update out of techpreview 🙀 2024-03-02 22:40:39 -06:00
k_004_tinyshift.xml fix(core): update get_key_list to account for other combinatorics 2024-12-06 12:24:53 -06:00
k_005_modbittest.xml chore(core): ldml update out of techpreview 🙀 2024-03-02 22:40:39 -06:00
k_006_backspace-test.xml chore(resources, developer,core): CLDR 46 and workaround 2025-01-30 15:41:34 -06:00
k_006_backspace.xml chore(core): ldml update out of techpreview 🙀 2024-03-02 22:40:39 -06:00
k_007_transform_rgx-test.xml chore(resources, developer,core): CLDR 46 and workaround 2025-01-30 15:41:34 -06:00
k_007_transform_rgx.xml fix(common): further improvement to string/set substitution 2024-03-25 14:52:32 -05:00
k_008_transform_norm-test.xml chore(resources, developer,core): CLDR 46 and workaround 2025-01-30 15:41:34 -06:00
k_008_transform_norm.xml chore(core): ldml update out of techpreview 🙀 2024-03-02 22:40:39 -06:00
k_009_transform_nfc-test.xml chore(resources, developer,core): CLDR 46 and workaround 2025-01-30 15:41:34 -06:00
k_009_transform_nfc.xml chore(core): ldml update out of techpreview 🙀 2024-03-02 22:40:39 -06:00
k_010_mt.xml chore(core): ldml update out of techpreview 🙀 2024-03-02 22:40:39 -06:00
k_011_mt_iso.xml chore(core): ldml update out of techpreview 🙀 2024-03-02 22:40:39 -06:00
k_012_other.xml fix(common,core): support other lookup for modifiers 2024-04-01 23:21:33 -05:00
k_020_fr-test.xml chore(resources, developer,core): CLDR 46 and workaround 2025-01-30 15:41:34 -06:00
k_020_fr.xml chore(core): ldml update out of techpreview 🙀 2024-03-02 22:40:39 -06:00
k_030_transform_plus.xml fix(developer): escape plus and asterisk sign 2024-04-19 16:37:16 -05:00
k_100_keytest.xml chore(core): ldml update out of techpreview 🙀 2024-03-02 22:40:39 -06:00
k_101_keytest.xml chore(core): ldml update out of techpreview 🙀 2024-03-02 22:40:39 -06:00
k_102_keytest.xml fix(core): update ldml test source to handle reset 2024-04-05 13:22:47 -05:00
k_200_reorder_nod_Lana-test.xml chore(resources, developer,core): CLDR 46 and workaround 2025-01-30 15:41:34 -06:00
k_200_reorder_nod_Lana.xml chore(core): ldml update out of techpreview 🙀 2024-03-02 22:40:39 -06:00
k_201_reorder_esk-test.xml chore(resources, developer,core): CLDR 46 and workaround 2025-01-30 15:41:34 -06:00
k_201_reorder_esk.xml chore(core): ldml update out of techpreview 🙀 2024-03-02 22:40:39 -06:00
k_210_marker-test.xml chore(resources, developer,core): CLDR 46 and workaround 2025-01-30 15:41:34 -06:00
k_210_marker.xml fix(core): ldml fix for multiple marker deletion 2024-04-25 16:59:20 -05:00
k_211_marker_escape-test.xml chore(resources, developer,core): CLDR 46 and workaround 2025-01-30 15:41:34 -06:00
k_211_marker_escape.xml chore(core): ldml update out of techpreview 🙀 2024-03-02 22:40:39 -06:00
k_212_marker_11057-test.xml chore(resources, developer,core): CLDR 46 and workaround 2025-01-30 15:41:34 -06:00
k_212_marker_11057.xml fix(core): fix 2 marker cases in ldml_event_state::emit_difference 🙀 2024-03-25 16:45:01 -05:00
k_213_backspace_decomposition.xml fix(core): handle backspace decomposition 2026-01-25 07:24:15 +11:00
keyboards.kpj.in maint(core): batch build kmx in tests for performance 2025-04-30 06:02:59 +07:00
ldml_test-test.xml chore(resources, developer,core): CLDR 46 and workaround 2025-01-30 15:41:34 -06:00
ldml_test.xml fix(developer): escape plus and asterisk sign 2024-04-19 16:37:16 -05:00
meson.build fix(core): handle backspace decomposition 2026-01-25 07:24:15 +11:00