Commit graph

1288 commits

Author SHA1 Message Date
Joshua Horton
7c348872f3
Merge pull request #11300 from keymanapp/chore/web/web-test-runner-trials
chore(web): finalization for replacement of Karma with Web Test Runner 🏃
2024-05-23 07:42:03 +07:00
Joshua Horton
25e44da918
Merge pull request #11456 from keymanapp/chore/web/e2e-test-migration
chore(web): conversion of Web's end-to-end style auto-tests for @web/test-runner use 🏃
2024-05-23 07:41:52 +07:00
Joshua Horton
feb819eeb6
Merge pull request #11455 from keymanapp/chore/web/integration-test-migration
chore(web): conversion of Web's browser-integration auto-tests for @web/test-runner use 🏃
2024-05-23 07:41:41 +07:00
Joshua Horton
2237f8a6dd
change(web): better assertion definitions, per code review
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2024-05-22 21:57:53 +07:00
Joshua A. Horton
1207c37898 chore(web): drops removed testing dependencies 2024-05-15 15:43:51 +07:00
Joshua A. Horton
9d5be7adea chore(web): removes unreferenced test-utils code 2024-05-15 15:42:18 +07:00
Joshua A. Horton
2f864e82b0 chore(web): minor wtr config cleanup 2024-05-15 15:42:03 +07:00
Joshua A. Horton
a31fa36ec0 chore(web): converts 'integrated' (e2e-ish) Web auto-tests to TS 2024-05-15 15:34:12 +07:00
Joshua A. Horton
40d01c25f2 chore(web): main + child project Web tests - local vs CI reporting 2024-05-15 15:34:12 +07:00
Joshua A. Horton
14d42de3a9 chore(web): drops global concurency restriction in favor of WebKit-specific restriction 2024-05-15 15:34:11 +07:00
Joshua A. Horton
55f1ea2b8d chore(web): converts web end-to-end style tests 2024-05-15 15:27:46 +07:00
Joshua A. Horton
a73bc4a2ee chore(web): mild config cleanup 2024-05-15 15:24:16 +07:00
Joshua A. Horton
c6ba1441b4 chore(web): simple tsconfig.json for tests' package resolution 2024-05-15 15:24:16 +07:00
Joshua A. Horton
9a426b18ee fix(web): dom tests do not need precompilation 2024-05-15 15:24:15 +07:00
Joshua A. Horton
7d4639f8c4 chore(web): converts 'dom' tests to TS, drops unused helpers 2024-05-15 15:24:14 +07:00
Joshua A. Horton
6c8344c9d4 chore(web): main + child project Web tests - local vs CI reporting for 'dom' integration tests 2024-05-15 15:23:58 +07:00
Joshua A. Horton
8c6e8c5da9 chore(web): converts element-wrapper page-integration tests 2024-05-15 15:08:20 +07:00
Joshua A. Horton
87aafa3335 chore(web): web 'dom' test stability-reporter link-in 2024-05-15 15:08:19 +07:00
Joshua A. Horton
f324d1ed53 chore(web): finalizes conversion of all test/auto/dom Web auto-tests 2024-05-15 15:08:19 +07:00
Joshua A. Horton
6f6a4f2f34 chore(web): converts engine/osk test/auto/dom tests 2024-05-15 15:08:18 +07:00
Joshua A. Horton
f5ac2eae53 chore(web): converts engine/package-cache page-integration tests 2024-05-15 15:08:18 +07:00
Joshua A. Horton
84d89760e0 chore(web): converts engine/element-wrapper page-integration tests 2024-05-15 15:08:17 +07:00
Joshua A. Horton
703e4d1403 fix(web): fixes app/browser headless-test mocking broken during 'dom'-test conversion 2024-05-15 15:08:17 +07:00
Joshua A. Horton
55f2cd00bb chore(web): converts app/browser keyboard/context-management page-integration tests 2024-05-15 15:08:16 +07:00
Joshua A. Horton
7b7689ad81 chore(web): engine/attachment, engine/dom-utils browser-integration test conversions 2024-05-15 15:08:15 +07:00
Joshua Horton
aa68c1755e
Merge pull request #11402 from keymanapp/chore/web/other-dependency-updates
chore(web): EventEmitter3, sinon dependency updates 🏃
2024-05-15 14:10:52 +07:00
Joshua Horton
887a47930f
Merge pull request #11318 from keymanapp/chore/web/chai-update
chore(web): updates chai, @types/chai dependencies 🏃
2024-05-15 14:10:27 +07:00
Darcy Wong
725231c80f chore: Merge remote-tracking branch 'origin/beta' into chore/beta-to-master-a18s1-part2 2024-05-10 07:41:54 +07:00
Joshua Horton
dd3763b240
Merge pull request #11385 from keymanapp/fix/web/unexpected-null-element 2024-05-10 07:32:09 +07:00
Darcy Wong
cbf1fd5cb1 chore(common): Merge beta to master for sprint A18S1 part 2 2024-05-10 06:27:02 +07:00
Joshua A. Horton
e9631c4fb2 chore(web): adjustments per code review 2024-05-09 10:24:31 +07:00
Joshua A. Horton
a34e5c9100 fix(web): EventEmitter import pattern update 2024-05-09 08:49:50 +07:00
Joshua A. Horton
3989298e69 fix(web): fixes Web's Karma test:integrated suite (last one) 2024-05-07 14:35:12 +07:00
Joshua A. Horton
ffba4a6f14 fix(web): regression-test test-builder adjustment 2024-05-07 14:35:12 +07:00
Joshua A. Horton
c7445984d3 fix(web): dom (single-browser) Karma test adjustments 2024-05-07 14:35:11 +07:00
Joshua A. Horton
398b9e0ae2 chore(common): drops package-specific 'chai', '@types/chai' versions
chore(web): missed leaving these out of the rebase
2024-05-07 14:35:09 +07:00
Joshua A. Horton
4fe71921a1 fix(web): fixes illegal KMW event state - can't focus a null element 2024-05-07 09:11:51 +07:00
Marc Durdin
7a0ab01469 fix(web): support SVG elements when checking className
Fixes #11364.

