Commit graph

80 commits

Author SHA1 Message Date
Marc Durdin
035c447a31 chore(core): move test_assert.h and test_color.h to common 2023-04-10 15:21:45 +07:00
Marc Durdin
c5d79a9fb4
Merge pull request #7330 from keymanapp/feature-kmcompx
epic: kmcompx - kmcmpdll cross-platform compiler 🚑
2023-04-10 07:34:04 +10:00
Steven R. Loomis
1736b6fac7 fix(core): ldml use ja / pt keyboards out of ldml 🙀
For: #8161
2023-03-28 16:56:44 -05:00
Steven R. Loomis
9079ced75a chore(core): ldml update for abnt2/iso 🙀
- address review comments

For: #8161
2023-03-28 08:15:19 -05:00
Steven R. Loomis
7e0255e90c chore(resources): ldml update for abnt2/iso 🙀
- address review comments

For: #8161
2023-03-28 08:12:50 -05:00
Steven R. Loomis
add18c474a fix(core): ldml test workaround for path issue 🙀
- I originally had the tests copied from resources/, but that broke under Windows. Working around by copying the files in git.  #8524 to do this the right way.

For: #8161
2023-03-27 08:28:33 -05:00
Steven R. Loomis
3612039d70 chore(resources): ldml update for abnt2/iso 🙀
- the test cases found an error in the xml. Fixed.
- added core test cases directly out of resources/standards-data

For: #8161
2023-03-24 13:58:10 -05:00
Marc Durdin
48bc338f26 chore: Merge branch 'feature-kmcompx' into chore/kmcompx-master-merge-a17s9 2023-03-21 13:51:25 +07:00
Marc Durdin
d1c8061b5f chore: Merge branch 'feature-kmcompx' into chore/merge-master-into-kmcompx 2023-03-16 12:29:17 +07:00
Steven R. Loomis
3ca17be495 Merge remote-tracking branch 'upstream/master' into feat/developer-7234-vkey-value-epic-ldml 2023-03-15 17:59:17 -05:00
Steven R. Loomis
f7499238a2 fix(core): ldml more TODO-LDML fixes 🙀
- drop some TODO-LDMLs, document others.

For: #8069
2023-03-14 18:54:28 -05:00
Steven R. Loomis
769a6b9156 fix(core): ldml update fr-azerty for VKEY mapping 🙀
- update some vkey names, document why others are missing

For: #8413
2023-03-14 18:39:35 -05:00
Steven R. Loomis
cec04c4722 fix(core): ldml fix broken test cases 🙀
Getting even closer to using LDML files out of the box. All files except French are identical to CLDR once https://github.com/unicode-org/cldr/pull/2773 merges.

#7042
2023-03-14 17:38:30 -05:00
Steven R. Loomis
f7a2f075ee chore(core): ldml update tests to match latest ldml 🙀
- move hardware= attribute  into the form= attribute

#7042
2023-03-14 17:38:30 -05:00
Marc Durdin
691dc8e618 chore(core): split flags into standard.meson.build 2023-03-09 11:34:54 +07:00
Steven R. Loomis
812fd1713a spec(core): ldml tests for either shift/ctrl/alt 🙀
- lookup needs to handle either/neither/both cases for alt and ctrl
- and a bug in the test runner: would 'pass' if failed on exactly line 256 (0x100 & 0xFF == 0)

#7533
2023-03-02 17:13:47 -06:00
Marc Durdin
91c6cb9f49 chore(developer): use --out-file for build-test-data 2023-02-24 13:54:29 +07:00
Marc Durdin
a30fdffd95 feat(developer): kmc build command 2023-02-24 13:54:27 +07:00
Marc Durdin
b968bcfdfd
Merge branch 'feature-ldml' into chore/core/cleanup-meson-build 2023-02-23 08:49:56 +11:00
Marc Durdin
19101c6a2a chore(core): cleanup meson build
This updates our meson min version on Windows to 1.0, which means that
we can avoid having Visual Studio on the path, as meson can find it
anyway. With this change, we can eliminate the batch-wrapper for the
build, significantly improving build performance and simplifying the
scripts.

