Commit graph

27982 commits

Author SHA1 Message Date
Marc Durdin
2c4e3e109a feat(developer): add compiler hint for non-minimal loca
If a loca entry is either formatted wrongly (e.g. wrong case), or is
not minimal, then the compiler will now report a hint.
2022-09-04 12:21:15 +10:00
Marc Durdin
878287ef46 chore(developer): reorder functions for clarity 2022-09-04 06:20:07 +10:00
Marc Durdin
0222ed308a chore: remove extra files 2022-09-04 06:14:53 +10:00
Marc Durdin
ea6bd8f09f chore(core): order sections according to binary format
Just reorders all work around the various sections to match the binary
format order -- that is, 'sect' first, then all other sections
alphabetically.

This also means the compiler now emits the sections in the expected
order.

No other changes to functionality.
2022-09-04 06:10:34 +10:00
Marc Durdin
b17805df3a feat(core): add 'name' section
Updates compiler, headers and documentation for the 'name' section,
which will always be present as the LDML keyboard spec requires at least
one name in the `<names>` element.
2022-09-04 05:45:43 +10:00
Keyman Server
6cd79e0c81
Merge pull request #7195 from keymanapp/auto/version-master-16.0.56
auto: increment master version to 16.0.56
2022-09-04 04:02:33 +10:00
Keyman Build Agent
830ccf2438 auto: increment master version to 16.0.56 2022-09-03 14:01:55 -04:00
Darcy Wong
e9e4467109
Merge pull request #7178 from keymanapp/chore/android/reduce-toast-notifications
chore(android): Reduce Toast notification noise
2022-09-03 08:22:28 +07:00
Marc Durdin
ab999ea0ba chore(common): cleanup basic.txt a bit more
Also uses `index()` to get count of strings automatically.

Reformat basic.txt to make it more readable as it will get less
'basic' over time!
2022-09-03 06:36:41 +10:00
Marc Durdin
738401cdb5 feat(common): hextobin index command
Adds an `index` command as suggested by #7186.

> Future enhancement suggestion: include ... index() for block indices
> within these repeated blocks. Would be very useful for string tables
> in the example ref.
2022-09-03 06:28:22 +10:00
Marc Durdin
a274a44979 chore(core): wrap text on C7043_ldml.md 2022-09-03 06:12:36 +10:00
Marc Durdin
aef38f12df chore(core): define zero length string vs null string for kmxplus 2022-09-03 06:11:24 +10:00
Eberhard Beilharz
9d1004b9ec
chore(linux): Fix ibus-keyman.postinst script
When installing ibus-keyman it could happen that we got an (ignored)
error "user name does not exist". This change tries to work around
this problem.
2022-09-02 18:05:52 +02:00
Joshua A. Horton
6f887f6974 feat(web): a few more segment-construction tests 2022-09-02 14:54:25 +07:00
Joshua A. Horton
2a3c36e0a9 feat(web): segment constructor unit tests 2022-09-02 14:23:58 +07:00
Marc Durdin
75139ed919 fix(developer): compiler mismatch on currentLine
Fixes #7122.

The compiler was updating currentLine when checking for unreachable
rules, but not restoring it afterwards. This led to mismatches in the
debugger and in compiler warnings.
2022-09-02 17:15:27 +10:00
Marc Durdin
bc2bcef96f
chore: Update common/tools/hextobin/package.json 2022-09-02 15:06:02 +10:00
Marc Durdin
702db90a71 feat(core): add version field to meta
Also adds semver package for validating the version field.
2022-09-02 14:13:10 +10:00
Marc Durdin
d141274aed chore(core): update hextobin files with new format 2022-09-02 14:06:26 +10:00
Darcy Wong
b81f3795d0 chore(android/engine): Apply suggestion for refactor 2022-09-02 11:00:03 +07:00
Joshua A. Horton
0a65e36f19 change(web): test suite naming 2022-09-02 10:37:51 +07:00
Darcy Wong
d57d77670c
Update android/KMEA/app/src/main/java/com/tavultesoft/kmea/data/CloudRepository.java
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-09-02 09:30:01 +07:00
Joshua A. Horton
3ce59b23e6 feat(web): path-stats unit tests 2022-09-02 09:25:09 +07:00
Marc Durdin
17371c3801 feat(common): add size and offset calculators to hextobin
This makes it easier to write a binary file which contains offsets and
size values. Using this for unit tests for the LDML keyboard compiler.

Example kmldmlc basic.txt is updated and included.

