Commit graph

70 commits

Author SHA1 Message Date
Eberhard Beilharz
cdee19e953
chore(linux): Add integration tests for ibus-keyman
This change adds integration/regression tests for ibus-keyman. It
re-uses the unit tests that we have for core.

Also modifies one test so that the context doesn't use characters
used in the keyboard. This makes it easier to setup in ibus-keyman
tests.
2021-11-04 09:22:28 +01:00
Eberhard Beilharz
b77cf9fa83 chore(common/core): Fix build paths on Windows
While adding nested subdirs to `meson.build` works it still adds the
directory with the wrong path separator on Windows. This suddenly
caused problems when building.
2021-11-03 15:44:23 +01:00
Eberhard Beilharz
509612a791 chore(common/core): fix build on Windows 2021-11-03 12:11:54 +01:00
Eberhard Beilharz
cde47f297d
chore(common/core): Compile test keyboards to .kmp
This change adds package templates to the test folder and compiles
a keyboard package for each of the test keyboards. These
packages are useful for manual testing in addition to the automated
tests.
2021-11-02 19:37:45 +01:00
Eberhard Beilharz
487455c865
chore(common/core): refactor kmx unit tests
Extract common code to separate file.
2021-10-29 17:50:56 +02:00
Eberhard Beilharz
614ba114ef chore(common): Work with older meson versions
The copy keyword inside of configure_file got added in meson 0.47.
However, we still support Bionic which comes with meson 0.45. This
change adds a workaround.
2021-10-28 15:06:40 +02:00
Eberhard Beilharz
4c5824fc6a
chore(common/core): generate kmp.json
This change generates kmp.json based on the test files specified in
meson.build. It will also generate .kmx files in the build directory
and copies the .kmn files to it as well.
2021-10-28 10:47:01 +02:00
rc-swag
3666a8b7f8
Merge pull request #5712 from SabineSIL/mxstr
fix(common/core): incxstr checks all character while incrementing
2021-10-11 16:30:37 +10:00
Sabine
c854aac91d fix(common/core) some layout+text changes done, all characters (exept surrogates) in 4 digits 2021-10-07 18:12:30 +02:00
Sabine
9671197dd0 fix(common/core) CODE__SIZE changed + more tests included 2021-10-06 15:32:10 +02:00
Sabine
660359e892 fix(common/core) second version with array, kmx restored plus changes requested 2021-09-30 15:47:53 +02:00
Sabine
1d7091b025 fix(common/core):Changes with Marcs Proposals (included Array) 2021-09-28 11:09:09 +02:00
Sabine
6aefca1fa4 delete kmx 2021-09-23 15:44:10 +02:00
Sabine
7859535c44 after some conflicts were solved 2021-09-21 22:12:31 +02:00
Sabine
caf33cb215 new commit deltaptr changed to array 2021-09-21 21:28:50 +02:00
SabineSIL
390169b868
Update meson.build 2021-09-21 14:05:53 +02:00
rc-swag
4cc9525d2b
Merge pull request #5669 from keymanapp/fix/common/core/list-size-endless-loop
fix(common/core): insure list pntr is incremented
2021-09-21 09:01:27 +10:00
SabineSIL
04f6a93288
Update common/core/desktop/tests/unit/kmnkbd/test_kmx_xstring.cpp
Co-authored-by: Marc Durdin <marc@durdin.net>
2021-09-20 10:52:03 +02:00
SabineSIL
1fb93061dd
Update common/core/desktop/tests/unit/kmnkbd/test_kmx_xstring.cpp
Co-authored-by: Marc Durdin <marc@durdin.net>
2021-09-20 10:49:03 +02:00
SabineSIL
c3f89bd868
Update common/core/desktop/tests/unit/kmnkbd/test_kmx_xstring.cpp
Co-authored-by: Marc Durdin <marc@durdin.net>
2021-09-20 10:47:44 +02:00
SabineSIL
2f0f7c000f
Update common/core/desktop/tests/unit/kmnkbd/test_kmx_xstring.cpp
Co-authored-by: Marc Durdin <marc@durdin.net>
2021-09-20 10:47:13 +02:00
SabineSIL
f02f4f8536
Update common/core/desktop/tests/unit/kmnkbd/test_kmx_xstring.cpp
Co-authored-by: Marc Durdin <marc@durdin.net>
2021-09-20 10:46:06 +02:00
SabineSIL
e92a2bf557
Update common/core/desktop/tests/unit/kmnkbd/test_kmx_xstring.cpp
Co-authored-by: Marc Durdin <marc@durdin.net>
2021-09-20 10:42:12 +02:00
SabineSIL
9d28ebf433
Update common/core/desktop/tests/unit/kmnkbd/test_kmx_xstring.cpp
Co-authored-by: Marc Durdin <marc@durdin.net>
2021-09-20 10:31:49 +02:00
Sabine
f40075ba90 test_kmx changed 2021-09-17 06:15:20 +02:00
Sabine
a75076d84c .. 2021-09-16 21:23:02 +02:00
Sabine
3b5e573319 bla bla # Please enter the commit message for your changes. Lines
starting
2021-09-16 08:11:25 +02:00
Marc Durdin
1e8d14ea72 chore(common/core/desktop): remove unused variable 2021-09-15 15:42:13 +10:00
Marc Durdin
cec8d11759 feat(developer): track changes to option values better in debugger
Fixes #5695.