Instead of using `className` which may be of type `SVGAnimatedString` if
the element is an SVG element, use `getAttribute('class')`. As that
function can return `null` if the class attribute is not defined, use
optional chaining to avoid a new error...

Uses the same pattern in hardwareEventKeyboard.ts, although I suspect
the problem may never arise there.

I audited the uses of className in our KeymanWeb source and found only
these three instances which may be problematic. I have not searched
elsewhere.
2024-05-06 10:05:39 +07:00
Marc Durdin
cd8121ef65 chore(common): builder scripts now use /resources/build/builder.inc.sh
Note: there is a bit of potential confusion about the difference between
/resources/builder.inc.sh (the full implementation for builder scripts),
and /resources/build/builder.inc.sh (the source script that builder
scripts should always use).

This allows us to make assumptions that will always be true for builder
scripts that may not be true for other scripts, such as setting base
folder.
2024-05-02 15:54:31 +07:00
Marc Durdin
0f390d47cc chore(common): maintenance on build scripts - cd
Fixes #11324.

* Always `cd "$THIS_SCRIPT_PATH"`
* Remove unnecessary `cd` from all build.sh
* Remove unnecessary `set -eu` from all build.sh (and `# set -x`)
* Replace old build-utils.sh incantation in a few build.sh scripts
2024-05-02 15:54:29 +07:00
Marc Durdin
f119682cf0
Merge branch 'master' into chore/a18s1-merge-beta-into-master 2024-05-02 14:48:58 +10:00
Joshua A. Horton
8d2a1e8b93 change(web): longpress up-flick now has two components, requires greater distance 2024-04-29 08:53:32 +07:00
Eberhard Beilharz
b2c3b99f68
Merge pull request #11266 from keymanapp/fix/web/subkey-menus
fix(web): Fix layout for subkey menus with unusually-sized keys
2024-04-26 10:21:44 +02:00
Joshua A. Horton
e686dbe67d fix(web): longpress shortcut activation should be based on purely-northward component
change(web): stricter threshold for up-flick shortcut
2024-04-26 10:25:03 +07:00
Eberhard Beilharz
eb9b34cdd6
fix(web): Small refactorings based on code review comments 2024-04-24 15:02:22 +02:00
Eberhard Beilharz
0e1493906e
fix(web): export internals for unit tests as separate module
Addresses code review comments.
2024-04-24 10:47:46 +02:00
Eberhard Beilharz
c5efad0ca8
fix(web): Cleanup imports
Addresses code review comments.
2024-04-23 12:38:23 +02:00
Eberhard Beilharz
23622697fb
chore(web): Update test keyboard
Add two longpress menus to the `diacritic_rota` keyboard:

- longpress on <kbd>1</kbd>: one subkey that is too wide to fit in the
  osk. Keyman is expected to resize the key so that it does fit.
- longpress on <kbd>2</kbd>: Subkeys for A-Z. Subkeys B and Y are
  double wide. The keys are expected to be displayed in multiple rows
  so that each row fits within the width. Note that there are too many
  keys so that the rows don't fit vertically.

Already existing is the longpress on <kbd>.</kbd>. Since the base
keys are wider they won't fit in one row. Keyman is expected to display
them in two rows.
2024-04-22 16:30:19 +02:00
Eberhard Beilharz
9818472c80
fix(web): Fix layout for subkey menus with unusually-sized keys
The previous code didn't check that the keys we put in a subkey menu
actually fit within the width of the osk. Additionally the subkey menu
was limited to two rows. This change checks the total width of the keys
in a row. If it gets too wide we continue in the next row.

Fixes #10126.
2024-04-22 16:30:19 +02:00
Joshua A. Horton
37196b1103 chore(web): Merge branch 'beta' into fix/web/visible-empty-osk 2024-04-22 15:36:31 +07:00