Browse Source

Switch to happy-dom for testing (#29948)

Use `happy-dom` again in vitest as it has caught up recently to `jsdom`
in terms of features and it is a much more lightweight solution.

I encountered [one
bug](https://github.com/capricorn86/happy-dom/issues/1342), but it's an
easy workaround until fixed.

I regenerated the lockfile to get rid of the transitive dependencies so
that's why the diff also has some upgrades in it.

In total, this change removes 39 npm dependencies.
tags/v1.22.0-rc0
silverwind 1 month ago
parent
commit
82979588f4
No account linked to committer's email address
4 changed files with 367 additions and 1110 deletions
  1. 364
    1107
      package-lock.json
  2. 1
    1
      package.json
  3. 1
    1
      vitest.config.js
  4. 1
    1
      web_src/js/svg.js

+ 364
- 1107
package-lock.json
File diff suppressed because it is too large
View File


+ 1
- 1
package.json View File

@@ -84,7 +84,7 @@
"eslint-plugin-vue": "9.23.0",
"eslint-plugin-vue-scoped-css": "2.7.2",
"eslint-plugin-wc": "2.0.4",
"jsdom": "24.0.0",
"happy-dom": "14.2.0",
"markdownlint-cli": "0.39.0",
"postcss-html": "1.6.0",
"stylelint": "16.2.1",

+ 1
- 1
vitest.config.js View File

@@ -6,7 +6,7 @@ export default defineConfig({
test: {
include: ['web_src/**/*.test.js'],
setupFiles: ['web_src/js/vitest.setup.js'],
environment: 'jsdom',
environment: 'happy-dom',
testTimeout: 20000,
open: false,
allowOnly: true,

+ 1
- 1
web_src/js/svg.js View File

@@ -205,7 +205,7 @@ export const SvgIcon = {

// make the <SvgIcon class="foo" class-name="bar"> classes work together
const classes = [];
for (const cls of svgOuter.classList) {
for (const cls of svgOuter.classList.values()) {
classes.push(cls);
}
// TODO: drop the `className/class-name` prop in the future, only use "class" prop

Loading…
Cancel
Save