spiegel-keyman/common/test/keyboards/baseline
rc-swag 2f737981f7 fix(core): add expected_context to keyboard unit tests
The unit tests needed to be updated to handle the cases
where the context is invalidated by a keystroke. However, they
still need to be able to verify the final string the application
should recieve. To do this a expected context token has been added
to the unit test format.
2023-12-15 11:20:08 +10:00
..
baseline.kpj
k_000___null_keyboard.kmn fix(core): add expected_context to keyboard unit tests 2023-12-15 11:20:08 +10:00
k_000___null_keyboard.kmx fix(core): add expected_context to keyboard unit tests 2023-12-15 11:20:08 +10:00
k_001___basic_input_unicodei.kmn
k_001___basic_input_unicodei.kmx
k_002___basic_input_unicode.kmn
k_002___basic_input_unicode.kmx
k_003___nul.kmn
k_003___nul.kmx
k_004___basic_input__shift_2_.kmn
k_004___basic_input__shift_2_.kmx
k_005___nul_with_initial_context.kmn
k_005___nul_with_initial_context.kmx
k_006___vkey_input__shift_ctrl_.kmn
k_006___vkey_input__shift_ctrl_.kmx
k_007___vkey_input__ctrl_alt_.kmn
k_007___vkey_input__ctrl_alt_.kmx
k_008___vkey_input__ctrl_alt_2_.kmn fix(core): add expected_context to keyboard unit tests 2023-12-15 11:20:08 +10:00
k_008___vkey_input__ctrl_alt_2_.kmx fix(core): add expected_context to keyboard unit tests 2023-12-15 11:20:08 +10:00
k_012___ralt.kmn
k_012___ralt.kmx
k_013___deadkeys.kmn
k_013___deadkeys.kmx
k_014___groups_and_virtual_keys.kmn
k_014___groups_and_virtual_keys.kmx
k_015___ralt_2.kmn
k_015___ralt_2.kmx
k_017___space_mnemonic_kbd.kmn
k_017___space_mnemonic_kbd.kmx
k_018___nul_testing.kmn
k_018___nul_testing.kmx
k_019___multiple_deadkeys.kmn
k_019___multiple_deadkeys.kmx
k_020___deadkeys_and_backspace.kmn
k_020___deadkeys_and_backspace.kmx
k_021___options.kmn
k_021___options.kmx
k_022___options_with_preset.kmn
k_022___options_with_preset.kmx
k_023___options_with_save.kmn
k_023___options_with_save.kmx
k_024___options_with_save_and_preset.kmn
k_024___options_with_save_and_preset.kmx
k_025___options_with_reset.kmn
k_025___options_with_reset.kmx
k_026___system_stores.kmn
k_026___system_stores.kmx
k_027___system_stores_2.kmn
k_027___system_stores_2.kmx
k_028___smp.kmn
k_028___smp.kmx
k_029___beep.kmn
k_029___beep.kmx
k_030___multiple_groups.kmn
k_030___multiple_groups.kmx
k_031___caps_lock.kmn
k_031___caps_lock.kmx
k_032___caps_control.kmn
k_032___caps_control.kmx
k_033___caps_always_off.kmn
k_033___caps_always_off.kmx
k_034___options_double_set_reset.kmn
k_034___options_double_set_reset.kmx
k_035___options_double_set_staged.kmn
k_035___options_double_set_staged.kmx
k_036___options___double_reset_staged.kmn
k_036___options___double_reset_staged.kmx
k_037___options___double_reset.kmn
k_037___options___double_reset.kmx
k_038___punctkeys.kmn
k_038___punctkeys.kmx
k_039___generic_ctrlalt.kmn
k_039___generic_ctrlalt.kmx
k_040___long_context.kmn
k_040___long_context.kmx
k_041___long_context_and_deadkeys.kmn
k_041___long_context_and_deadkeys.kmx
k_042___long_context_and_split_deadkeys.kmn
k_042___long_context_and_split_deadkeys.kmx
k_043___output_and_keystroke.kmn
k_043___output_and_keystroke.kmx
k_044___if_and_context.kmn
k_044___if_and_context.kmx
k_045___deadkey_and_context.kmn
k_045___deadkey_and_context.kmx
k_046___deadkey_and_contextex.kmn
k_046___deadkey_and_contextex.kmx
k_047___caps_always_off_initially_on.kmn
k_047___caps_always_off_initially_on.kmx
k_048___modifier_keys_keep_context.kmn
k_048___modifier_keys_keep_context.kmx
k_049___enter_invalidates_context.kmn fix(core): add expected_context to keyboard unit tests 2023-12-15 11:20:08 +10:00
k_049___enter_invalidates_context.kmx fix(core): add expected_context to keyboard unit tests 2023-12-15 11:20:08 +10:00
README.md

Keyboard baseline fixtures

This folder contains a set of keyboards that are used by multiple projects to verify behaviour, both for compilation, and for runtime tests.

The following projects are known to use these keyboards:

  • core -- .kmn files only, compiled with kmc during tests
  • developer/kmcmplib -- .kmn files, compiled for tests, and .kmx as reference
  • linux -- .kmn files for test steps only, .kmx files

The .kmx files were built with kmcomp, not kmc, in order to ensure that developer/kmcmplib gets a valid baseline reference.

Once kmc is stable, it is possible that we will be able to use the kmc npm module to build .kmx for all projects that need them.

Build parameters

Keyboards were built with debug information and no compiler version embedded, with kmcomp 16.0.138:

for %d in (*.kmn) do kmcomp -no-compiler-version -d %d