Skip to content

test(web): add baseline tests 🎼#15251

Merged
ermshiperete merged 2 commits intoepic/web-corefrom
test/web/baseline
Dec 9, 2025
Merged

test(web): add baseline tests 🎼#15251
ermshiperete merged 2 commits intoepic/web-corefrom
test/web/baseline

Conversation

@ermshiperete
Copy link
Copy Markdown
Contributor

@ermshiperete ermshiperete commented Nov 28, 2025

This adds the baseline tests from /common/test/keyboards/baseline. Some tests are skipped because they rely on functionality not implemented in Web, other tests are skipped because they require functionality still marked with TODO-web-core and should pass once web-core is finished.

Test-bot: skip

@github-project-automation github-project-automation bot moved this to Todo in Keyman Nov 28, 2025
@keymanapp-test-bot keymanapp-test-bot bot added the user-test-missing User tests have not yet been defined for the PR label Nov 28, 2025
@keymanapp-test-bot
Copy link
Copy Markdown

keymanapp-test-bot bot commented Nov 28, 2025

User Test Results

Test specification and instructions

User tests are not required

Test Artifacts

  • Android
    • Keyman for Android apk - build : all tests passed (no artifacts on BuildLevel "build")
    • FirstVoices Keyboards for Android apk - build : all tests passed (no artifacts on BuildLevel "build")
    • FirstVoices Keyboards for Android apk (old PRs) - build : all tests passed (no artifacts on BuildLevel "build")
    • KeyboardHarness apk - build : all tests passed (no artifacts on BuildLevel "build")
    • Keyman for Android apk (old PRs) - build : all tests passed (no artifacts on BuildLevel "build")
    • KMSample1 apk - build : all tests passed (no artifacts on BuildLevel "build")
    • KMSample2 apk - build : all tests passed (no artifacts on BuildLevel "build")
  • Developer
    • Keyman Developer - build : all tests passed (no artifacts on BuildLevel "build")
    • Compiler Regression Tests - build : all tests passed (no artifacts on BuildLevel "build")
    • Keyman Developer (old PRs) - build : all tests passed (no artifacts on BuildLevel "build")
    • kmcomp.zip - build : all tests passed (no artifacts on BuildLevel "build")
    • kmcomp.zip (old PRs) - build : all tests passed (no artifacts on BuildLevel "build")
  • iOS
    • Keyman for iOS (simulator image) - build : all tests passed (no artifacts on BuildLevel "build")
    • FirstVoices Keyboards for iOS (simulator image) - build : all tests passed (no artifacts on BuildLevel "build")
    • FirstVoices Keyboards for iOS (simulator image) (old PRs) - build : all tests passed (no artifacts on BuildLevel "build")
    • Keyman for iOS (simulator image) (old PRs) - build : all tests passed (no artifacts on BuildLevel "build")
  • Keyboards
    • Test Keyboards - build : all tests passed (no artifacts on BuildLevel "build")
  • Web
    • KeymanWeb Test Home - build : all tests passed (no artifacts on BuildLevel "build")

@keymanapp-test-bot keymanapp-test-bot bot changed the title test(web): add baseline tests test(web): add baseline tests 🎼 Nov 28, 2025
@keymanapp-test-bot keymanapp-test-bot bot added this to the A19S17 milestone Nov 28, 2025
@github-actions github-actions bot added web/ test Any acceptance test issue labels Nov 28, 2025
@ermshiperete ermshiperete force-pushed the test/web/baseline branch 2 times, most recently from e5c0179 to 90d64be Compare November 28, 2025 20:19
@ermshiperete ermshiperete force-pushed the tests/web/e2ekmxkbds branch 2 times, most recently from 815e26f to 425d74c Compare December 1, 2025 15:09
@ermshiperete ermshiperete marked this pull request as ready for review December 3, 2025 15:57
@keymanapp-test-bot keymanapp-test-bot bot removed the user-test-missing User tests have not yet been defined for the PR label Dec 3, 2025
@ermshiperete ermshiperete requested a review from mcdurdin December 3, 2025 15:57
@ermshiperete ermshiperete marked this pull request as draft December 5, 2025 07:45
@ermshiperete ermshiperete force-pushed the test/web/baseline branch 2 times, most recently from ef39302 to 924cb47 Compare December 5, 2025 18:05
@ermshiperete ermshiperete marked this pull request as ready for review December 5, 2025 19:44
@keyman-server keyman-server modified the milestones: A19S17, A19S18 Dec 6, 2025
Copy link
Copy Markdown
Member

@mcdurdin mcdurdin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM - I am so pleased to see the baseline tests running here, fantastic!

]);

// Tests that should work but fail due to not-yet implemented functionality
// TODO-web-core: fix these tests
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's a lovely to-do list!

Comment on lines +175 to +178
for (let i = 0; i < keySequence.length - 1; i++) {
await page.keyboard.down(keySequence[i]);
}
await page.keyboard.down(keySequence[keySequence.length - 1]);
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is the last line done separately outside the loop?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Doesn't make sense, you're right. And I don't remember why I did it that way. Probably left-over from debugging.

Comment on lines +180 to +183
await page.keyboard.up(keySequence[keySequence.length - 1]);
for (let i = keySequence.length - 2; i >= 0; i--) {
await page.keyboard.up(keySequence[i]);
}
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And ditto here?

// relative to the directory containing this config file. Using
// relative path so that the playwright vscode extension works correctly.
command: '../../../../build.sh start',
command: `${KEYMAN_ROOT}/web/build.sh start`,
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change was necessary to get it to work on Windows. Strange that it worked in the previous PR (#15250)...

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oops - turns out it didn't work in the previous PR, I just forgot to try on Windows 😄

Comment on lines +175 to +178
for (let i = 0; i < keySequence.length - 1; i++) {
await page.keyboard.down(keySequence[i]);
}
await page.keyboard.down(keySequence[keySequence.length - 1]);
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Doesn't make sense, you're right. And I don't remember why I did it that way. Probably left-over from debugging.

Base automatically changed from tests/web/e2ekmxkbds to epic/web-core December 9, 2025 17:03
@ermshiperete ermshiperete merged commit b7369d7 into epic/web-core Dec 9, 2025
15 of 16 checks passed
@ermshiperete ermshiperete deleted the test/web/baseline branch December 9, 2025 17:13
@github-project-automation github-project-automation bot moved this from Todo to Done in Keyman Dec 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

epic-web-core test Any acceptance test issue web/

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

3 participants