Migrate the testing environment to Vitest: rename equalMarkup to toEqualMarkup and remove the automated test runner#1413
Merged
Merged
Conversation
…ibute Chai assertion.
9b811db to
e94f1c7
Compare
…rs can be imported from it.
e94f1c7 to
02bbee8
Compare
02bbee8 to
5ecf41a
Compare
5ecf41a to
f736e52
Compare
f736e52 to
e6bb75c
Compare
e6bb75c to
fe8bdfa
Compare
… about the automated test runner.
psmyrek
reviewed
Jul 7, 2026
psmyrek
left a comment
Contributor
There was a problem hiding this comment.
Two changelog entries describe more or less the same change:
.changelog/20260706081519_ci_4595_to_equal_markup_vitest_matcher.md.changelog/20260706081521_ci_4595_to_equal_markup_vitest_matcher.md
Would it be possible to merge these messages together?
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit f01521b. Configure here.
psmyrek
approved these changes
Jul 7, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

🚀 Summary
Migrates the testing environment to Vitest and removes the automated test runner.
equalMarkup→toEqualMarkup(): the Chai assertion is renamed to a Vitest matcher (matching the Vitest naming style) and the unusedattributeChai assertion is removed. The matcher is registered in a Vitest setup file viaexpect.extend( { toEqualMarkup } ), importing it from the main entry point of@ckeditor/ckeditor5-dev-tests, which is now browser-safe (it exposes only the matcher). The package ships thevitesttype augmentation (lib/vitest/matchers.d.ts), so consumers get the typings out of the box.Automated test runner removal: the
ckeditor5-dev-tests-run-automatedbinary and the whole Karma testing environment are removed — automated tests are executed directly with Vitest using the packages' owntestscripts. This coversbin/testautomated.jsand therunAutomatedTests()task, the wholelib/utils/automated-tests/directory (Karma and webpack configuration, reporters, leak detectors), the automated CLI options inparseArguments()(including--production— the strict checks live in each package's Vitest setup and apply in every run, so local and CI executions follow the same rules), desktop notifications (node-notifier), the IntelliJ Karma integration, 26 dependencies ofckeditor5-dev-tests, andloaders.getCoverageLoader()with itsbabel-loaderdependency inckeditor5-dev-utils.The package now provides the manual test server (
ckeditor5-dev-tests-run-manual, untouched) and thetoEqualMarkup()Vitest matcher.📌 Related issues
💡 Additional information
attributeChai assertion had zero call sites inckeditor5andckeditor5-commercial, hence it is removed instead of migrated (a deviation from the issue's DoD).ckeditor5-dev-testswas the only workspace package with apostinstallscript, the rootscripts/postinstall.jsnow usespnpm run -r --if-present postinstall.