Future enhancement suggestion: include count() for repeated blocks and
index() for block indices within these repeated blocks. Would be very
useful for string tables in the example ref.
2022-09-02 11:37:59 +10:00
Joshua A. Horton
4549f46769 feat(web): enhances a couple of recording-based seg tests 2022-09-02 08:18:07 +07:00
Marc Durdin
918d261f99 feat(developer): add conformsTo validity unit test
This is reasonably random, but wanted to add another test for content
rather than structure, just to verify that the DTD-XSD-jsonschema
translation is doing the right thing according to what we expect.

Looking good.
2022-09-02 08:01:48 +10:00
Joshua A. Horton
7dcc8e4509 feat(web): trackedPath-integration recording-based test 2022-09-01 15:28:52 +07:00
Joshua A. Horton
5c93f516f0 feat(web): more recording-based seg tests 2022-09-01 15:19:22 +07:00
Joshua A. Horton
038f57cefd fix(web): missed nit from prior commit 2022-09-01 14:47:17 +07:00
Joshua A. Horton
7de4f5c4d2 feat(web): prep types for recording-based segment unit tests 2022-09-01 14:43:40 +07:00
Marc Durdin
25b2d255aa feat(developer): use json schema to verify source file
As we do not appear to have access to a good DTD validation library in
Node.js, we will instead convert the DTD to a JSON schema file and use
that for validation.

I have not verified every aspect of the JSON schema at this point, but
will incrementally do so as I implement further aspects of the compiler.

This updates all the testing to use the schema. As the schema validation
is slow, I have increased the 'normal' time for tests.
2022-09-01 16:56:50 +10:00
Joshua A. Horton
ba568bef40 feat(web): first segmentation test based on test-recording 2022-09-01 13:36:58 +07:00
Joshua A. Horton
c2dcffc043 fix(web): clear of pending subsegment should refresh segment stats 2022-09-01 13:36:56 +07:00
Joshua A. Horton
2e970140ee refactor(web): mini-module resource for timedPromise 2022-09-01 13:36:55 +07:00
Joshua A. Horton
128b8ed132 chore(web): relocates test sequence recordings used for receiver testing 2022-09-01 13:36:54 +07:00
Joshua A. Horton
44de7f13e5 feat(web): some polish, idealized 'move' segment unit test 2022-09-01 13:36:53 +07:00
Joshua A. Horton
39009c77f6 feat(web): second-long 'hold' segment tests 2022-09-01 13:36:52 +07:00
Joshua A. Horton
6787e5ca2c feat(web): trackedPath event object testing 2022-09-01 13:36:51 +07:00
Joshua A. Horton
4603b5dad5 feat(web): segment promise checks 2022-09-01 13:36:50 +07:00
Joshua A. Horton
3073b48171 feat(web): tracked path tests, event ordering 2022-09-01 13:36:49 +07:00
Joshua A. Horton
c5bd43cdcf feat(web): first gesture-recognizer headless test 2022-09-01 13:36:48 +07:00
Joshua A. Horton
9f6478c370 change(web): centralized handling of split-point maintenance, more checks for pre-commit 2022-09-01 13:36:11 +07:00
Marc Durdin
14094c8979 feat(developer): add kmlmc and kmldmlc to make test
Also removes `-test` from normal `make build` for kmlmc, moving that
responsibility to `make test` (but uses `-tdd` to avoid rebuild).
2022-09-01 15:28:41 +10:00
Marc Durdin
2b57396f96
Merge pull request #7177 from keymanapp/feat/developer/kmldmlc-loca-minimize-plus-error-cleanup
feat(developer): loca minimization + cleanup kmldmlc error list 🙀
2022-08-31 23:53:25 -05:00
Marc Durdin
8d00d78cef
Merge pull request #7175 from keymanapp/feat/developer/kmldmlc-loca-tests
feat(developer): add loca tests 🙀
2022-08-31 23:53:15 -05:00
Steven R. Loomis
b330a62d43
Merge pull request #7179 from keymanapp/feat/core/7136-splitvalidate
chore(core): split out validators 🙀
2022-08-31 21:46:54 -05:00
Joshua A. Horton
7b2da89e8d fix(web): segment.angle spec, move-based segment recognition 2022-09-01 08:49:13 +07:00
Marc Durdin
3a4bbf9d0d
Merge pull request #7154 from keymanapp/feat/developer/kmldmlc-meta-tests-and-cleanup
feat(developer): add unit tests for meta compiler 🙀
2022-08-31 19:05:45 -05:00
Marc Durdin
08870288bd
Merge branch 'feature-ldml' into feat/developer/kmldmlc-meta-tests-and-cleanup 2022-08-31 19:05:34 -05:00
Steven R. Loomis
f3f498e923 fix(core): fix validators 🙀
- copy over asserts from 'old' code

#7136
2022-08-31 17:37:55 -05:00