Commit graph

43 commits

Author SHA1 Message Date
Steven R. Loomis
41cf277c1c feat(core): fix core side build 🙀
- fix updated standard ldml file
- hotfix for incorrectly named ldml test file
- don't test transforms in k_003 for now

for #7377
2023-04-27 12:37:56 -05:00
Steven R. Loomis
07392ed460 feat(developer): update tests and reader for transforms 🙀
- not working yet, but 'update' some XML

for #7377
2023-04-27 12:21:03 -05:00
Steven R. Loomis
6d9377fed6 Merge remote-tracking branch 'upstream/master' into feat/core-8435-repertoire-test-epic-ldml 2023-03-31 13:20:19 -05:00
Steven R. Loomis
fc87334b44 feat(core): icu integration steps 🙀
- disable some failing repertoire tests
- see if a basic integration works

for #8495
2023-03-31 12:39:13 -05: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
Steven R. Loomis
ab614677ce feat(core): ldml repertoire test 🙀
- wip: simple lookup for an exact key

For: #8435
2023-03-16 15:49:00 -05:00
Steven R. Loomis
ec68f6ce0f feat(core): ldml repertoire test 🙀
- wip: right now passes, because it emits the repertoire text as it goes

For: #8435
2023-03-16 14:28:51 -05:00
Steven R. Loomis
0693e6436d feat(core): ldml repertoire test 🙀
- icu4c as an optional dependency

For: #8435
2023-03-15 18:50:16 -05: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
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
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
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
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
Marc Durdin
003f23d7b4 feat(developer): fixup and prepare build scripts and docs for kmc 2022-09-19 06:36:06 +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
Marc Durdin
9945055c00 chore(core): move and re-enable invalid ldml keyboard tests 2022-08-28 05:10:21 +10:00
Marc Durdin
bc02ba984a chore(core): skip ldml keyboard tests if node not available 2022-08-27 08:47:34 +10:00
Marc Durdin
3ff5c4c46e chore(core): fix typo 2022-08-26 15:58:25 +10:00
Marc Durdin
a3b1a96960 chore(core): disable failing tests for now 2022-08-26 15:48:19 +10:00
Marc Durdin
daf6a7970e feat(core): use kmldmlc to build test keyboards
Removes .kmx from repo and builds them from the source .xml files using
kmldmlc (building that if necessary also with a poor fella's dependency
check for now), and generally a lot of cleanup of the meson.build files
for the ldml tests.

Moves keyboards to a subfolder of the ldml unit test folder to keep them
neat and tidy and avoid embedding huge files into ldml.js for test of
WASM.

Note: 000_null_keyboard and 002_null_invalid do build successfully, but
the core ldml keyboardprocessor currently fails on them, because they
are missing keys and vkey sections.
2022-08-26 15:12:38 +10:00