This run took 484 seconds.
$ date
--- stdout ---
Sat Feb 21 22:10:45 UTC 2026
--- end ---
$ git clone file:///srv/git/mediawiki-extensions-WikiLambda.git /src/repo --depth=1 -b master
--- stderr ---
Cloning into '/src/repo'...
--- stdout ---
--- end ---
$ git config user.name libraryupgrader
--- stdout ---
--- end ---
$ git config user.email tools.libraryupgrader@tools.wmflabs.org
--- stdout ---
--- end ---
$ git submodule update --init
--- stderr ---
Submodule 'function-schemata' (https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata.git) registered for path 'function-schemata'
Cloning into '/src/repo/function-schemata'...
--- stdout ---
Submodule path 'function-schemata': checked out '3d1d510a88e8a2c1bc1112349b272320b7034cea'
--- end ---
$ grr init
--- stdout ---
Installed commit-msg hook.
--- end ---
$ git show-ref refs/heads/master
--- stdout ---
e72b15306574040b7f59e4ac602038123c6828b5 refs/heads/master
--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
"auditReportVersion": 2,
"vulnerabilities": {
"@eslint/eslintrc": {
"name": "@eslint/eslintrc",
"severity": "high",
"isDirect": false,
"via": [
"minimatch"
],
"effects": [
"eslint"
],
"range": "0.0.1 || >=0.1.1",
"nodes": [
"node_modules/@eslint/eslintrc"
],
"fixAvailable": {
"name": "grunt-eslint",
"version": "18.0.0",
"isSemVerMajor": true
}
},
"@humanwhocodes/config-array": {
"name": "@humanwhocodes/config-array",
"severity": "high",
"isDirect": false,
"via": [
"minimatch"
],
"effects": [
"eslint"
],
"range": "*",
"nodes": [
"node_modules/@humanwhocodes/config-array"
],
"fixAvailable": {
"name": "grunt-eslint",
"version": "18.0.0",
"isSemVerMajor": true
}
},
"@jest/core": {
"name": "@jest/core",
"severity": "high",
"isDirect": false,
"via": [
"@jest/reporters",
"@jest/transform",
"jest-config",
"jest-resolve-dependencies",
"jest-runner",
"jest-runtime",
"jest-snapshot"
],
"effects": [
"jest",
"jest-cli"
],
"range": "*",
"nodes": [
"node_modules/@jest/core"
],
"fixAvailable": {
"name": "jest",
"version": "19.0.2",
"isSemVerMajor": true
}
},
"@jest/expect": {
"name": "@jest/expect",
"severity": "high",
"isDirect": false,
"via": [
"jest-snapshot"
],
"effects": [
"@jest/globals",
"jest-circus"
],
"range": "*",
"nodes": [
"node_modules/@jest/expect"
],
"fixAvailable": {
"name": "jest",
"version": "19.0.2",
"isSemVerMajor": true
}
},
"@jest/globals": {
"name": "@jest/globals",
"severity": "high",
"isDirect": false,
"via": [
"@jest/expect"
],
"effects": [
"jest-runtime"
],
"range": ">=28.0.0-alpha.0",
"nodes": [
"node_modules/@jest/globals"
],
"fixAvailable": {
"name": "jest",
"version": "19.0.2",
"isSemVerMajor": true
}
},
"@jest/reporters": {
"name": "@jest/reporters",
"severity": "high",
"isDirect": false,
"via": [
"@jest/transform",
"glob"
],
"effects": [],
"range": "*",
"nodes": [
"node_modules/@jest/reporters"
],
"fixAvailable": true
},
"@jest/transform": {
"name": "@jest/transform",
"severity": "high",
"isDirect": false,
"via": [
"babel-plugin-istanbul"
],
"effects": [
"babel-jest",
"jest-runner",
"jest-runtime",
"jest-snapshot"
],
"range": "*",
"nodes": [
"node_modules/@jest/transform"
],
"fixAvailable": {
"name": "jest",
"version": "19.0.2",
"isSemVerMajor": true
}
},
"@stylistic/eslint-plugin": {
"name": "@stylistic/eslint-plugin",
"severity": "high",
"isDirect": false,
"via": [
"@typescript-eslint/utils"
],
"effects": [],
"range": "2.7.0-beta.0 - 5.0.0-beta.6 || >=6.0.0-beta.1",
"nodes": [
"node_modules/@stylistic/eslint-plugin"
],
"fixAvailable": true
},
"@testing-library/vue": {
"name": "@testing-library/vue",
"severity": "high",
"isDirect": true,
"via": [
"@vue/test-utils"
],
"effects": [],
"range": ">=7.0.0",
"nodes": [
"node_modules/@testing-library/vue"
],
"fixAvailable": {
"name": "@testing-library/vue",
"version": "6.6.1",
"isSemVerMajor": true
}
},
"@typescript-eslint/eslint-plugin": {
"name": "@typescript-eslint/eslint-plugin",
"severity": "high",
"isDirect": false,
"via": [
"@typescript-eslint/parser",
"@typescript-eslint/type-utils",
"@typescript-eslint/utils",
"eslint"
],
"effects": [],
"range": "*",
"nodes": [
"node_modules/@typescript-eslint/eslint-plugin"
],
"fixAvailable": true
},
"@typescript-eslint/parser": {
"name": "@typescript-eslint/parser",
"severity": "high",
"isDirect": false,
"via": [
"@typescript-eslint/typescript-estree",
"eslint"
],
"effects": [
"@typescript-eslint/eslint-plugin",
"eslint-config-wikimedia"
],
"range": ">=1.1.1-alpha.0",
"nodes": [
"node_modules/@typescript-eslint/parser"
],
"fixAvailable": {
"name": "eslint-config-wikimedia",
"version": "0.8.1",
"isSemVerMajor": true
}
},
"@typescript-eslint/type-utils": {
"name": "@typescript-eslint/type-utils",
"severity": "high",
"isDirect": false,
"via": [
"@typescript-eslint/typescript-estree",
"@typescript-eslint/utils",
"eslint"
],
"effects": [],
"range": ">=5.62.1-alpha.0",
"nodes": [
"node_modules/@typescript-eslint/type-utils"
],
"fixAvailable": true
},
"@typescript-eslint/typescript-estree": {
"name": "@typescript-eslint/typescript-estree",
"severity": "high",
"isDirect": false,
"via": [
"minimatch"
],
"effects": [
"@typescript-eslint/parser",
"@typescript-eslint/type-utils",
"@typescript-eslint/utils"
],
"range": ">=6.16.0",
"nodes": [
"node_modules/@typescript-eslint/typescript-estree",
"node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree"
],
"fixAvailable": {
"name": "eslint-config-wikimedia",
"version": "0.8.1",
"isSemVerMajor": true
}
},
"@typescript-eslint/utils": {
"name": "@typescript-eslint/utils",
"severity": "high",
"isDirect": false,
"via": [
"@typescript-eslint/typescript-estree",
"eslint"
],
"effects": [
"@stylistic/eslint-plugin",
"@typescript-eslint/eslint-plugin",
"eslint-plugin-jest"
],
"range": "*",
"nodes": [
"node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils",
"node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/utils",
"node_modules/@typescript-eslint/utils"
],
"fixAvailable": true
},
"@vue/test-utils": {
"name": "@vue/test-utils",
"severity": "high",
"isDirect": true,
"via": [
"js-beautify"
],
"effects": [
"@testing-library/vue"
],
"range": ">=2.2.8",
"nodes": [
"node_modules/@vue/test-utils"
],
"fixAvailable": {
"name": "@vue/test-utils",
"version": "2.2.7",
"isSemVerMajor": true
}
},
"@vue/vue3-jest": {
"name": "@vue/vue3-jest",
"severity": "high",
"isDirect": true,
"via": [
"babel-jest",
"jest"
],
"effects": [],
"range": "*",
"nodes": [
"node_modules/@vue/vue3-jest"
],
"fixAvailable": false
},
"@wdio/cli": {
"name": "@wdio/cli",
"severity": "high",
"isDirect": true,
"via": [
"@wdio/config",
"@wdio/globals",
"create-wdio",
"webdriverio"
],
"effects": [],
"range": "*",
"nodes": [
"node_modules/@wdio/cli"
],
"fixAvailable": false
},
"@wdio/config": {
"name": "@wdio/config",
"severity": "high",
"isDirect": false,
"via": [
"glob"
],
"effects": [
"@wdio/cli",
"@wdio/runner",
"webdriver",
"webdriverio"
],
"range": "*",
"nodes": [
"node_modules/@wdio/config"
],
"fixAvailable": false
},
"@wdio/globals": {
"name": "@wdio/globals",
"severity": "high",
"isDirect": false,
"via": [
"expect-webdriverio",
"webdriverio"
],
"effects": [
"@wdio/cli",
"@wdio/runner"
],
"range": "*",
"nodes": [
"node_modules/@wdio/globals"
],
"fixAvailable": false
},
"@wdio/local-runner": {
"name": "@wdio/local-runner",
"severity": "high",
"isDirect": true,
"via": [
"@wdio/runner",
"expect-webdriverio"
],
"effects": [],
"range": "*",
"nodes": [
"node_modules/@wdio/local-runner"
],
"fixAvailable": false
},
"@wdio/mocha-framework": {
"name": "@wdio/mocha-framework",
"severity": "high",
"isDirect": true,
"via": [
"mocha"
],
"effects": [],
"range": "*",
"nodes": [
"node_modules/@wdio/mocha-framework"
],
"fixAvailable": false
},
"@wdio/runner": {
"name": "@wdio/runner",
"severity": "high",
"isDirect": false,
"via": [
"@wdio/config",
"@wdio/globals",
"expect-webdriverio",
"webdriver",
"webdriverio"
],
"effects": [
"@wdio/local-runner"
],
"range": "*",
"nodes": [
"node_modules/@wdio/runner"
],
"fixAvailable": false
},
"ajv": {
"name": "ajv",
"severity": "moderate",
"isDirect": false,
"via": [
{
"source": 1113398,
"name": "ajv",
"dependency": "ajv",
"title": "ajv has ReDoS when using `$data` option",
"url": "https://github.com/advisories/GHSA-2g4f-4pwh-qvx6",
"severity": "moderate",
"cwe": [
"CWE-400"
],
"cvss": {
"score": 0,
"vectorString": null
},
"range": "<6.14.0"
},
{
"source": 1113399,
"name": "ajv",
"dependency": "ajv",
"title": "ajv has ReDoS when using `$data` option",
"url": "https://github.com/advisories/GHSA-2g4f-4pwh-qvx6",
"severity": "moderate",
"cwe": [
"CWE-400"
],
"cvss": {
"score": 0,
"vectorString": null
},
"range": ">=7.0.0-alpha.0 <8.18.0"
}
],
"effects": [],
"range": "<6.14.0 || >=7.0.0-alpha.0 <8.18.0",
"nodes": [
"node_modules/ajv",
"node_modules/table/node_modules/ajv"
],
"fixAvailable": true
},
"archiver": {
"name": "archiver",
"severity": "high",
"isDirect": false,
"via": [
"archiver-utils",
"readdir-glob",
"zip-stream"
],
"effects": [
"webdriverio"
],
"range": ">=0.20.0",
"nodes": [
"node_modules/archiver"
],
"fixAvailable": false
},
"archiver-utils": {
"name": "archiver-utils",
"severity": "high",
"isDirect": false,
"via": [
"glob"
],
"effects": [
"archiver",
"zip-stream"
],
"range": ">=0.2.0",
"nodes": [
"node_modules/archiver-utils"
],
"fixAvailable": false
},
"babel-jest": {
"name": "babel-jest",
"severity": "high",
"isDirect": false,
"via": [
"@jest/transform",
"babel-plugin-istanbul"
],
"effects": [
"@vue/vue3-jest",
"jest-config"
],
"range": ">=24.0.0-alpha.0",
"nodes": [
"node_modules/babel-jest"
],
"fixAvailable": false
},
"babel-plugin-istanbul": {
"name": "babel-plugin-istanbul",
"severity": "high",
"isDirect": false,
"via": [
"test-exclude"
],
"effects": [
"@jest/transform",
"babel-jest"
],
"range": ">=5.0.1",
"nodes": [
"node_modules/babel-plugin-istanbul"
],
"fixAvailable": {
"name": "jest",
"version": "19.0.2",
"isSemVerMajor": true
}
},
"create-jest": {
"name": "create-jest",
"severity": "high",
"isDirect": false,
"via": [
"jest-config"
],
"effects": [
"jest-cli"
],
"range": ">=29.7.0",
"nodes": [
"node_modules/create-jest"
],
"fixAvailable": {
"name": "jest",
"version": "19.0.2",
"isSemVerMajor": true
}
},
"create-wdio": {
"name": "create-wdio",
"severity": "high",
"isDirect": false,
"via": [
"ejs",
"recursive-readdir"
],
"effects": [
"@wdio/cli"
],
"range": ">=9.17.0",
"nodes": [
"node_modules/create-wdio"
],
"fixAvailable": false
},
"doiuse": {
"name": "doiuse",
"severity": "high",
"isDirect": false,
"via": [
"multimatch"
],
"effects": [
"stylelint-no-unsupported-browser-features"
],
"range": ">=2.2.0",
"nodes": [
"node_modules/doiuse"
],
"fixAvailable": {
"name": "stylelint-config-wikimedia",
"version": "0.10.1",
"isSemVerMajor": true
}
},
"editorconfig": {
"name": "editorconfig",
"severity": "high",
"isDirect": false,
"via": [
"minimatch"
],
"effects": [
"js-beautify"
],
"range": ">=1.0.0",
"nodes": [
"node_modules/editorconfig"
],
"fixAvailable": {
"name": "@vue/test-utils",
"version": "2.2.7",
"isSemVerMajor": true
}
},
"ejs": {
"name": "ejs",
"severity": "high",
"isDirect": false,
"via": [
"jake"
],
"effects": [],
"range": ">=3.1.2",
"nodes": [
"node_modules/ejs"
],
"fixAvailable": true
},
"eslint": {
"name": "eslint",
"severity": "high",
"isDirect": false,
"via": [
"@eslint/eslintrc",
"@humanwhocodes/config-array",
"file-entry-cache",
"minimatch"
],
"effects": [
"@typescript-eslint/eslint-plugin",
"@typescript-eslint/parser",
"@typescript-eslint/type-utils",
"@typescript-eslint/utils",
"eslint-config-wikimedia",
"eslint-plugin-jest",
"eslint-plugin-jsdoc",
"eslint-plugin-vue",
"grunt-eslint"
],
"range": "0.7.1 - 2.0.0-rc.1 || 4.1.0 - 10.0.0-rc.2",
"nodes": [
"node_modules/eslint"
],
"fixAvailable": {
"name": "grunt-eslint",
"version": "18.0.0",
"isSemVerMajor": true
}
},
"eslint-config-wikimedia": {
"name": "eslint-config-wikimedia",
"severity": "high",
"isDirect": true,
"via": [
"@stylistic/eslint-plugin",
"@typescript-eslint/eslint-plugin",
"@typescript-eslint/parser",
"eslint",
"eslint-plugin-jsdoc",
"eslint-plugin-vue"
],
"effects": [],
"range": ">=0.9.0",
"nodes": [
"node_modules/eslint-config-wikimedia"
],
"fixAvailable": {
"name": "eslint-config-wikimedia",
"version": "0.8.1",
"isSemVerMajor": true
}
},
"eslint-plugin-jest": {
"name": "eslint-plugin-jest",
"severity": "high",
"isDirect": false,
"via": [
"@typescript-eslint/utils",
"eslint"
],
"effects": [],
"range": ">=25.0.1",
"nodes": [
"node_modules/eslint-plugin-jest"
],
"fixAvailable": true
},
"eslint-plugin-jsdoc": {
"name": "eslint-plugin-jsdoc",
"severity": "high",
"isDirect": false,
"via": [
"eslint"
],
"effects": [
"eslint-config-wikimedia"
],
"range": "8.4.4 - 62.6.1",
"nodes": [
"node_modules/eslint-plugin-jsdoc"
],
"fixAvailable": {
"name": "eslint-config-wikimedia",
"version": "0.8.1",
"isSemVerMajor": true
}
},
"eslint-plugin-vue": {
"name": "eslint-plugin-vue",
"severity": "high",
"isDirect": false,
"via": [
"eslint"
],
"effects": [
"eslint-config-wikimedia"
],
"range": "5.0.0-beta.0 - 10.7.0",
"nodes": [
"node_modules/eslint-plugin-vue"
],
"fixAvailable": {
"name": "eslint-config-wikimedia",
"version": "0.8.1",
"isSemVerMajor": true
}
},
"expect-webdriverio": {
"name": "expect-webdriverio",
"severity": "high",
"isDirect": false,
"via": [
"@wdio/globals",
"webdriverio"
],
"effects": [
"@wdio/globals",
"@wdio/local-runner",
"@wdio/runner"
],
"range": "4.0.0-alpha.0 - 4.0.0-alpha.6 || >=4.0.1",
"nodes": [
"node_modules/expect-webdriverio"
],
"fixAvailable": false
},
"fast-xml-parser": {
"name": "fast-xml-parser",
"severity": "critical",
"isDirect": false,
"via": [
{
"source": 1113153,
"name": "fast-xml-parser",
"dependency": "fast-xml-parser",
"title": "fast-xml-parser has RangeError DoS Numeric Entities Bug",
"url": "https://github.com/advisories/GHSA-37qj-frw5-hhjh",
"severity": "high",
"cwe": [
"CWE-20",
"CWE-248"
],
"cvss": {
"score": 7.5,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
},
"range": ">=5.0.9 <=5.3.3"
},
{
"source": 1113331,
"name": "fast-xml-parser",
"dependency": "fast-xml-parser",
"title": "fast-xml-parser affected by DoS through entity expansion in DOCTYPE (no expansion limit)",
"url": "https://github.com/advisories/GHSA-jmr7-xgp7-cmfj",
"severity": "high",
"cwe": [
"CWE-776"
],
"cvss": {
"score": 7.5,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
},
"range": ">=4.1.3 <5.3.6"
},
{
"source": 1113407,
"name": "fast-xml-parser",
"dependency": "fast-xml-parser",
"title": "fast-xml-parser has an entity encoding bypass via regex injection in DOCTYPE entity names",
"url": "https://github.com/advisories/GHSA-m7jm-9gc2-mpf2",
"severity": "critical",
"cwe": [
"CWE-185"
],
"cvss": {
"score": 9.3,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:H/A:N"
},
"range": ">=4.1.3 <5.3.5"
}
],
"effects": [],
"range": "4.1.3 - 5.3.5",
"nodes": [
"node_modules/fast-xml-parser"
],
"fixAvailable": true
},
"file-entry-cache": {
"name": "file-entry-cache",
"severity": "high",
"isDirect": false,
"via": [
"flat-cache"
],
"effects": [
"eslint"
],
"range": "4.0.0 - 7.0.2",
"nodes": [
"node_modules/file-entry-cache"
],
"fixAvailable": {
"name": "grunt-eslint",
"version": "18.0.0",
"isSemVerMajor": true
}
},
"filelist": {
"name": "filelist",
"severity": "high",
"isDirect": false,
"via": [
"minimatch"
],
"effects": [
"jake"
],
"range": ">=0.0.2",
"nodes": [
"node_modules/filelist"
],
"fixAvailable": true
},
"flat-cache": {
"name": "flat-cache",
"severity": "high",
"isDirect": false,
"via": [
"rimraf"
],
"effects": [
"file-entry-cache"
],
"range": "1.3.4 - 4.0.0",
"nodes": [
"node_modules/flat-cache"
],
"fixAvailable": {
"name": "grunt-eslint",
"version": "18.0.0",
"isSemVerMajor": true
}
},
"glob": {
"name": "glob",
"severity": "high",
"isDirect": false,
"via": [
"minimatch"
],
"effects": [
"@jest/reporters",
"@wdio/config",
"archiver-utils",
"jest-config",
"jest-runtime",
"js-beautify",
"mocha",
"rimraf",
"test-exclude"
],
"range": "3.0.0 - 10.5.0",
"nodes": [
"node_modules/@jest/reporters/node_modules/glob",
"node_modules/glob",
"node_modules/grunt/node_modules/glob",
"node_modules/jest-config/node_modules/glob",
"node_modules/jest-runtime/node_modules/glob",
"node_modules/mocha/node_modules/glob",
"node_modules/rimraf/node_modules/glob",
"node_modules/test-exclude/node_modules/glob"
],
"fixAvailable": {
"name": "jest",
"version": "19.0.2",
"isSemVerMajor": true
}
},
"grunt": {
"name": "grunt",
"severity": "high",
"isDirect": true,
"via": [
"glob",
"minimatch"
],
"effects": [
"grunt-eslint"
],
"range": ">=0.4.0-a",
"nodes": [
"node_modules/grunt"
],
"fixAvailable": {
"name": "grunt",
"version": "0.3.17",
"isSemVerMajor": true
}
},
"grunt-eslint": {
"name": "grunt-eslint",
"severity": "high",
"isDirect": true,
"via": [
"eslint",
"grunt"
],
"effects": [],
"range": "<=17.3.2 || >=18.1.0",
"nodes": [
"node_modules/grunt-eslint"
],
"fixAvailable": {
"name": "grunt-eslint",
"version": "18.0.0",
"isSemVerMajor": true
}
},
"jake": {
"name": "jake",
"severity": "high",
"isDirect": false,
"via": [
"filelist"
],
"effects": [
"ejs"
],
"range": ">=10.6.1",
"nodes": [
"node_modules/jake"
],
"fixAvailable": true
},
"jest": {
"name": "jest",
"severity": "high",
"isDirect": true,
"via": [
"@jest/core",
"jest-cli"
],
"effects": [],
"range": ">=19.1.0-alpha.eed82034",
"nodes": [
"node_modules/jest"
],
"fixAvailable": {
"name": "jest",
"version": "19.0.2",
"isSemVerMajor": true
}
},
"jest-circus": {
"name": "jest-circus",
"severity": "high",
"isDirect": false,
"via": [
"@jest/expect",
"jest-runtime",
"jest-snapshot"
],
"effects": [
"jest-config"
],
"range": ">=25.2.4",
"nodes": [
"node_modules/jest-circus"
],
"fixAvailable": {
"name": "jest",
"version": "19.0.2",
"isSemVerMajor": true
}
},
"jest-cli": {
"name": "jest-cli",
"severity": "high",
"isDirect": false,
"via": [
"@jest/core",
"create-jest",
"jest-config"
],
"effects": [
"jest"
],
"range": ">=19.1.0-alpha.eed82034",
"nodes": [
"node_modules/jest-cli"
],
"fixAvailable": {
"name": "jest",
"version": "19.0.2",
"isSemVerMajor": true
}
},
"jest-config": {
"name": "jest-config",
"severity": "high",
"isDirect": false,
"via": [
"babel-jest",
"glob",
"jest-circus",
"jest-runner"
],
"effects": [
"@jest/core",
"create-jest",
"jest-cli"
],
"range": ">=19.1.0-alpha.eed82034",
"nodes": [
"node_modules/jest-config"
],
"fixAvailable": {
"name": "jest",
"version": "19.0.2",
"isSemVerMajor": true
}
},
"jest-resolve-dependencies": {
"name": "jest-resolve-dependencies",
"severity": "high",
"isDirect": false,
"via": [
"jest-snapshot"
],
"effects": [],
"range": ">=27.0.0-next.0",
"nodes": [
"node_modules/jest-resolve-dependencies"
],
"fixAvailable": true
},
"jest-runner": {
"name": "jest-runner",
"severity": "high",
"isDirect": false,
"via": [
"@jest/transform",
"jest-runtime"
],
"effects": [
"jest-config"
],
"range": ">=24.0.0-alpha.0",
"nodes": [
"node_modules/jest-runner"
],
"fixAvailable": {
"name": "jest",
"version": "19.0.2",
"isSemVerMajor": true
}
},
"jest-runtime": {
"name": "jest-runtime",
"severity": "high",
"isDirect": false,
"via": [
"@jest/globals",
"@jest/transform",
"glob",
"jest-snapshot"
],
"effects": [
"jest-circus",
"jest-runner"
],
"range": ">=24.0.0-alpha.0",
"nodes": [
"node_modules/jest-runtime"
],
"fixAvailable": {
"name": "jest",
"version": "19.0.2",
"isSemVerMajor": true
}
},
"jest-snapshot": {
"name": "jest-snapshot",
"severity": "high",
"isDirect": false,
"via": [
"@jest/transform"
],
"effects": [
"@jest/core",
"@jest/expect",
"jest-circus",
"jest-resolve-dependencies",
"jest-runtime"
],
"range": ">=27.0.0-next.0",
"nodes": [
"node_modules/jest-snapshot"
],
"fixAvailable": {
"name": "jest",
"version": "19.0.2",
"isSemVerMajor": true
}
},
"js-beautify": {
"name": "js-beautify",
"severity": "high",
"isDirect": false,
"via": [
"editorconfig",
"glob"
],
"effects": [
"@vue/test-utils"
],
"range": ">=1.8.9",
"nodes": [
"node_modules/js-beautify"
],
"fixAvailable": {
"name": "@vue/test-utils",
"version": "2.2.7",
"isSemVerMajor": true
}
},
"markdown-it": {
"name": "markdown-it",
"severity": "moderate",
"isDirect": false,
"via": [
{
"source": 1113190,
"name": "markdown-it",
"dependency": "markdown-it",
"title": "markdown-it is has a Regular Expression Denial of Service (ReDoS)",
"url": "https://github.com/advisories/GHSA-38c4-r59v-3vqw",
"severity": "moderate",
"cwe": [
"CWE-1333"
],
"cvss": {
"score": 5.3,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
},
"range": ">=13.0.0 <14.1.1"
}
],
"effects": [],
"range": "13.0.0 - 14.1.0",
"nodes": [
"node_modules/markdown-it"
],
"fixAvailable": true
},
"minimatch": {
"name": "minimatch",
"severity": "high",
"isDirect": false,
"via": [
{
"source": 1113371,
"name": "minimatch",
"dependency": "minimatch",
"title": "minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern",
"url": "https://github.com/advisories/GHSA-3ppc-4f35-3m26",
"severity": "high",
"cwe": [
"CWE-1333"
],
"cvss": {
"score": 0,
"vectorString": null
},
"range": "<10.2.1"
}
],
"effects": [
"@eslint/eslintrc",
"@humanwhocodes/config-array",
"@typescript-eslint/typescript-estree",
"editorconfig",
"eslint",
"filelist",
"glob",
"grunt",
"mocha",
"multimatch",
"readdir-glob",
"recursive-readdir",
"test-exclude"
],
"range": "<10.2.1",
"nodes": [
"node_modules/@eslint/eslintrc/node_modules/minimatch",
"node_modules/@humanwhocodes/config-array/node_modules/minimatch",
"node_modules/@jest/reporters/node_modules/minimatch",
"node_modules/editorconfig/node_modules/minimatch",
"node_modules/eslint/node_modules/minimatch",
"node_modules/filelist/node_modules/minimatch",
"node_modules/grunt/node_modules/minimatch",
"node_modules/jest-config/node_modules/minimatch",
"node_modules/jest-runtime/node_modules/minimatch",
"node_modules/minimatch",
"node_modules/mocha/node_modules/minimatch",
"node_modules/multimatch/node_modules/minimatch",
"node_modules/readdir-glob/node_modules/minimatch",
"node_modules/recursive-readdir/node_modules/minimatch",
"node_modules/rimraf/node_modules/minimatch",
"node_modules/test-exclude/node_modules/minimatch"
],
"fixAvailable": {
"name": "jest",
"version": "19.0.2",
"isSemVerMajor": true
}
},
"mocha": {
"name": "mocha",
"severity": "high",
"isDirect": false,
"via": [
"glob",
"minimatch"
],
"effects": [
"@wdio/mocha-framework"
],
"range": ">=1.10.0",
"nodes": [
"node_modules/mocha"
],
"fixAvailable": false
},
"multimatch": {
"name": "multimatch",
"severity": "high",
"isDirect": false,
"via": [
"minimatch"
],
"effects": [
"doiuse"
],
"range": "<=7.0.0",
"nodes": [
"node_modules/multimatch"
],
"fixAvailable": {
"name": "stylelint-config-wikimedia",
"version": "0.10.1",
"isSemVerMajor": true
}
},
"readdir-glob": {
"name": "readdir-glob",
"severity": "high",
"isDirect": false,
"via": [
"minimatch"
],
"effects": [
"archiver"
],
"range": "<=2.0.1",
"nodes": [
"node_modules/readdir-glob"
],
"fixAvailable": false
},
"recursive-readdir": {
"name": "recursive-readdir",
"severity": "high",
"isDirect": false,
"via": [
"minimatch"
],
"effects": [
"create-wdio"
],
"range": ">=1.2.0",
"nodes": [
"node_modules/recursive-readdir"
],
"fixAvailable": false
},
"rimraf": {
"name": "rimraf",
"severity": "high",
"isDirect": false,
"via": [
"glob"
],
"effects": [
"flat-cache"
],
"range": "2.3.0 - 3.0.2 || 4.2.0 - 5.0.10",
"nodes": [
"node_modules/rimraf"
],
"fixAvailable": {
"name": "grunt-eslint",
"version": "18.0.0",
"isSemVerMajor": true
}
},
"stylelint-config-wikimedia": {
"name": "stylelint-config-wikimedia",
"severity": "high",
"isDirect": true,
"via": [
"stylelint-no-unsupported-browser-features"
],
"effects": [],
"range": ">=0.10.2",
"nodes": [
"node_modules/stylelint-config-wikimedia"
],
"fixAvailable": {
"name": "stylelint-config-wikimedia",
"version": "0.10.1",
"isSemVerMajor": true
}
},
"stylelint-no-unsupported-browser-features": {
"name": "stylelint-no-unsupported-browser-features",
"severity": "high",
"isDirect": false,
"via": [
"doiuse"
],
"effects": [
"stylelint-config-wikimedia"
],
"range": "*",
"nodes": [
"node_modules/stylelint-no-unsupported-browser-features"
],
"fixAvailable": {
"name": "stylelint-config-wikimedia",
"version": "0.10.1",
"isSemVerMajor": true
}
},
"test-exclude": {
"name": "test-exclude",
"severity": "high",
"isDirect": false,
"via": [
"glob",
"minimatch"
],
"effects": [
"babel-plugin-istanbul"
],
"range": "4.2.2 || >=5.0.0",
"nodes": [
"node_modules/test-exclude"
],
"fixAvailable": {
"name": "jest",
"version": "19.0.2",
"isSemVerMajor": true
}
},
"webdriver": {
"name": "webdriver",
"severity": "high",
"isDirect": false,
"via": [
"@wdio/config"
],
"effects": [
"@wdio/runner"
],
"range": ">=5.0.0-alpha.2",
"nodes": [
"node_modules/webdriver"
],
"fixAvailable": false
},
"webdriverio": {
"name": "webdriverio",
"severity": "high",
"isDirect": false,
"via": [
"@wdio/config",
"archiver",
"webdriver"
],
"effects": [
"@wdio/globals",
"expect-webdriverio"
],
"range": ">=5.0.0-alpha.2",
"nodes": [
"node_modules/webdriverio"
],
"fixAvailable": false
},
"zip-stream": {
"name": "zip-stream",
"severity": "high",
"isDirect": false,
"via": [
"archiver-utils"
],
"effects": [],
"range": "0.8.0 - 6.0.1",
"nodes": [
"node_modules/zip-stream"
],
"fixAvailable": true
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 0,
"moderate": 2,
"high": 65,
"critical": 1,
"total": 68
},
"dependencies": {
"prod": 1,
"dev": 1441,
"optional": 38,
"peer": 1,
"peerOptional": 0,
"total": 1441
}
}
}
--- end ---
$ /usr/bin/composer install
--- stderr ---
No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information.
Loading composer repositories with package information
Updating dependencies
Lock file operations: 41 installs, 0 updates, 0 removals
- Locking composer/pcre (3.3.2)
- Locking composer/semver (3.4.4)
- Locking composer/spdx-licenses (1.5.9)
- Locking composer/xdebug-handler (3.0.5)
- Locking dealerdirect/phpcodesniffer-composer-installer (v1.2.0)
- Locking diff/diff (3.4.0)
- Locking doctrine/deprecations (1.1.6)
- Locking felixfbecker/advanced-json-rpc (v3.2.1)
- Locking mediawiki/mediawiki-codesniffer (v49.0.0)
- Locking mediawiki/mediawiki-phan-config (0.18.0)
- Locking mediawiki/minus-x (1.1.3)
- Locking mediawiki/phan-taint-check-plugin (8.0.0)
- Locking microsoft/tolerant-php-parser (v0.1.2)
- Locking netresearch/jsonmapper (v4.5.0)
- Locking phan/phan (5.5.2)
- Locking php-parallel-lint/php-console-color (v1.0.1)
- Locking php-parallel-lint/php-console-highlighter (v1.0.0)
- Locking php-parallel-lint/php-parallel-lint (v1.4.0)
- Locking phpcsstandards/phpcsextra (1.4.0)
- Locking phpcsstandards/phpcsutils (1.2.2)
- Locking phpdocumentor/reflection-common (2.2.0)
- Locking phpdocumentor/reflection-docblock (5.6.6)
- Locking phpdocumentor/type-resolver (1.12.0)
- Locking phpstan/phpdoc-parser (2.3.2)
- Locking psr/container (2.0.2)
- Locking psr/log (3.0.2)
- Locking sabre/event (5.1.7)
- Locking squizlabs/php_codesniffer (3.13.5)
- Locking symfony/console (v7.4.4)
- Locking symfony/deprecation-contracts (v3.6.0)
- Locking symfony/polyfill-ctype (v1.33.0)
- Locking symfony/polyfill-intl-grapheme (v1.33.0)
- Locking symfony/polyfill-intl-normalizer (v1.33.0)
- Locking symfony/polyfill-mbstring (v1.33.0)
- Locking symfony/polyfill-php80 (v1.33.0)
- Locking symfony/service-contracts (v3.6.1)
- Locking symfony/string (v8.0.4)
- Locking tysonandre/var_representation_polyfill (0.1.3)
- Locking webmozart/assert (2.1.5)
- Locking wikimedia/remex-html (5.1.0)
- Locking wikimedia/utfnormal (4.0.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 41 installs, 0 updates, 0 removals
0 [>---------------------------] 0 [->--------------------------]
- Installing squizlabs/php_codesniffer (3.13.5): Extracting archive
- Installing dealerdirect/phpcodesniffer-composer-installer (v1.2.0): Extracting archive
- Installing composer/pcre (3.3.2): Extracting archive
- Installing diff/diff (3.4.0): Extracting archive
- Installing phpcsstandards/phpcsutils (1.2.2): Extracting archive
- Installing phpcsstandards/phpcsextra (1.4.0): Extracting archive
- Installing symfony/polyfill-mbstring (v1.33.0): Extracting archive
- Installing composer/spdx-licenses (1.5.9): Extracting archive
- Installing composer/semver (3.4.4): Extracting archive
- Installing mediawiki/mediawiki-codesniffer (v49.0.0): Extracting archive
- Installing tysonandre/var_representation_polyfill (0.1.3): Extracting archive
- Installing symfony/polyfill-php80 (v1.33.0): Extracting archive
- Installing symfony/polyfill-intl-normalizer (v1.33.0): Extracting archive
- Installing symfony/polyfill-intl-grapheme (v1.33.0): Extracting archive
- Installing symfony/polyfill-ctype (v1.33.0): Extracting archive
- Installing symfony/string (v8.0.4): Extracting archive
- Installing symfony/deprecation-contracts (v3.6.0): Extracting archive
- Installing psr/container (2.0.2): Extracting archive
- Installing symfony/service-contracts (v3.6.1): Extracting archive
- Installing symfony/console (v7.4.4): Extracting archive
- Installing sabre/event (5.1.7): Extracting archive
- Installing netresearch/jsonmapper (v4.5.0): Extracting archive
- Installing microsoft/tolerant-php-parser (v0.1.2): Extracting archive
- Installing webmozart/assert (2.1.5): Extracting archive
- Installing phpstan/phpdoc-parser (2.3.2): Extracting archive
- Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
- Installing doctrine/deprecations (1.1.6): Extracting archive
- Installing phpdocumentor/type-resolver (1.12.0): Extracting archive
- Installing phpdocumentor/reflection-docblock (5.6.6): Extracting archive
- Installing felixfbecker/advanced-json-rpc (v3.2.1): Extracting archive
- Installing psr/log (3.0.2): Extracting archive
- Installing composer/xdebug-handler (3.0.5): Extracting archive
- Installing phan/phan (5.5.2): Extracting archive
- Installing mediawiki/phan-taint-check-plugin (8.0.0): Extracting archive
- Installing mediawiki/mediawiki-phan-config (0.18.0): Extracting archive
- Installing mediawiki/minus-x (1.1.3): Extracting archive
- Installing php-parallel-lint/php-console-color (v1.0.1): Extracting archive
- Installing php-parallel-lint/php-console-highlighter (v1.0.0): Extracting archive
- Installing php-parallel-lint/php-parallel-lint (v1.4.0): Extracting archive
- Installing wikimedia/utfnormal (4.0.0): Extracting archive
- Installing wikimedia/remex-html (5.1.0): Extracting archive
0/39 [>---------------------------] 0%
9/39 [======>---------------------] 23%
28/39 [====================>-------] 71%
38/39 [===========================>] 97%
39/39 [============================] 100%
1 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
17 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---
PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils
--- end ---
Upgrading n:@wikimedia/codex from 2.3.3 -> 2.3.4
Upgrading n:jsdoc-wmf-theme from 1.1.0 -> 1.2.0
$ /usr/bin/npm install
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex@2.3.4',
npm WARN EBADENGINE required: { npm: '>=10.8.2', node: '>=20.19.1' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex-icons@2.3.4',
npm WARN EBADENGINE required: { npm: '>=10.8.2', node: '>=20.19.1' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated osenv@0.1.5: This package is no longer supported.
npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm WARN deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.1.7: Glob versions prior to v9 are no longer supported
npm WARN deprecated domexception@4.0.0: Use your platform's native DOMException instead
npm WARN deprecated node-domexception@1.0.0: Use your platform's native DOMException instead
npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
--- stdout ---
added 1415 packages, and audited 1416 packages in 31s
259 packages are looking for funding
run `npm fund` for details
67 vulnerabilities (2 moderate, 64 high, 1 critical)
To address issues that do not require attention, run:
npm audit fix
To address all issues possible (including breaking changes), run:
npm audit fix --force
Some issues need review, and may require choosing
a different dependency.
Run `npm audit` for details.
--- end ---
$ package-lock-lint /src/repo/package-lock.json
--- stdout ---
Checking /src/repo/package-lock.json
--- end ---
$ /usr/bin/npm ci
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex@2.3.4',
npm WARN EBADENGINE required: { node: '>=20.19.1', npm: '>=10.8.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex-icons@2.3.4',
npm WARN EBADENGINE required: { node: '>=20.19.1', npm: '>=10.8.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated osenv@0.1.5: This package is no longer supported.
npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm WARN deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.1.7: Glob versions prior to v9 are no longer supported
npm WARN deprecated domexception@4.0.0: Use your platform's native DOMException instead
npm WARN deprecated node-domexception@1.0.0: Use your platform's native DOMException instead
npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
--- stdout ---
added 1415 packages, and audited 1416 packages in 40s
259 packages are looking for funding
run `npm fund` for details
67 vulnerabilities (2 moderate, 64 high, 1 critical)
To address issues that do not require attention, run:
npm audit fix
To address all issues possible (including breaking changes), run:
npm audit fix --force
Some issues need review, and may require choosing
a different dependency.
Run `npm audit` for details.
--- end ---
$ /usr/bin/npm test
--- stderr ---
[baseline-browser-mapping] The data in this module is over two months old. To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
PASS tests/jest/utils/zobjectUtils.test.js
PASS tests/jest/store/stores/submission.test.js
PASS tests/jest/store/stores/zobject.test.js
[baseline-browser-mapping] The data in this module is over two months old. To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
PASS tests/jest/store/stores/library.test.js
PASS tests/jest/store/stores/factory.test.js
[baseline-browser-mapping] The data in this module is over two months old. To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
[baseline-browser-mapping] The data in this module is over two months old. To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
PASS tests/jest/components/widgets/about/About.test.js (5.375 s)
PASS tests/jest/components/default/ZObjectKeyValue.test.js (7.037 s)
PASS tests/jest/references/composables/usePreventScrollIOS.test.js
PASS tests/jest/utils/typeUtils.test.js
PASS tests/jest/components/visualeditor/FunctionInputPreview.test.js
PASS tests/jest/store/stores/router.test.js
PASS tests/jest/components/widgets/about/AboutLanguageBlock.test.js
PASS tests/jest/store/stores/wikidata/lexemes.test.js
FAIL tests/jest/components/base/ModeSelector.test.js
● ModeSelector › basic rendering › renders the menu button
expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
93 |
94 | expect( menu.exists() ).toBe( true );
> 95 | expect( toggleButton.exists() ).toBe( true );
| ^
96 | } );
97 |
98 | it( 'opens the menu when button is clicked', async () => {
at Object.<anonymous> (tests/jest/components/base/ModeSelector.test.js:95:36)
● ModeSelector › basic rendering › opens the menu when button is clicked
Cannot call trigger on an empty VueWrapper.
107 |
108 | const button = wrapper.findComponent( { name: 'cdx-toggle-button' } );
> 109 | button.trigger( 'click' );
| ^
110 |
111 | // Wait for the next tick to ensure the menu is updated
112 | await wrapper.vm.$nextTick();
at Object.get (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:1574:27)
at Object.<anonymous> (tests/jest/components/base/ModeSelector.test.js:109:11)
PASS tests/jest/components/default/ZObjectToString.test.js (12.008 s)
PASS tests/jest/components/default/ZObjectStringRenderer.test.js
PASS tests/jest/store/stores/abstractWiki.test.js
PASS tests/jest/store/stores/zfunction.test.js
PASS tests/jest/components/widgets/function-evaluator/FunctionMetadataDialog.test.js
PASS tests/jest/components/widgets/function-evaluator/FunctionEvaluator.test.js
PASS tests/jest/components/default/ZMultilingualString.test.js
PASS tests/jest/store/stores/wikidata/entities.test.js
PASS tests/jest/components/default/ZMultilingualStringDialog.test.js
PASS tests/jest/store/stores/ztype.test.js
PASS tests/jest/store/stores/testResults.test.js
PASS tests/jest/composables/useMenuAction.test.js
PASS tests/jest/references/composables/useFocusTrap.test.js
PASS tests/jest/components/widgets/function-explorer/FunctionExplorer.test.js
PASS tests/jest/components/base/ZObjectSelector.test.js (5.66 s)
PASS tests/jest/components/visualeditor/FunctionInputField.test.js
PASS tests/jest/components/function/viewer/FunctionViewerDetails.test.js
PASS tests/jest/components/base/CodeEditor.test.js
PASS tests/jest/utils/scrollUtils.test.js
PASS tests/jest/components/default/wikidata/EntitySelector.test.js
PASS tests/jest/components/default/wikidata/LexemeSense.test.js
PASS tests/jest/components/widgets/publish/PublishDialog.test.js
PASS tests/jest/components/widgets/about/AboutLanguagesDialog.test.js
PASS tests/jest/components/visualeditor/fields/FunctionInputParser.test.js
PASS tests/jest/store/stores/wikidata/properties.test.js
PASS tests/jest/integration/CreateNewWikidataEnum.test.js (16.562 s)
PASS tests/jest/languageselector/LanguageSelector.test.js
PASS tests/jest/store/stores/errors.test.js
PASS tests/jest/store/classes/ApiError.test.js
PASS tests/jest/components/visualeditor/FunctionInputSetup.test.js
PASS tests/jest/references/components/reference/ReferenceManager.test.js
PASS tests/jest/components/default/ZTester.test.js
PASS tests/jest/components/default/ZCode.test.js
PASS tests/jest/store/stores/wikidata/items.test.js
PASS tests/jest/components/default/ZArgumentReference.test.js
PASS tests/jest/components/function/editor/FunctionEditor.test.js
PASS tests/jest/components/widgets/function-report/FunctionReport.test.js
PASS tests/jest/components/visualeditor/fields/FunctionInputWikidata.test.js
PASS tests/jest/components/default/ZImplementation.test.js
PASS tests/jest/components/widgets/publish/Publish.test.js
PASS tests/jest/components/visualeditor/fields/FunctionInputLanguage.test.js
PASS tests/jest/integration/DisconnectFunctionImplementation.test.js (5.312 s)
PASS tests/jest/integration/CreateNewCompositionImplementation.test.js (8.762 s)
PASS tests/jest/components/widgets/function-evaluator/EvaluationResult.test.js
PASS tests/jest/components/visualeditor/fields/FunctionInputEnum.test.js
PASS tests/jest/utils/schemata.test.js
PASS tests/jest/integration/CreateNewTester.test.js (15.031 s)
PASS tests/jest/utils/urlUtils.test.js
PASS tests/jest/components/abstract/AbstractContentSection.test.js
PASS tests/jest/store/stores/currentPage.test.js
PASS tests/jest/components/base/TypeSelector.test.js
PASS tests/jest/composables/useScroll.test.js
PASS tests/jest/components/default/ZMonolingualString.test.js
PASS tests/jest/integration/CreateNewFunction.test.js (6.122 s)
PASS tests/jest/integration/EditFunction.test.js (5.684 s)
PASS tests/jest/components/default/wikidata/LexemeForm.test.js
PASS tests/jest/integration/FunctionEditorEdgeCases.test.js (6.285 s)
PASS tests/jest/integration/CreateNewCodeImplementation.test.js (15.306 s)
PASS tests/jest/references/composables/useScrollLock.test.js
PASS tests/jest/components/visualeditor/ExpandableDescription.test.js
PASS tests/jest/components/default/wikidata/Property.test.js
PASS tests/jest/components/base/HTMLFragmentViewer.test.js
PASS tests/jest/components/default/wikidata/Lexeme.test.js
PASS tests/jest/components/abstract/AbstractTitle.test.js
PASS tests/jest/store/stores/visualeditor.test.js
PASS tests/jest/references/components/base/Drawer.test.js
PASS tests/jest/components/default/wikidata/Item.test.js
PASS tests/jest/store/stores/zhtml.test.js
PASS tests/jest/components/function/editor/FunctionEditorLanguage.test.js
PASS tests/jest/composables/useClipboardManager.test.js
PASS tests/jest/components/default/ZReference.test.js
PASS tests/jest/components/abstract/AbstractPreviewFragment.test.js
PASS tests/jest/components/function/editor/FunctionEditorInputsItem.test.js
PASS tests/jest/integration/RunFunctionCall.test.js
PASS tests/jest/components/function/editor/FunctionEditorName.test.js
PASS tests/jest/references/components/reference/ReferencePopover.test.js
PASS tests/jest/utils/wikidataUtils.test.js
PASS tests/jest/composables/useZObject.test.js
PASS tests/jest/store/stores/queue.test.js
PASS tests/jest/utils/miscUtils.test.js
PASS tests/jest/composables/useShareUrl.test.js
PASS tests/jest/components/function/editor/FunctionEditorDescription.test.js
PASS tests/jest/integration/FunctionEditorGenericTypes.test.js (6.765 s)
PASS tests/jest/components/abstract/AbstractContentFragment.test.js
PASS tests/jest/composables/usePageTitle.test.js
PASS tests/jest/components/default/ZTypedList.test.js
PASS tests/jest/utils/metadataUtils.test.js
PASS tests/jest/components/visualeditor/FunctionSelect.test.js
PASS tests/jest/components/function/editor/FunctionEditorLanguageBlock.test.js
PASS tests/jest/components/default/wikidata/ReferenceSelector.test.js
PASS tests/jest/composables/useError.test.js
PASS tests/jest/components/default/ZTypedListItems.test.js
PASS tests/jest/components/function/editor/FunctionEditorAliases.test.js
PASS tests/jest/composables/useBreakpoints.test.js
PASS tests/jest/references/composables/useBreakpoints.test.js
PASS tests/jest/store/stores/listItems.test.js
PASS tests/jest/composables/useClipboard.test.js
PASS tests/jest/components/function/editor/FunctionEditorInputs.test.js
PASS tests/jest/components/function/viewer/FunctionViewerDetailsTable.test.js
PASS tests/jest/components/default/wikidata/Enum.test.js
PASS tests/jest/store/stores/user.test.js
PASS tests/jest/components/abstract/AbstractPreview.test.js
PASS tests/jest/utils/errorUtils.test.js
PASS tests/jest/components/visualeditor/FunctionCallSetup.test.js
PASS tests/jest/components/App.test.js
PASS tests/jest/components/widgets/function-report/FunctionReportItem.test.js
PASS tests/jest/utils/eventLogUtils.test.js
PASS tests/jest/integration/ConnectFunctionImplementation.test.js
PASS tests/jest/store/classes/ErrorData.test.js
PASS tests/jest/components/abstract/AbstractPublish.test.js
PASS tests/jest/integration/ConnectFunctionTest.test.js
PASS tests/jest/composables/useLeaveEditorDialog.test.js
PASS tests/jest/integration/DisconnectFunctionTest.test.js
PASS tests/jest/integration/CancelEditExistingFunction.test.js (7.219 s)
PASS tests/jest/components/base/ExpandedToggle.test.js
PASS tests/jest/utils/sortUtils.test.js
PASS tests/jest/components/function/editor/FunctionEditorOutput.test.js
PASS tests/jest/store/stores/languages.test.js
PASS tests/jest/components/visualeditor/FunctionInputDefaultValueCheckbox.test.js
PASS tests/jest/store/stores/functionCall.test.js
PASS tests/jest/views/FunctionViewer.test.js
PASS tests/jest/components/visualeditor/fields/FunctionInputString.test.js
PASS tests/jest/components/default/ZBoolean.test.js
PASS tests/jest/components/default/wikidata/Statement.test.js
PASS tests/jest/components/base/LocalizedLabel.test.js
PASS tests/jest/views/Abstract.test.js
PASS tests/jest/components/default/ZHTMLFragment.test.js
PASS tests/jest/integration/CancelEditNewFunction.test.js (5.085 s)
PASS tests/jest/components/default/ZString.test.js
PASS tests/jest/components/default/ZTypedListType.test.js
PASS tests/jest/components/abstract/AbstractContent.test.js
PASS tests/jest/components/base/SafeMessage.test.js
PASS tests/jest/store/stores/programmingLanguages.test.js
PASS tests/jest/composables/useEventLog.test.js
PASS tests/jest/composables/useType.test.js
PASS tests/jest/components/default/ZFunctionCall.test.js
PASS tests/jest/store/index.test.js
PASS tests/jest/components/widgets/publish/LeaveEditorDialog.test.js
Summary of all failing tests
FAIL tests/jest/components/base/ModeSelector.test.js
● ModeSelector › basic rendering › renders the menu button
expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
93 |
94 | expect( menu.exists() ).toBe( true );
> 95 | expect( toggleButton.exists() ).toBe( true );
| ^
96 | } );
97 |
98 | it( 'opens the menu when button is clicked', async () => {
at Object.<anonymous> (tests/jest/components/base/ModeSelector.test.js:95:36)
● ModeSelector › basic rendering › opens the menu when button is clicked
Cannot call trigger on an empty VueWrapper.
107 |
108 | const button = wrapper.findComponent( { name: 'cdx-toggle-button' } );
> 109 | button.trigger( 'click' );
| ^
110 |
111 | // Wait for the next tick to ensure the menu is updated
112 | await wrapper.vm.$nextTick();
at Object.get (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:1574:27)
at Object.<anonymous> (tests/jest/components/base/ModeSelector.test.js:109:11)
Test Suites: 1 failed, 151 passed, 152 total
Tests: 2 failed, 2409 passed, 2411 total
Snapshots: 0 total
Time: 170.444 s
Ran all test suites.
--- stdout ---
> test
> grunt test && npm run test:unit
Running "eslint:all" (eslint) task
/src/repo/docker-compose.sample.yml
3:1 warning This line has a length of 103. Maximum allowed is 100 max-len
4:1 warning This line has a length of 107. Maximum allowed is 100 max-len
49:1 warning This line has a length of 117. Maximum allowed is 100 max-len
50:1 warning This line has a length of 104. Maximum allowed is 100 max-len
51:1 warning This line has a length of 106. Maximum allowed is 100 max-len
58:1 warning This line has a length of 120. Maximum allowed is 100 max-len
59:1 warning This line has a length of 104. Maximum allowed is 100 max-len
60:1 warning This line has a length of 109. Maximum allowed is 100 max-len
/src/repo/jest.setup.js
67:1 warning This line has a length of 123. Maximum allowed is 100 max-len
✖ 9 problems (0 errors, 9 warnings)
Running "banana:WikiLambda" (banana) task
>> 4 message directories checked.
Running "stylelint:all" (stylelint) task
>> Linted 319 files without errors
Done.
> test:unit
> jest
----------------------------------------------------------|---------|----------|---------|---------|---------------------------------------------------------------------------------------------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
----------------------------------------------------------|---------|----------|---------|---------|---------------------------------------------------------------------------------------------------------
All files | 97.92 | 92.84 | 95.8 | 97.92 |
ext.wikilambda.app/components | 94.07 | 100 | 100 | 94.07 |
App.vue | 94.07 | 100 | 100 | 94.07 | 79,82,102,113-117
ext.wikilambda.app/components/abstract | 97.96 | 91.13 | 84.61 | 97.96 |
AbstractContent.vue | 100 | 100 | 100 | 100 |
AbstractContentFragment.vue | 100 | 100 | 100 | 100 |
AbstractContentSection.vue | 95.87 | 80 | 100 | 95.87 | 135-137,142-144,148-150
AbstractPreview.vue | 98.38 | 100 | 50 | 98.38 | 101-102
AbstractPreviewFragment.vue | 100 | 100 | 100 | 100 |
AbstractPublish.vue | 92.79 | 100 | 50 | 92.79 | 72-73,87-88,91-94
AbstractTitle.vue | 97.77 | 84.21 | 100 | 97.77 | 166-167,175-177
ext.wikilambda.app/components/base | 97.84 | 91.96 | 88.88 | 97.84 |
CodeEditor.vue | 97.55 | 94.44 | 100 | 97.55 | 180-187
CustomDialogHeader.vue | 100 | 100 | 100 | 100 |
ExpandedToggle.vue | 100 | 100 | 100 | 100 |
HTMLFragmentViewer.vue | 98.55 | 100 | 100 | 98.55 | 100-101
KeyBlock.vue | 100 | 100 | 100 | 100 |
KeyValueBlock.vue | 99.09 | 100 | 50 | 99.09 | 145-146
LocalizedLabel.vue | 100 | 100 | 100 | 100 |
ModeSelector.vue | 99.55 | 91.8 | 100 | 99.55 | 124,184
SafeMessage.vue | 100 | 100 | 100 | 100 |
StatusIcon.vue | 100 | 100 | 100 | 100 |
TypeSelector.vue | 94.46 | 78.57 | 66.66 | 94.46 | 160-165,177-179,183-186
WidgetBase.vue | 100 | 100 | 100 | 100 |
ZObjectSelector.vue | 95.75 | 89.89 | 83.33 | 95.75 | 166-167,230-231,403-405,480-481,516-523,563-565,588-590,606-609,631-633,679-680
ext.wikilambda.app/components/function/editor | 99.45 | 90.07 | 100 | 99.45 |
FunctionEditor.vue | 98.62 | 83.33 | 100 | 98.62 | 159,163-165
FunctionEditorAliases.vue | 100 | 100 | 100 | 100 |
FunctionEditorDescription.vue | 98.78 | 92.85 | 100 | 98.78 | 114-115
FunctionEditorField.vue | 100 | 100 | 100 | 100 |
FunctionEditorInputs.vue | 100 | 100 | 100 | 100 |
FunctionEditorInputsItem.vue | 100 | 77.77 | 100 | 100 | 201,210
FunctionEditorLanguage.vue | 98.58 | 88.88 | 100 | 98.58 | 100-101
FunctionEditorLanguageBlock.vue | 100 | 100 | 100 | 100 |
FunctionEditorName.vue | 98.85 | 92.85 | 100 | 98.85 | 120-121
FunctionEditorOutput.vue | 100 | 100 | 100 | 100 |
ext.wikilambda.app/components/function/viewer | 99.02 | 95.31 | 96 | 99.02 |
FunctionTesterTable.vue | 97.14 | 82.6 | 50 | 97.14 | 92-93,110,168,175-176
FunctionViewerDetails.vue | 99.27 | 97.97 | 100 | 99.27 | 229-230,321,340,553
FunctionViewerDetailsTable.vue | 100 | 100 | 100 | 100 |
ext.wikilambda.app/components/types | 97.81 | 89.25 | 96.73 | 97.81 |
ZArgumentReference.vue | 100 | 94.73 | 100 | 100 | 176
ZBoolean.vue | 100 | 100 | 100 | 100 |
ZCode.vue | 96.17 | 92.45 | 100 | 96.17 | 242-255,349,413-415
ZFunctionCall.vue | 100 | 100 | 100 | 100 |
ZHTMLFragment.vue | 100 | 80 | 100 | 100 | 108
ZImplementation.vue | 100 | 100 | 100 | 100 |
ZMonolingualString.vue | 100 | 100 | 100 | 100 |
ZMultilingualString.vue | 99 | 89.47 | 100 | 99 | 204-205,291,293-294
ZMultilingualStringDialog.vue | 97.07 | 83.05 | 90 | 97.07 | 202-203,212-214,216-217,219-221,227-228,327-328,439-440
ZObjectKeyValue.vue | 95.7 | 87.41 | 100 | 95.7 | 244-250,254-255,305-306,378-383,576-577,579-580,582-583,585-586,608-610,633-634,639-642,672-673,783-784
ZObjectKeyValueSet.vue | 100 | 66.66 | 100 | 100 | 72-80
ZObjectStringRenderer.vue | 95.68 | 94.23 | 83.33 | 95.68 | 258-259,314-317,347-348,404-409,461-462,509-510,536,546-552
ZObjectToString.vue | 97.01 | 87.73 | 100 | 97.01 | 252-253,256-257,349,476-478,498-500,520-522,526-527,532-533,616-618
ZReference.vue | 98.19 | 80.76 | 100 | 98.19 | 178,180-182
ZString.vue | 100 | 100 | 100 | 100 |
ZTester.vue | 99.28 | 95.83 | 100 | 99.28 | 176-177
ZTypedList.vue | 100 | 87.5 | 100 | 100 | 98
ZTypedListItems.vue | 100 | 100 | 100 | 100 |
ZTypedListType.vue | 100 | 100 | 100 | 100 |
ext.wikilambda.app/components/types/wikidata | 98.15 | 87.5 | 97.14 | 98.15 |
EntitySelector.vue | 96.13 | 84.21 | 92.3 | 96.13 | 91-92,159-160,174-175,258-261,291-293
Enum.vue | 97.88 | 81.81 | 100 | 97.88 | 191-195
Item.vue | 100 | 93.33 | 100 | 100 | 172
Lexeme.vue | 100 | 93.33 | 100 | 100 | 172
LexemeForm.vue | 98.3 | 84.61 | 100 | 98.3 | 172-175
LexemeSense.vue | 95.59 | 86.84 | 100 | 95.59 | 247-252,279-280,290-292,317-321,326-327
Property.vue | 99.56 | 84.61 | 100 | 99.56 | 172
ReferenceSelector.vue | 100 | 93.33 | 100 | 100 | 102
Statement.vue | 100 | 100 | 100 | 100 |
wikidataIconSvg.js | 100 | 100 | 100 | 100 |
ext.wikilambda.app/components/visualeditor | 98.55 | 96 | 90.56 | 98.55 |
ExpandableDescription.vue | 99.37 | 100 | 100 | 99.37 | 96
FunctionCallSetup.vue | 96.77 | 100 | 60 | 96.77 | 92-93,99-100
FunctionInputDefaultValueCheckbox.vue | 100 | 100 | 100 | 100 |
FunctionInputField.vue | 100 | 100 | 100 | 100 |
FunctionInputPreview.vue | 97.65 | 93.75 | 86.36 | 97.65 | 129-130,178-179,360-361,410-411,464-467
FunctionInputSetup.vue | 99 | 97.29 | 100 | 99 | 177-178,298-299
FunctionSelect.vue | 97.5 | 89.47 | 100 | 97.5 | 189-190,200-201,216-218
FunctionSelectItem.vue | 100 | 100 | 100 | 100 |
wikifunctionsIconSvg.js | 100 | 100 | 100 | 100 |
ext.wikilambda.app/components/visualeditor/fields | 96.66 | 91.41 | 94.28 | 96.66 |
FunctionInputEnum.vue | 98.26 | 97.29 | 88.88 | 98.26 | 170-171,198-199
FunctionInputLanguage.vue | 97.32 | 87.5 | 100 | 97.32 | 141-142,162-163,172-173
FunctionInputParser.vue | 93.31 | 92 | 90.9 | 93.31 | 207-219,230-231,270-271,367-373,383-386
FunctionInputString.vue | 100 | 100 | 100 | 100 |
FunctionInputWikidata.vue | 98.65 | 86.84 | 100 | 98.65 | 210-211,220-221
ext.wikilambda.app/components/widgets/about | 97.45 | 93.54 | 86.66 | 97.45 |
About.vue | 96.66 | 97.53 | 84.21 | 96.66 | 269-270,532-536,556-557,583-584,593-603
AboutLanguageBlock.vue | 99.68 | 97.77 | 100 | 99.68 | 324-325
AboutLanguagesDialog.vue | 95.37 | 75.86 | 87.5 | 95.37 | 246-249,260-262,278-279,311-312,314-315,317-318,320-321,327-329
ext.wikilambda.app/components/widgets/function-evaluator | 96.63 | 85.42 | 95.55 | 96.63 |
EvaluationResult.vue | 99.2 | 78.26 | 100 | 99.2 | 217-218
FunctionEvaluator.vue | 94.95 | 92.3 | 90 | 94.95 | 353-377,399-401,507
FunctionMetadataDialog.vue | 97.25 | 84.03 | 96.66 | 97.25 | 202-203,209-210,235-236,256,440-441,534-535,607-608,642-646,660-661,684-685,718-719,772-773,965-967
FunctionMetadataItem.vue | 100 | 100 | 100 | 100 |
FunctionMetadataTestResult.vue | 93.47 | 75 | 100 | 93.47 | 112,121-131
ext.wikilambda.app/components/widgets/function-explorer | 99.06 | 90.9 | 100 | 99.06 |
FunctionExplorer.vue | 99.06 | 90.9 | 100 | 99.06 | 272-273,345-346
ext.wikilambda.app/components/widgets/function-report | 96.56 | 94.31 | 62.5 | 96.56 |
FunctionReport.vue | 95.65 | 91.37 | 66.66 | 95.65 | 212-214,236-239,245-248,291-297
FunctionReportItem.vue | 98.03 | 100 | 50 | 98.03 | 186-190
ext.wikilambda.app/components/widgets/publish | 100 | 88.7 | 100 | 100 |
LeaveEditorDialog.vue | 100 | 100 | 100 | 100 |
Publish.vue | 100 | 89.28 | 100 | 100 | 105-107,231
PublishDialog.vue | 100 | 86.2 | 100 | 100 | 233-235,264
ext.wikilambda.app/composables | 97.86 | 94.76 | 98.48 | 97.86 |
useBreakpoints.js | 100 | 100 | 100 | 100 |
useClipboard.js | 100 | 100 | 100 | 100 |
useClipboardManager.js | 100 | 100 | 100 | 100 |
useError.js | 100 | 92.3 | 100 | 100 | 62
useEventLog.js | 100 | 100 | 100 | 100 |
useInitReferences.js | 91.17 | 87.5 | 100 | 91.17 | 27-29
useLeaveEditorDialog.js | 85.33 | 79.16 | 90 | 85.33 | 50-59,62,64-67,79-81,91-94
useMenuAction.js | 100 | 100 | 100 | 100 |
usePageTitle.js | 100 | 94.11 | 100 | 100 | 78
useScroll.js | 100 | 100 | 100 | 100 |
useShareUrl.js | 97.36 | 94.44 | 100 | 97.36 | 30-31
useType.js | 100 | 100 | 100 | 100 |
useZObject.js | 100 | 94.44 | 100 | 100 | 94
ext.wikilambda.app/store | 100 | 100 | 100 | 100 |
index.js | 100 | 100 | 100 | 100 |
ext.wikilambda.app/store/classes | 97.79 | 90.9 | 100 | 97.79 |
ApiError.js | 95.73 | 82.85 | 100 | 95.73 | 151-153,159-160,200-203
ErrorData.js | 100 | 100 | 100 | 100 |
LabelData.js | 100 | 100 | 100 | 100 |
ext.wikilambda.app/store/stores | 98.11 | 95.46 | 97.99 | 98.11 |
abstractWiki.js | 98.53 | 94.73 | 100 | 98.53 | 164-165,237-238,272-273
currentPage.js | 100 | 95.45 | 100 | 100 | 121
errors.js | 100 | 100 | 100 | 100 |
factory.js | 99.21 | 96.5 | 100 | 99.21 | 219-225
functionCall.js | 100 | 100 | 100 | 100 |
languages.js | 92.39 | 76.92 | 100 | 92.39 | 26-29,43-45
library.js | 96.34 | 95.43 | 96.55 | 96.34 | 148-149,417-418,524-525,550-551,562-565,569,693-695,904,1052-1053,1183,1207-1232
listItems.js | 100 | 100 | 100 | 100 |
programmingLanguages.js | 100 | 100 | 100 | 100 |
queue.js | 100 | 100 | 100 | 100 |
router.js | 100 | 97.67 | 100 | 100 | 21
submission.js | 97.64 | 92.92 | 100 | 97.64 | 414-415,546-547,552-553,584-585,653-654,666-667,671-674
testResults.js | 99.1 | 90.16 | 100 | 99.1 | 276-278
user.js | 100 | 100 | 100 | 100 |
visualeditor.js | 94.42 | 96.77 | 88.88 | 94.42 | 106-107,160-164,167-168,192-195,209-213
zfunction.js | 100 | 100 | 100 | 100 |
zhtml.js | 100 | 94.11 | 100 | 100 | 78
zobject.js | 97.43 | 94.02 | 95.83 | 97.43 | 103-104,156-157,169-170,213-214,410-411,648-661,676-677,717-718,854-855,1231-1232
ztype.js | 99.54 | 100 | 100 | 99.54 | 379-380
ext.wikilambda.app/store/stores/wikidata | 96.06 | 94.61 | 97.14 | 96.06 |
entities.js | 93.29 | 91.66 | 100 | 93.29 | 47,98,143-155,273-278
items.js | 100 | 97.29 | 100 | 100 | 95
lexemes.js | 95.13 | 96.15 | 93.93 | 95.13 | 105-118,375,459-461,471-474,485-486
properties.js | 100 | 94.28 | 100 | 100 | 89,92
ext.wikilambda.app/utils | 98.66 | 95.94 | 99.18 | 98.66 |
abstractUtils.js | 100 | 100 | 100 | 100 |
apiUtils.js | 99 | 84.28 | 100 | 99 | 263-265,329-330
errorUtils.js | 98.13 | 90.47 | 100 | 98.13 | 90-91
eventLogUtils.js | 100 | 100 | 100 | 100 |
helpUtils.js | 100 | 100 | 100 | 100 |
metadataUtils.js | 100 | 100 | 100 | 100 |
miscUtils.js | 100 | 100 | 100 | 100 |
schemata.js | 97.11 | 91.11 | 88.88 | 97.11 | 123,174-179
scrollUtils.js | 100 | 100 | 100 | 100 |
sortUtils.js | 100 | 100 | 100 | 100 |
typeUtils.js | 97.17 | 98.93 | 100 | 97.17 | 519-540
urlUtils.js | 100 | 100 | 100 | 100 |
wikidataUtils.js | 100 | 100 | 100 | 100 |
zobjectUtils.js | 99.15 | 98.68 | 100 | 99.15 | 422-423,701-705
ext.wikilambda.app/views | 98.04 | 77.41 | 75 | 98.04 |
Abstract.vue | 100 | 100 | 100 | 100 |
Default.vue | 98.06 | 72.22 | 66.66 | 98.06 | 200,215-218
FunctionEditor.vue | 100 | 100 | 100 | 100 |
FunctionEvaluator.vue | 100 | 100 | 100 | 100 |
FunctionViewer.vue | 95.33 | 60 | 50 | 95.33 | 105-111
ext.wikilambda.languageselector/components | 98.03 | 93.33 | 94.11 | 98.03 |
LanguageSelector.vue | 98.03 | 93.33 | 94.11 | 98.03 | 226-227,265-266,287-288
ext.wikilambda.references | 100 | 100 | 100 | 100 |
Constants.js | 100 | 100 | 100 | 100 |
ext.wikilambda.references/components/base | 100 | 100 | 100 | 100 |
Drawer.vue | 100 | 100 | 100 | 100 |
ext.wikilambda.references/components/reference | 93.76 | 93.87 | 81.81 | 93.76 |
ReferenceManager.vue | 93.14 | 93.02 | 82.35 | 93.14 | 94-95,109-111,117-118,126-136,194-195,263-264
ReferencePopover.vue | 95.53 | 100 | 80 | 95.53 | 76-80
ext.wikilambda.references/composables | 96.36 | 89.2 | 97.05 | 96.36 |
useBreakpoints.js | 100 | 100 | 100 | 100 |
useFocusTrap.js | 95.5 | 83.72 | 100 | 95.5 | 51-52,69-70,136-137,141-142
usePreventScrollIOS.js | 95.2 | 88.4 | 93.33 | 95.2 | 25-26,42-43,45-46,66-67,97,101-105
useScrollLock.js | 100 | 100 | 100 | 100 |
----------------------------------------------------------|---------|----------|---------|---------|---------------------------------------------------------------------------------------------------------
--- end ---
$ node_modules/.bin/jest -u
--- stderr ---
[baseline-browser-mapping] The data in this module is over two months old. To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
[baseline-browser-mapping] The data in this module is over two months old. To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
[baseline-browser-mapping] The data in this module is over two months old. To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
FAIL tests/jest/components/base/ModeSelector.test.js
● ModeSelector › basic rendering › renders the menu button
expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
93 |
94 | expect( menu.exists() ).toBe( true );
> 95 | expect( toggleButton.exists() ).toBe( true );
| ^
96 | } );
97 |
98 | it( 'opens the menu when button is clicked', async () => {
at Object.<anonymous> (tests/jest/components/base/ModeSelector.test.js:95:36)
● ModeSelector › basic rendering › opens the menu when button is clicked
Cannot call trigger on an empty VueWrapper.
107 |
108 | const button = wrapper.findComponent( { name: 'cdx-toggle-button' } );
> 109 | button.trigger( 'click' );
| ^
110 |
111 | // Wait for the next tick to ensure the menu is updated
112 | await wrapper.vm.$nextTick();
at Object.get (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:1574:27)
at Object.<anonymous> (tests/jest/components/base/ModeSelector.test.js:109:11)
PASS tests/jest/integration/CreateNewCodeImplementation.test.js (12.224 s)
PASS tests/jest/integration/CreateNewWikidataEnum.test.js (14.277 s)
PASS tests/jest/integration/CreateNewTester.test.js (13.332 s)
PASS tests/jest/integration/CreateNewCompositionImplementation.test.js (7.179 s)
PASS tests/jest/integration/CancelEditExistingFunction.test.js
PASS tests/jest/components/default/ZObjectToString.test.js (11.48 s)
PASS tests/jest/components/default/ZObjectKeyValue.test.js
PASS tests/jest/integration/FunctionEditorGenericTypes.test.js (5.95 s)
PASS tests/jest/integration/FunctionEditorEdgeCases.test.js (5.564 s)
PASS tests/jest/integration/CreateNewFunction.test.js
PASS tests/jest/integration/EditFunction.test.js (5.297 s)
PASS tests/jest/components/widgets/about/About.test.js
PASS tests/jest/components/base/ZObjectSelector.test.js (5.081 s)
PASS tests/jest/integration/CancelEditNewFunction.test.js
PASS tests/jest/integration/DisconnectFunctionImplementation.test.js
PASS tests/jest/integration/RunFunctionCall.test.js
PASS tests/jest/integration/DisconnectFunctionTest.test.js
PASS tests/jest/components/widgets/function-evaluator/FunctionMetadataDialog.test.js
PASS tests/jest/integration/ConnectFunctionImplementation.test.js
PASS tests/jest/components/visualeditor/FunctionSelect.test.js
PASS tests/jest/integration/ConnectFunctionTest.test.js
PASS tests/jest/components/widgets/function-evaluator/FunctionEvaluator.test.js
PASS tests/jest/components/function/viewer/FunctionViewerDetails.test.js
PASS tests/jest/components/visualeditor/FunctionInputField.test.js
PASS tests/jest/store/stores/user.test.js
PASS tests/jest/components/widgets/function-evaluator/EvaluationResult.test.js
PASS tests/jest/components/default/ZMultilingualString.test.js
PASS tests/jest/languageselector/LanguageSelector.test.js
PASS tests/jest/components/default/ZMultilingualStringDialog.test.js
PASS tests/jest/components/abstract/AbstractContent.test.js
PASS tests/jest/components/visualeditor/FunctionCallSetup.test.js
PASS tests/jest/components/default/ZTypedListType.test.js
PASS tests/jest/components/widgets/function-explorer/FunctionExplorer.test.js
PASS tests/jest/components/widgets/publish/PublishDialog.test.js
PASS tests/jest/components/function/editor/FunctionEditorAliases.test.js
PASS tests/jest/store/stores/programmingLanguages.test.js
PASS tests/jest/components/function/editor/FunctionEditorInputs.test.js
PASS tests/jest/components/visualeditor/FunctionInputSetup.test.js
PASS tests/jest/components/default/ZTester.test.js
PASS tests/jest/components/default/ZFunctionCall.test.js
PASS tests/jest/components/widgets/function-report/FunctionReport.test.js
PASS tests/jest/composables/useType.test.js
PASS tests/jest/components/default/ZHTMLFragment.test.js
PASS tests/jest/components/base/ExpandedToggle.test.js
PASS tests/jest/composables/useClipboard.test.js
PASS tests/jest/store/stores/functionCall.test.js
PASS tests/jest/components/visualeditor/FunctionInputDefaultValueCheckbox.test.js
PASS tests/jest/components/App.test.js
PASS tests/jest/components/widgets/publish/LeaveEditorDialog.test.js
PASS tests/jest/composables/useEventLog.test.js
PASS tests/jest/components/abstract/AbstractPublish.test.js
PASS tests/jest/components/default/ZString.test.js
PASS tests/jest/views/FunctionViewer.test.js
PASS tests/jest/components/default/ZBoolean.test.js
PASS tests/jest/views/Abstract.test.js
PASS tests/jest/components/function/editor/FunctionEditor.test.js
PASS tests/jest/components/default/wikidata/EntitySelector.test.js
PASS tests/jest/components/abstract/AbstractTitle.test.js
PASS tests/jest/utils/sortUtils.test.js
PASS tests/jest/components/function/editor/FunctionEditorOutput.test.js
PASS tests/jest/components/default/wikidata/Statement.test.js
PASS tests/jest/references/components/reference/ReferencePopover.test.js
PASS tests/jest/components/widgets/publish/Publish.test.js
PASS tests/jest/composables/useError.test.js
PASS tests/jest/components/default/ZMonolingualString.test.js
PASS tests/jest/components/visualeditor/fields/FunctionInputString.test.js
PASS tests/jest/components/base/SafeMessage.test.js
PASS tests/jest/components/abstract/AbstractPreviewFragment.test.js
PASS tests/jest/components/visualeditor/fields/FunctionInputEnum.test.js
PASS tests/jest/components/visualeditor/fields/FunctionInputWikidata.test.js
PASS tests/jest/components/abstract/AbstractContentFragment.test.js
PASS tests/jest/components/widgets/function-report/FunctionReportItem.test.js
PASS tests/jest/references/composables/useBreakpoints.test.js
PASS tests/jest/components/function/viewer/FunctionViewerDetailsTable.test.js
PASS tests/jest/composables/useShareUrl.test.js
PASS tests/jest/components/default/ZObjectStringRenderer.test.js
PASS tests/jest/components/function/editor/FunctionEditorLanguageBlock.test.js
PASS tests/jest/components/base/LocalizedLabel.test.js
PASS tests/jest/components/visualeditor/FunctionInputPreview.test.js
PASS tests/jest/store/stores/queue.test.js
PASS tests/jest/store/stores/errors.test.js
PASS tests/jest/components/default/ZTypedListItems.test.js
PASS tests/jest/store/stores/languages.test.js
PASS tests/jest/store/index.test.js
PASS tests/jest/utils/eventLogUtils.test.js
PASS tests/jest/components/default/wikidata/LexemeSense.test.js
PASS tests/jest/components/default/wikidata/Enum.test.js
PASS tests/jest/composables/useBreakpoints.test.js
PASS tests/jest/components/function/editor/FunctionEditorDescription.test.js
PASS tests/jest/utils/errorUtils.test.js
PASS tests/jest/components/default/ZCode.test.js
PASS tests/jest/components/default/ZTypedList.test.js
PASS tests/jest/composables/usePageTitle.test.js
PASS tests/jest/composables/useLeaveEditorDialog.test.js
PASS tests/jest/components/visualeditor/fields/FunctionInputLanguage.test.js
PASS tests/jest/components/default/wikidata/ReferenceSelector.test.js
PASS tests/jest/components/function/editor/FunctionEditorName.test.js
PASS tests/jest/components/base/HTMLFragmentViewer.test.js
PASS tests/jest/composables/useClipboardManager.test.js
PASS tests/jest/components/default/wikidata/Item.test.js
PASS tests/jest/utils/miscUtils.test.js
PASS tests/jest/composables/useScroll.test.js
PASS tests/jest/store/stores/currentPage.test.js
PASS tests/jest/composables/useZObject.test.js
PASS tests/jest/components/base/TypeSelector.test.js
PASS tests/jest/store/classes/ErrorData.test.js
PASS tests/jest/components/function/editor/FunctionEditorInputsItem.test.js
PASS tests/jest/store/stores/zobject.test.js
PASS tests/jest/references/components/base/Drawer.test.js
PASS tests/jest/references/components/reference/ReferenceManager.test.js
PASS tests/jest/components/abstract/AbstractPreview.test.js
PASS tests/jest/store/stores/zfunction.test.js
PASS tests/jest/components/visualeditor/fields/FunctionInputParser.test.js
PASS tests/jest/components/widgets/about/AboutLanguagesDialog.test.js
PASS tests/jest/components/function/editor/FunctionEditorLanguage.test.js
PASS tests/jest/references/composables/useScrollLock.test.js
PASS tests/jest/components/visualeditor/ExpandableDescription.test.js
PASS tests/jest/utils/metadataUtils.test.js
PASS tests/jest/components/default/ZArgumentReference.test.js
PASS tests/jest/store/stores/visualeditor.test.js
PASS tests/jest/components/base/CodeEditor.test.js
PASS tests/jest/store/stores/listItems.test.js
PASS tests/jest/store/stores/wikidata/properties.test.js
PASS tests/jest/utils/urlUtils.test.js
PASS tests/jest/components/default/ZReference.test.js
PASS tests/jest/components/default/ZImplementation.test.js
PASS tests/jest/components/default/wikidata/Property.test.js
PASS tests/jest/components/default/wikidata/Lexeme.test.js
PASS tests/jest/store/stores/wikidata/items.test.js
PASS tests/jest/components/abstract/AbstractContentSection.test.js
PASS tests/jest/store/stores/zhtml.test.js
PASS tests/jest/utils/wikidataUtils.test.js
PASS tests/jest/components/default/wikidata/LexemeForm.test.js
PASS tests/jest/components/widgets/about/AboutLanguageBlock.test.js
PASS tests/jest/store/stores/testResults.test.js
PASS tests/jest/store/classes/ApiError.test.js
PASS tests/jest/utils/scrollUtils.test.js
PASS tests/jest/utils/schemata.test.js
PASS tests/jest/store/stores/submission.test.js
PASS tests/jest/references/composables/useFocusTrap.test.js
PASS tests/jest/utils/zobjectUtils.test.js
PASS tests/jest/composables/useMenuAction.test.js
PASS tests/jest/store/stores/wikidata/entities.test.js
PASS tests/jest/store/stores/library.test.js
PASS tests/jest/store/stores/router.test.js
PASS tests/jest/store/stores/wikidata/lexemes.test.js
PASS tests/jest/store/stores/factory.test.js
PASS tests/jest/store/stores/abstractWiki.test.js
PASS tests/jest/store/stores/ztype.test.js
PASS tests/jest/references/composables/usePreventScrollIOS.test.js
PASS tests/jest/utils/typeUtils.test.js
Summary of all failing tests
FAIL tests/jest/components/base/ModeSelector.test.js
● ModeSelector › basic rendering › renders the menu button
expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
93 |
94 | expect( menu.exists() ).toBe( true );
> 95 | expect( toggleButton.exists() ).toBe( true );
| ^
96 | } );
97 |
98 | it( 'opens the menu when button is clicked', async () => {
at Object.<anonymous> (tests/jest/components/base/ModeSelector.test.js:95:36)
● ModeSelector › basic rendering › opens the menu when button is clicked
Cannot call trigger on an empty VueWrapper.
107 |
108 | const button = wrapper.findComponent( { name: 'cdx-toggle-button' } );
> 109 | button.trigger( 'click' );
| ^
110 |
111 | // Wait for the next tick to ensure the menu is updated
112 | await wrapper.vm.$nextTick();
at Object.get (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:1574:27)
at Object.<anonymous> (tests/jest/components/base/ModeSelector.test.js:109:11)
Test Suites: 1 failed, 151 passed, 152 total
Tests: 2 failed, 2409 passed, 2411 total
Snapshots: 0 total
Time: 169.188 s
Ran all test suites.
--- stdout ---
----------------------------------------------------------|---------|----------|---------|---------|---------------------------------------------------------------------------------------------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
----------------------------------------------------------|---------|----------|---------|---------|---------------------------------------------------------------------------------------------------------
All files | 97.92 | 92.84 | 95.8 | 97.92 |
ext.wikilambda.app/components | 94.07 | 100 | 100 | 94.07 |
App.vue | 94.07 | 100 | 100 | 94.07 | 79,82,102,113-117
ext.wikilambda.app/components/abstract | 97.96 | 91.13 | 84.61 | 97.96 |
AbstractContent.vue | 100 | 100 | 100 | 100 |
AbstractContentFragment.vue | 100 | 100 | 100 | 100 |
AbstractContentSection.vue | 95.87 | 80 | 100 | 95.87 | 135-137,142-144,148-150
AbstractPreview.vue | 98.38 | 100 | 50 | 98.38 | 101-102
AbstractPreviewFragment.vue | 100 | 100 | 100 | 100 |
AbstractPublish.vue | 92.79 | 100 | 50 | 92.79 | 72-73,87-88,91-94
AbstractTitle.vue | 97.77 | 84.21 | 100 | 97.77 | 166-167,175-177
ext.wikilambda.app/components/base | 97.84 | 91.96 | 88.88 | 97.84 |
CodeEditor.vue | 97.55 | 94.44 | 100 | 97.55 | 180-187
CustomDialogHeader.vue | 100 | 100 | 100 | 100 |
ExpandedToggle.vue | 100 | 100 | 100 | 100 |
HTMLFragmentViewer.vue | 98.55 | 100 | 100 | 98.55 | 100-101
KeyBlock.vue | 100 | 100 | 100 | 100 |
KeyValueBlock.vue | 99.09 | 100 | 50 | 99.09 | 145-146
LocalizedLabel.vue | 100 | 100 | 100 | 100 |
ModeSelector.vue | 99.55 | 91.8 | 100 | 99.55 | 124,184
SafeMessage.vue | 100 | 100 | 100 | 100 |
StatusIcon.vue | 100 | 100 | 100 | 100 |
TypeSelector.vue | 94.46 | 78.57 | 66.66 | 94.46 | 160-165,177-179,183-186
WidgetBase.vue | 100 | 100 | 100 | 100 |
ZObjectSelector.vue | 95.75 | 89.89 | 83.33 | 95.75 | 166-167,230-231,403-405,480-481,516-523,563-565,588-590,606-609,631-633,679-680
ext.wikilambda.app/components/function/editor | 99.45 | 90.07 | 100 | 99.45 |
FunctionEditor.vue | 98.62 | 83.33 | 100 | 98.62 | 159,163-165
FunctionEditorAliases.vue | 100 | 100 | 100 | 100 |
FunctionEditorDescription.vue | 98.78 | 92.85 | 100 | 98.78 | 114-115
FunctionEditorField.vue | 100 | 100 | 100 | 100 |
FunctionEditorInputs.vue | 100 | 100 | 100 | 100 |
FunctionEditorInputsItem.vue | 100 | 77.77 | 100 | 100 | 201,210
FunctionEditorLanguage.vue | 98.58 | 88.88 | 100 | 98.58 | 100-101
FunctionEditorLanguageBlock.vue | 100 | 100 | 100 | 100 |
FunctionEditorName.vue | 98.85 | 92.85 | 100 | 98.85 | 120-121
FunctionEditorOutput.vue | 100 | 100 | 100 | 100 |
ext.wikilambda.app/components/function/viewer | 99.02 | 95.31 | 96 | 99.02 |
FunctionTesterTable.vue | 97.14 | 82.6 | 50 | 97.14 | 92-93,110,168,175-176
FunctionViewerDetails.vue | 99.27 | 97.97 | 100 | 99.27 | 229-230,321,340,553
FunctionViewerDetailsTable.vue | 100 | 100 | 100 | 100 |
ext.wikilambda.app/components/types | 97.81 | 89.25 | 96.73 | 97.81 |
ZArgumentReference.vue | 100 | 94.73 | 100 | 100 | 176
ZBoolean.vue | 100 | 100 | 100 | 100 |
ZCode.vue | 96.17 | 92.45 | 100 | 96.17 | 242-255,349,413-415
ZFunctionCall.vue | 100 | 100 | 100 | 100 |
ZHTMLFragment.vue | 100 | 80 | 100 | 100 | 108
ZImplementation.vue | 100 | 100 | 100 | 100 |
ZMonolingualString.vue | 100 | 100 | 100 | 100 |
ZMultilingualString.vue | 99 | 89.47 | 100 | 99 | 204-205,291,293-294
ZMultilingualStringDialog.vue | 97.07 | 83.05 | 90 | 97.07 | 202-203,212-214,216-217,219-221,227-228,327-328,439-440
ZObjectKeyValue.vue | 95.7 | 87.41 | 100 | 95.7 | 244-250,254-255,305-306,378-383,576-577,579-580,582-583,585-586,608-610,633-634,639-642,672-673,783-784
ZObjectKeyValueSet.vue | 100 | 66.66 | 100 | 100 | 72-80
ZObjectStringRenderer.vue | 95.68 | 94.23 | 83.33 | 95.68 | 258-259,314-317,347-348,404-409,461-462,509-510,536,546-552
ZObjectToString.vue | 97.01 | 87.73 | 100 | 97.01 | 252-253,256-257,349,476-478,498-500,520-522,526-527,532-533,616-618
ZReference.vue | 98.19 | 80.76 | 100 | 98.19 | 178,180-182
ZString.vue | 100 | 100 | 100 | 100 |
ZTester.vue | 99.28 | 95.83 | 100 | 99.28 | 176-177
ZTypedList.vue | 100 | 87.5 | 100 | 100 | 98
ZTypedListItems.vue | 100 | 100 | 100 | 100 |
ZTypedListType.vue | 100 | 100 | 100 | 100 |
ext.wikilambda.app/components/types/wikidata | 98.15 | 87.5 | 97.14 | 98.15 |
EntitySelector.vue | 96.13 | 84.21 | 92.3 | 96.13 | 91-92,159-160,174-175,258-261,291-293
Enum.vue | 97.88 | 81.81 | 100 | 97.88 | 191-195
Item.vue | 100 | 93.33 | 100 | 100 | 172
Lexeme.vue | 100 | 93.33 | 100 | 100 | 172
LexemeForm.vue | 98.3 | 84.61 | 100 | 98.3 | 172-175
LexemeSense.vue | 95.59 | 86.84 | 100 | 95.59 | 247-252,279-280,290-292,317-321,326-327
Property.vue | 99.56 | 84.61 | 100 | 99.56 | 172
ReferenceSelector.vue | 100 | 93.33 | 100 | 100 | 102
Statement.vue | 100 | 100 | 100 | 100 |
wikidataIconSvg.js | 100 | 100 | 100 | 100 |
ext.wikilambda.app/components/visualeditor | 98.55 | 96 | 90.56 | 98.55 |
ExpandableDescription.vue | 99.37 | 100 | 100 | 99.37 | 96
FunctionCallSetup.vue | 96.77 | 100 | 60 | 96.77 | 92-93,99-100
FunctionInputDefaultValueCheckbox.vue | 100 | 100 | 100 | 100 |
FunctionInputField.vue | 100 | 100 | 100 | 100 |
FunctionInputPreview.vue | 97.65 | 93.75 | 86.36 | 97.65 | 129-130,178-179,360-361,410-411,464-467
FunctionInputSetup.vue | 99 | 97.29 | 100 | 99 | 177-178,298-299
FunctionSelect.vue | 97.5 | 89.47 | 100 | 97.5 | 189-190,200-201,216-218
FunctionSelectItem.vue | 100 | 100 | 100 | 100 |
wikifunctionsIconSvg.js | 100 | 100 | 100 | 100 |
ext.wikilambda.app/components/visualeditor/fields | 96.66 | 91.41 | 94.28 | 96.66 |
FunctionInputEnum.vue | 98.26 | 97.29 | 88.88 | 98.26 | 170-171,198-199
FunctionInputLanguage.vue | 97.32 | 87.5 | 100 | 97.32 | 141-142,162-163,172-173
FunctionInputParser.vue | 93.31 | 92 | 90.9 | 93.31 | 207-219,230-231,270-271,367-373,383-386
FunctionInputString.vue | 100 | 100 | 100 | 100 |
FunctionInputWikidata.vue | 98.65 | 86.84 | 100 | 98.65 | 210-211,220-221
ext.wikilambda.app/components/widgets/about | 97.45 | 93.54 | 86.66 | 97.45 |
About.vue | 96.66 | 97.53 | 84.21 | 96.66 | 269-270,532-536,556-557,583-584,593-603
AboutLanguageBlock.vue | 99.68 | 97.77 | 100 | 99.68 | 324-325
AboutLanguagesDialog.vue | 95.37 | 75.86 | 87.5 | 95.37 | 246-249,260-262,278-279,311-312,314-315,317-318,320-321,327-329
ext.wikilambda.app/components/widgets/function-evaluator | 96.63 | 85.42 | 95.55 | 96.63 |
EvaluationResult.vue | 99.2 | 78.26 | 100 | 99.2 | 217-218
FunctionEvaluator.vue | 94.95 | 92.3 | 90 | 94.95 | 353-377,399-401,507
FunctionMetadataDialog.vue | 97.25 | 84.03 | 96.66 | 97.25 | 202-203,209-210,235-236,256,440-441,534-535,607-608,642-646,660-661,684-685,718-719,772-773,965-967
FunctionMetadataItem.vue | 100 | 100 | 100 | 100 |
FunctionMetadataTestResult.vue | 93.47 | 75 | 100 | 93.47 | 112,121-131
ext.wikilambda.app/components/widgets/function-explorer | 99.06 | 90.9 | 100 | 99.06 |
FunctionExplorer.vue | 99.06 | 90.9 | 100 | 99.06 | 272-273,345-346
ext.wikilambda.app/components/widgets/function-report | 96.56 | 94.31 | 62.5 | 96.56 |
FunctionReport.vue | 95.65 | 91.37 | 66.66 | 95.65 | 212-214,236-239,245-248,291-297
FunctionReportItem.vue | 98.03 | 100 | 50 | 98.03 | 186-190
ext.wikilambda.app/components/widgets/publish | 100 | 88.7 | 100 | 100 |
LeaveEditorDialog.vue | 100 | 100 | 100 | 100 |
Publish.vue | 100 | 89.28 | 100 | 100 | 105-107,231
PublishDialog.vue | 100 | 86.2 | 100 | 100 | 233-235,264
ext.wikilambda.app/composables | 97.86 | 94.76 | 98.48 | 97.86 |
useBreakpoints.js | 100 | 100 | 100 | 100 |
useClipboard.js | 100 | 100 | 100 | 100 |
useClipboardManager.js | 100 | 100 | 100 | 100 |
useError.js | 100 | 92.3 | 100 | 100 | 62
useEventLog.js | 100 | 100 | 100 | 100 |
useInitReferences.js | 91.17 | 87.5 | 100 | 91.17 | 27-29
useLeaveEditorDialog.js | 85.33 | 79.16 | 90 | 85.33 | 50-59,62,64-67,79-81,91-94
useMenuAction.js | 100 | 100 | 100 | 100 |
usePageTitle.js | 100 | 94.11 | 100 | 100 | 78
useScroll.js | 100 | 100 | 100 | 100 |
useShareUrl.js | 97.36 | 94.44 | 100 | 97.36 | 30-31
useType.js | 100 | 100 | 100 | 100 |
useZObject.js | 100 | 94.44 | 100 | 100 | 94
ext.wikilambda.app/store | 100 | 100 | 100 | 100 |
index.js | 100 | 100 | 100 | 100 |
ext.wikilambda.app/store/classes | 97.79 | 90.9 | 100 | 97.79 |
ApiError.js | 95.73 | 82.85 | 100 | 95.73 | 151-153,159-160,200-203
ErrorData.js | 100 | 100 | 100 | 100 |
LabelData.js | 100 | 100 | 100 | 100 |
ext.wikilambda.app/store/stores | 98.11 | 95.46 | 97.99 | 98.11 |
abstractWiki.js | 98.53 | 94.73 | 100 | 98.53 | 164-165,237-238,272-273
currentPage.js | 100 | 95.45 | 100 | 100 | 121
errors.js | 100 | 100 | 100 | 100 |
factory.js | 99.21 | 96.5 | 100 | 99.21 | 219-225
functionCall.js | 100 | 100 | 100 | 100 |
languages.js | 92.39 | 76.92 | 100 | 92.39 | 26-29,43-45
library.js | 96.34 | 95.43 | 96.55 | 96.34 | 148-149,417-418,524-525,550-551,562-565,569,693-695,904,1052-1053,1183,1207-1232
listItems.js | 100 | 100 | 100 | 100 |
programmingLanguages.js | 100 | 100 | 100 | 100 |
queue.js | 100 | 100 | 100 | 100 |
router.js | 100 | 97.67 | 100 | 100 | 21
submission.js | 97.64 | 92.92 | 100 | 97.64 | 414-415,546-547,552-553,584-585,653-654,666-667,671-674
testResults.js | 99.1 | 90.16 | 100 | 99.1 | 276-278
user.js | 100 | 100 | 100 | 100 |
visualeditor.js | 94.42 | 96.77 | 88.88 | 94.42 | 106-107,160-164,167-168,192-195,209-213
zfunction.js | 100 | 100 | 100 | 100 |
zhtml.js | 100 | 94.11 | 100 | 100 | 78
zobject.js | 97.43 | 94.02 | 95.83 | 97.43 | 103-104,156-157,169-170,213-214,410-411,648-661,676-677,717-718,854-855,1231-1232
ztype.js | 99.54 | 100 | 100 | 99.54 | 379-380
ext.wikilambda.app/store/stores/wikidata | 96.06 | 94.61 | 97.14 | 96.06 |
entities.js | 93.29 | 91.66 | 100 | 93.29 | 47,98,143-155,273-278
items.js | 100 | 97.29 | 100 | 100 | 95
lexemes.js | 95.13 | 96.15 | 93.93 | 95.13 | 105-118,375,459-461,471-474,485-486
properties.js | 100 | 94.28 | 100 | 100 | 89,92
ext.wikilambda.app/utils | 98.66 | 95.94 | 99.18 | 98.66 |
abstractUtils.js | 100 | 100 | 100 | 100 |
apiUtils.js | 99 | 84.28 | 100 | 99 | 263-265,329-330
errorUtils.js | 98.13 | 90.47 | 100 | 98.13 | 90-91
eventLogUtils.js | 100 | 100 | 100 | 100 |
helpUtils.js | 100 | 100 | 100 | 100 |
metadataUtils.js | 100 | 100 | 100 | 100 |
miscUtils.js | 100 | 100 | 100 | 100 |
schemata.js | 97.11 | 91.11 | 88.88 | 97.11 | 123,174-179
scrollUtils.js | 100 | 100 | 100 | 100 |
sortUtils.js | 100 | 100 | 100 | 100 |
typeUtils.js | 97.17 | 98.93 | 100 | 97.17 | 519-540
urlUtils.js | 100 | 100 | 100 | 100 |
wikidataUtils.js | 100 | 100 | 100 | 100 |
zobjectUtils.js | 99.15 | 98.68 | 100 | 99.15 | 422-423,701-705
ext.wikilambda.app/views | 98.04 | 77.41 | 75 | 98.04 |
Abstract.vue | 100 | 100 | 100 | 100 |
Default.vue | 98.06 | 72.22 | 66.66 | 98.06 | 200,215-218
FunctionEditor.vue | 100 | 100 | 100 | 100 |
FunctionEvaluator.vue | 100 | 100 | 100 | 100 |
FunctionViewer.vue | 95.33 | 60 | 50 | 95.33 | 105-111
ext.wikilambda.languageselector/components | 98.03 | 93.33 | 94.11 | 98.03 |
LanguageSelector.vue | 98.03 | 93.33 | 94.11 | 98.03 | 226-227,265-266,287-288
ext.wikilambda.references | 100 | 100 | 100 | 100 |
Constants.js | 100 | 100 | 100 | 100 |
ext.wikilambda.references/components/base | 100 | 100 | 100 | 100 |
Drawer.vue | 100 | 100 | 100 | 100 |
ext.wikilambda.references/components/reference | 93.76 | 93.87 | 81.81 | 93.76 |
ReferenceManager.vue | 93.14 | 93.02 | 82.35 | 93.14 | 94-95,109-111,117-118,126-136,194-195,263-264
ReferencePopover.vue | 95.53 | 100 | 80 | 95.53 | 76-80
ext.wikilambda.references/composables | 96.36 | 89.2 | 97.05 | 96.36 |
useBreakpoints.js | 100 | 100 | 100 | 100 |
useFocusTrap.js | 95.5 | 83.72 | 100 | 95.5 | 51-52,69-70,136-137,141-142
usePreventScrollIOS.js | 95.2 | 88.4 | 93.33 | 95.2 | 25-26,42-43,45-46,66-67,97,101-105
useScrollLock.js | 100 | 100 | 100 | 100 |
----------------------------------------------------------|---------|----------|---------|---------|---------------------------------------------------------------------------------------------------------
--- end ---
Traceback (most recent call last):
File "/venv/lib/python3.13/site-packages/runner/__init__.py", line 289, in npm_test
self.check_call(["npm", "test"])
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/venv/lib/python3.13/site-packages/runner/shell2.py", line 66, in check_call
res.check_returncode()
~~~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/subprocess.py", line 508, in check_returncode
raise CalledProcessError(self.returncode, self.args, self.stdout,
self.stderr)
subprocess.CalledProcessError: Command '['/usr/bin/npm', 'test']' returned non-zero exit status 1.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/venv/lib/python3.13/site-packages/runner/__init__.py", line 1268, in main
libup.run()
~~~~~~~~~^^
File "/venv/lib/python3.13/site-packages/runner/__init__.py", line 1202, in run
self.npm_upgrade(plan)
~~~~~~~~~~~~~~~~^^^^^^
File "/venv/lib/python3.13/site-packages/runner/__init__.py", line 1064, in npm_upgrade
self.npm_test()
~~~~~~~~~~~~~^^
File "/venv/lib/python3.13/site-packages/runner/__init__.py", line 302, in npm_test
self.check_call(["node_modules/.bin/jest", *jest_config, "-u"])
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/venv/lib/python3.13/site-packages/runner/shell2.py", line 66, in check_call
res.check_returncode()
~~~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/subprocess.py", line 508, in check_returncode
raise CalledProcessError(self.returncode, self.args, self.stdout,
self.stderr)
subprocess.CalledProcessError: Command '['node_modules/.bin/jest', '-u']' returned non-zero exit status 1.