This also adds a change to disable tests for dependency builds of core,
along with the `--no-tests` command line option for doing builds without
tests.

Minor cleanup includes eliminating various warnings from meson.build
files, and standardizing WASM cross-platform build options for Windows.
2023-02-21 12:12:28 +07:00
Steven R. Loomis
e1e5eea469 feat(core): ldml rename key2 to keys 🙀
- So in summary, since before #7532 basically keys was restructured, and the old 'keys' was moved into 'keys.kmap'.

#8069
2023-02-20 17:40:34 -06:00
Steven R. Loomis
d46f2c3f9b
Update core/tests/unit/ldml/ldml_test_source.cpp
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-02-18 09:35:17 -06:00
Steven R. Loomis
ce0a488fe0
Update core/tests/unit/ldml/ldml_test_source.cpp
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-02-18 09:35:11 -06:00
Steven R. Loomis
fceebaed76
Update core/tests/unit/ldml/ldml.cpp
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-02-18 09:34:53 -06:00
Steven R. Loomis
4433d85a82 feat(core): ldml json test executor 🙀
- add a somewhat-modified fr azerty as a test case
- fr azerty tests pass, with some TODOs

#7535
2023-02-16 13:59:44 -06:00
Steven R. Loomis
4689c04533 feat(core): ldml json test executor 🙀
- can now use the new key2.kmap table to lookup keys. Basic test passes

#7535
2023-02-16 13:04:33 -06:00
Steven R. Loomis
47b222e8a8 feat(core): ldml json test executor 🙀
- intermediate, does not process context or actions yet
- embedded (non-json) tests pass
- utf-8 parsing
- bring in kmx+ into ldml_test_source for parsing, but key2 is not ready eyt
- temporary scaffolding mapping key ids to vkeys
- build fixes
- getting closer.
2023-02-16 12:33:32 -06:00
Steven R. Loomis
c40c19db3f feat(core): refactor ldml test 🙀
- rearrange classes so we can get to dynamic subtests
2023-02-16 12:32:57 -06:00
Steven R. Loomis
8ea87aa828 feat(common): ldml: merge keys into key2 🙀 2023-02-16 12:29:19 -06:00
Steven R. Loomis
c191f0a0b5 feat(core): auto generate test json 🙀
- example testdata for k_001_tiny
- meson to generate test json to ./build/arch/release/tests/unit/ldml/keyboards/k_001_tiny-test.json

