spiegel-keyman/core/tests/unit/ldml/keyboards
Marc Durdin 57f0dc4597 fix(developer): validate id and modifiers attributes in Layr compiler
Per the spec, the `id` attribute is required for touch layers, and
`modifiers` attribute is required for hardware layers. There is
ambiguity in the spec at present as to whether they should be allowed
for the alternative type.

* Validate that the attributes are present where required.
* Tighten validation of `modifiers` attribute - it cannot be empty or
  missing for hardware; "" != "none".
* Hint if the attribute is present when it probably shouldn't be (to be
  potentially raised to warning or error after spec clarified).
* Fixup all keyboard3 xml files to conform to spec and eliminate hints.
* Add unit tests.
* Removed threshold warning for coverage as kmc-ldml is already > 90%.

Fixes: #12423
2026-08-28 13:21:12 +02:00
..
k_000_minimal_keyboard.xml fix(developer): validate id and modifiers attributes in Layr compiler 2026-08-28 13:21:12 +02: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 fix(developer): validate id and modifiers attributes in Layr compiler 2026-08-28 13:21:12 +02:00
k_002_tinyu32.xml fix(developer): validate id and modifiers attributes in Layr compiler 2026-08-28 13:21:12 +02:00
k_003_transform.xml fix(developer): validate id and modifiers attributes in Layr compiler 2026-08-28 13:21:12 +02:00
k_004_tinyshift.xml fix(developer): validate id and modifiers attributes in Layr compiler 2026-08-28 13:21:12 +02:00
k_005_modbittest.xml fix(developer): validate id and modifiers attributes in Layr compiler 2026-08-28 13:21:12 +02: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 fix(developer): validate id and modifiers attributes in Layr compiler 2026-08-28 13:21:12 +02: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(developer): validate id and modifiers attributes in Layr compiler 2026-08-28 13:21:12 +02: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 fix(developer): validate id and modifiers attributes in Layr compiler 2026-08-28 13:21:12 +02: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 fix(developer): validate id and modifiers attributes in Layr compiler 2026-08-28 13:21:12 +02: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(developer): validate id and modifiers attributes in Layr compiler 2026-08-28 13:21:12 +02: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 fix(developer): validate id and modifiers attributes in Layr compiler 2026-08-28 13:21:12 +02:00
k_101_keytest.xml fix(developer): validate id and modifiers attributes in Layr compiler 2026-08-28 13:21:12 +02:00
k_102_keytest.xml fix(developer): validate id and modifiers attributes in Layr compiler 2026-08-28 13:21:12 +02: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 fix(developer): validate id and modifiers attributes in Layr compiler 2026-08-28 13:21:12 +02: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 fix(developer): validate id and modifiers attributes in Layr compiler 2026-08-28 13:21:12 +02: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(developer): validate id and modifiers attributes in Layr compiler 2026-08-28 13:21:12 +02: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 fix(developer): validate id and modifiers attributes in Layr compiler 2026-08-28 13:21:12 +02: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(developer): validate id and modifiers attributes in Layr compiler 2026-08-28 13:21:12 +02: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 test(core): add LDML baseline test with minimal keyboard 2026-02-20 12:09:08 +01:00