When the debugger is in single-step mode, reflects the value of option
stores at the time of the change rather than at the beginning of the
batch.
2021-09-15 15:29:44 +10:00
Ross
e7293a58ab fix(common/core): remove unused vars in options test 2021-09-06 13:16:12 +10:00
Ross
42c13856f8 fix(common/core): add unit test for km_kbp_options_list_size 2021-09-06 09:47:30 +10:00
Eberhard Beilharz
b51d0e0b00
fix(linux): Address code review comments 2021-08-19 12:15:42 +02:00
Eberhard Beilharz
f0c3280517
fix(linux): Fix lost context after pressing K_SHIFT
This fixes typing `n>` with sil_ipa keyboard which no longer output
the expected `ŋ` because pressing the shift key reset the context.

For modifier key presses we now exit `KMX_ProcessEvent::ProcessEvent`
early.

This change also removes a redundant line from engine.c. Clearing
the context happens in `reset_context()` again if necessary.

Fixes #5591.
2021-08-18 19:26:45 +02:00
Eberhard Beilharz
c9497fd494
feat(common/core): Implement shiftFreesCaps and capsOnOnly 2021-08-06 16:13:58 +02:00
Marc Durdin
d76eca052e fix(common/core/desktop): split smp for context chars
Fixes #5465.
Fixes #5561.

If a non-BMP Unicode char was emitted into the internal context, it was
being truncated to a WORD, which caused data loss for multi-group
keyboards.

Includes an update to a unit test to validate this fix.
2021-08-06 12:28:15 +10:00
Eberhard Beilharz
0a28af6c83
chore(common/core): Allow shell script for kmcomp
This change allows to build the keyboards on Linux if a `kmcomp`
script can be found in PATH. Otherwise we check for and use `wine`
and `kmcomp.exe`.
2021-08-04 12:25:02 +02:00
Marc Durdin
3b4dfec809 chore(common/core): unit test fixes
Per review comments.
2021-07-28 10:02:39 +10:00
Marc Durdin
60b1cc7545 chore: fixup damaged merge 2021-07-27 08:32:02 +10:00
Marc Durdin
5a94012f01
Merge branch 'chore/common/core/debug-additional-tests' into chore/common/core/5488-delete-markers-reliably 2021-07-27 08:23:24 +10:00
Marc Durdin
1292b407bc
Merge branch 'master' into chore/common/core/debug-additional-tests 2021-07-27 08:17:53 +10:00
Marc Durdin
75ce10510a chore(common/core): address review comments
Also introduce a specific enum for backspace type rather than
inappropriately using the action item type enum.
2021-07-27 07:08:30 +10:00
Marc Durdin
91cde81d35 chore(common/core): extra test for context consistency 2021-07-26 15:29:16 +10:00
Marc Durdin
796a2d4c85 chore(common/core): handle deletion of markers in actions
Fixes #5488.

This updates Keyman Core, corresponding tests, and Keyman Engine for
Linux to support deletion of markers through an action, ensuring that
the action queue does not desynchronize with the context.
2021-07-26 15:23:20 +10:00
Eberhard Beilharz
0eca43d4ea
feat(common/core): Implement capsAlwaysOff system store
This change implements the core part in a way that makes the tests
pass. This still needs corresponding changes in the engine.
2021-07-23 10:25:28 +02:00
Eberhard Beilharz
a16b320c17
chore(common/core/desktop): Update readme 2021-07-23 10:16:14 +02:00
Marc Durdin
a8acee1770
chore: Apply suggestions from code review
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2021-07-23 07:18:17 +10:00
Marc Durdin
507c5a4e78 chore(common/core): additional debug tests
Adds some tests for Keyman Core for debugging, verifying contents of
the action list after every keystroke in the test.

Also refactors some of the test helper files to make it easier to
diagnose failing tests and share helper functions.
2021-07-22 20:05:01 +10:00
Marc Durdin
4560ae4f69 feat(common/core): add action_index to all debug events 2021-07-22 16:33:31 +10:00
Marc Durdin
4fbfd33943 feat(common/core): debug action index
Adds an action_index to each debug event (not all debug events
need it). This allows the debugger to partially execute a rule
including the possibility of multiple updates to context.
2021-07-20 14:07:33 +10:00
Marc Durdin
05971a21cf chore(common): Merge branch 'master' into feat/common/core/desktop/kmx_debugger_events 2021-07-19 04:24:35 +10:00