#7535
2023-02-15 17:58:52 -06:00
Steven R. Loomis
7c02ab85af feat(core): ldml C++ feature support 🙀
- make ldml.cpp print FAILED on failure especially because of https://github.com/microsoft/vscode-cpptools/issues/487
- add vkey validation (#7135)
- add disp validation
- fix: a latent bug in disp! disp.count was === vkey.count, oops. Fix and test cases.

For: #7985
2023-02-14 09:23:03 -06:00
Steven R. Loomis
41f77a874c feat(common): ldml different hardware support 🙀
- add HardwareToKeymap in common/web/types
- add a mt-iso keyboard, very close to stock mt.xml
- add machinery for parsing modifier key sequences
- more test machinery
- add assertions against invalid modifier sequences

Fixes: #7965
2023-02-03 19:00:57 -06:00
Steven R. Loomis
af10312f84 feat(common): ldml modifier support 🙀
- spec: update spec for layr.mod field
- core/include/ldm: update constants
- bitfield modelled after s_modifier_names[]  / LCTRLFLAG etc.
- new test case k_004_tinyshift, also update k_010_mt
- update const builder to ignore all *_map properties
- split utility out to utils, add test

For: #7533
(cherry picked from commit 0346bea488)
2023-02-03 18:54:22 -06:00
Steven R. Loomis
3eb7f05df6 feat(developer): ldml implied keys work 🙀
- update test cases per review

- review comment
2023-01-27 12:42:18 -06:00
Steven R. Loomis
0b497be277 chore(core): update tests per merge conflicts 2023-01-27 12:41:47 -06:00
Steven R. Loomis
727056cb87 feat(developer): ldml support implied keys 🙀
- automatically add the import

Fixes: #7964

Apply suggestions from code review

Co-authored-by: Marc Durdin <marc@durdin.net>
2023-01-27 12:41:39 -06:00
Steven R. Loomis
6fd2e418bc feat(common): ldml implement imports 🙀
add tests:
- k_100, k_101, k_102 all failed for different reasons.
- rename test cases from 'fail' to 'keytest' since they don't fail anymore

For: #7401

- update k101_fail.xml / k102_fail.xml to use an implied import
- update build.sh to bring over the imports from CLDR

For #7534
2023-01-27 12:40:22 -06:00
Steven R. Loomis
631cd5007e chore(developer): disable mt 🙀
- disable mt for now, as it will depend on imports

For: #7965
2023-01-26 13:49:49 -06:00
Steven R. Loomis
a1cfd7253d fix(common): update USVirtualKeyMap to actually be US🙀
comon/web/types:
- the USVirtualKeyMap was actually somewhat ISO-ish. Correct it.
- also, add the spacebar row.
- create a new ISOVirtualKeyMap, but not linked in anywhere.

core/tests:
- add a new test keyboard, k_010_mt.xml which is Maltese 47-key
- update k_003 which was impacted by this

For: #7965
2023-01-26 13:49:49 -06:00
Steven R. Loomis
666d71f342 chore(core): ldml: update unit tests 🙀
- add hardware="us"

For: #7986
2023-01-19 21:36:04 -06:00
Steven R. Loomis
f7f40a2bb8 fix(core): ldml: fix spelling of maqtugħa 🙀
- maqtua should be maqtugħa (cut) but spelled as maqtugha where used as an NMTOKEN
2022-12-30 17:01:48 -06:00
Steven R. Loomis
85da473a85 chore(developer): update DTD location 🙀
- dtd is in a subdirectory to match CLDR layout
2022-10-18 12:52:27 -05:00
Steven R. Loomis
66a5cdb1f9 chore(developer): ldml: update tools and data for keyboard-preview 🙀
- update tooling in common and kmc
- update spec
- update test files
2022-10-18 11:32:41 -05:00
Steven R. Loomis
5a6389deb8 feat(core): ldml: basic transforms, again 🙀
- new test file for transforms
- new class, ldml_transforms

for #7234
2022-10-12 19:29:37 -05:00
Steven R. Loomis
8a6b4a7fd4 feat(core): ldml: Use new UTF-16 to UTF-32 function 🙀
- also a test case with a 🙀 key on the tiny keyboard

For #7418
2022-10-12 19:26:42 -05:00
Steven R. Loomis
35799e2306 feat(core): kmx_plus: add accessors for elem 🙀
- other refactor and cleanup in kmx_plus

for #7234
2022-10-11 15:43:44 -05:00
Marc Durdin
003f23d7b4 feat(developer): fixup and prepare build scripts and docs for kmc 2022-09-19 06:36:06 +10:00
Marc Durdin
3e6d9356c3
Merge pull request #7255 from keymanapp/chore/7222-optional-checksum
chore: make checksum optional 🙀
2022-09-13 06:30:04 +10:00
Marc Durdin
31a34f73d7 chore(core): add unit test for zero checksum 2022-09-12 05:46:13 +10:00
Marc Durdin
561899a2a0 refactor(developer): rename kmldmlc to kmc
Fixes #7237.

Full clean, configure and build will be required for Core, Developer
after this change.

kmc is much less unwieldy a name than kmldmlc, and becomes our platform
for future compiler integration. Start of implementation for #5283 also.
2022-09-09 09:13:39 +10:00