mediawiki/extensions/WikiLambda: main (log #1825199)

sourcepatches

This run took 268 seconds.

$ date
--- stdout ---
Thu Mar 27 14:22:42 UTC 2025

--- end ---
$ git clone file:///srv/git/mediawiki-extensions-WikiLambda.git repo --depth=1 -b master
--- stderr ---
Cloning into '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 'c17a55918b44ae2e30893ba54075874cd5522311'

--- end ---
$ grr init
--- stdout ---
Installed commit-msg hook.

--- end ---
$ git show-ref refs/heads/master
--- stdout ---
42a98abff80b0699defb9cfdd39ce98278295833 refs/heads/master

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "@babel/helpers": {
      "name": "@babel/helpers",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1103026,
          "name": "@babel/helpers",
          "dependency": "@babel/helpers",
          "title": "Babel has inefficient RexExp complexity in generated code with .replace when transpiling named capturing groups",
          "url": "https://github.com/advisories/GHSA-968p-4wvh-cqc8",
          "severity": "moderate",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 6.2,
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<7.26.10"
        }
      ],
      "effects": [],
      "range": "<7.26.10",
      "nodes": [
        "node_modules/@babel/helpers"
      ],
      "fixAvailable": true
    },
    "@babel/runtime": {
      "name": "@babel/runtime",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1103025,
          "name": "@babel/runtime",
          "dependency": "@babel/runtime",
          "title": "Babel has inefficient RexExp complexity in generated code with .replace when transpiling named capturing groups",
          "url": "https://github.com/advisories/GHSA-968p-4wvh-cqc8",
          "severity": "moderate",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 6.2,
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<7.26.10"
        }
      ],
      "effects": [],
      "range": "<7.26.10",
      "nodes": [
        "node_modules/@babel/runtime"
      ],
      "fixAvailable": true
    },
    "@wdio/cli": {
      "name": "@wdio/cli",
      "severity": "high",
      "isDirect": true,
      "via": [
        "webdriverio",
        "yarn-install"
      ],
      "effects": [
        "@wdio/junit-reporter",
        "@wdio/local-runner",
        "@wdio/spec-reporter"
      ],
      "range": "5.4.10 - 8.43.0",
      "nodes": [
        "node_modules/@wdio/cli"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.12.1",
        "isSemVerMajor": true
      }
    },
    "@wdio/junit-reporter": {
      "name": "@wdio/junit-reporter",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@wdio/cli"
      ],
      "effects": [],
      "range": "6.0.4 - 8.0.0-alpha.631",
      "nodes": [
        "node_modules/@wdio/junit-reporter"
      ],
      "fixAvailable": {
        "name": "@wdio/junit-reporter",
        "version": "9.11.0",
        "isSemVerMajor": true
      }
    },
    "@wdio/local-runner": {
      "name": "@wdio/local-runner",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@wdio/cli",
        "@wdio/runner"
      ],
      "effects": [],
      "range": "6.0.4 - 8.43.0",
      "nodes": [
        "node_modules/@wdio/local-runner"
      ],
      "fixAvailable": {
        "name": "@wdio/local-runner",
        "version": "9.12.1",
        "isSemVerMajor": true
      }
    },
    "@wdio/mocha-framework": {
      "name": "@wdio/mocha-framework",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "mocha"
      ],
      "effects": [],
      "range": "7.7.4 - 7.19.5",
      "nodes": [
        "node_modules/@wdio/mocha-framework"
      ],
      "fixAvailable": {
        "name": "@wdio/mocha-framework",
        "version": "7.40.0",
        "isSemVerMajor": false
      }
    },
    "@wdio/runner": {
      "name": "@wdio/runner",
      "severity": "high",
      "isDirect": false,
      "via": [
        "webdriverio"
      ],
      "effects": [
        "@wdio/local-runner"
      ],
      "range": "7.16.5 - 8.43.0",
      "nodes": [
        "node_modules/@wdio/runner"
      ],
      "fixAvailable": {
        "name": "@wdio/local-runner",
        "version": "9.12.1",
        "isSemVerMajor": true
      }
    },
    "@wdio/spec-reporter": {
      "name": "@wdio/spec-reporter",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@wdio/cli"
      ],
      "effects": [],
      "range": "6.0.4 - 8.0.0-alpha.631",
      "nodes": [
        "node_modules/@wdio/spec-reporter"
      ],
      "fixAvailable": {
        "name": "@wdio/spec-reporter",
        "version": "9.11.0",
        "isSemVerMajor": true
      }
    },
    "cross-spawn": {
      "name": "cross-spawn",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1100562,
          "name": "cross-spawn",
          "dependency": "cross-spawn",
          "title": "Regular Expression Denial of Service (ReDoS) in cross-spawn",
          "url": "https://github.com/advisories/GHSA-3xgq-45jj-v275",
          "severity": "high",
          "cwe": [
            "CWE-1333"
          ],
          "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": "<6.0.6"
        }
      ],
      "effects": [
        "yarn-install"
      ],
      "range": "<6.0.6",
      "nodes": [
        "node_modules/yarn-install/node_modules/cross-spawn"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.12.1",
        "isSemVerMajor": true
      }
    },
    "devtools": {
      "name": "devtools",
      "severity": "high",
      "isDirect": false,
      "via": [
        "puppeteer-core"
      ],
      "effects": [],
      "range": ">=7.16.5",
      "nodes": [
        "node_modules/devtools"
      ],
      "fixAvailable": true
    },
    "mocha": {
      "name": "mocha",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "nanoid",
        "serialize-javascript"
      ],
      "effects": [
        "@wdio/mocha-framework"
      ],
      "range": "8.2.0 - 10.5.2",
      "nodes": [
        "node_modules/mocha"
      ],
      "fixAvailable": {
        "name": "@wdio/mocha-framework",
        "version": "7.40.0",
        "isSemVerMajor": false
      }
    },
    "mwbot": {
      "name": "mwbot",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "request"
      ],
      "effects": [
        "wdio-mediawiki"
      ],
      "range": ">=0.1.6",
      "nodes": [
        "node_modules/mwbot"
      ],
      "fixAvailable": false
    },
    "nanoid": {
      "name": "nanoid",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1101163,
          "name": "nanoid",
          "dependency": "nanoid",
          "title": "Predictable results in nanoid generation when given non-integer values",
          "url": "https://github.com/advisories/GHSA-mwcw-c2x4-8c55",
          "severity": "moderate",
          "cwe": [
            "CWE-835"
          ],
          "cvss": {
            "score": 4.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N"
          },
          "range": "<3.3.8"
        }
      ],
      "effects": [
        "mocha"
      ],
      "range": "<3.3.8",
      "nodes": [
        "node_modules/nanoid"
      ],
      "fixAvailable": {
        "name": "@wdio/mocha-framework",
        "version": "7.40.0",
        "isSemVerMajor": false
      }
    },
    "puppeteer-core": {
      "name": "puppeteer-core",
      "severity": "high",
      "isDirect": false,
      "via": [
        "ws"
      ],
      "effects": [
        "devtools",
        "webdriverio"
      ],
      "range": "11.0.0 - 22.11.1",
      "nodes": [
        "node_modules/puppeteer-core"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.12.1",
        "isSemVerMajor": true
      }
    },
    "request": {
      "name": "request",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1096727,
          "name": "request",
          "dependency": "request",
          "title": "Server-Side Request Forgery in Request",
          "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6",
          "severity": "moderate",
          "cwe": [
            "CWE-918"
          ],
          "cvss": {
            "score": 6.1,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
          },
          "range": "<=2.88.2"
        },
        "tough-cookie"
      ],
      "effects": [
        "mwbot"
      ],
      "range": "*",
      "nodes": [
        "node_modules/request"
      ],
      "fixAvailable": false
    },
    "serialize-javascript": {
      "name": "serialize-javascript",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1102832,
          "name": "serialize-javascript",
          "dependency": "serialize-javascript",
          "title": "Cross-site Scripting (XSS) in serialize-javascript",
          "url": "https://github.com/advisories/GHSA-76p7-773f-r4q5",
          "severity": "moderate",
          "cwe": [
            "CWE-79"
          ],
          "cvss": {
            "score": 5.4,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N"
          },
          "range": ">=6.0.0 <6.0.2"
        }
      ],
      "effects": [
        "mocha"
      ],
      "range": "6.0.0 - 6.0.1",
      "nodes": [
        "node_modules/serialize-javascript"
      ],
      "fixAvailable": {
        "name": "@wdio/mocha-framework",
        "version": "7.40.0",
        "isSemVerMajor": false
      }
    },
    "tough-cookie": {
      "name": "tough-cookie",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1097682,
          "name": "tough-cookie",
          "dependency": "tough-cookie",
          "title": "tough-cookie Prototype Pollution vulnerability",
          "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 6.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"
          },
          "range": "<4.1.3"
        }
      ],
      "effects": [
        "request"
      ],
      "range": "<4.1.3",
      "nodes": [
        "node_modules/request/node_modules/tough-cookie"
      ],
      "fixAvailable": false
    },
    "wdio-mediawiki": {
      "name": "wdio-mediawiki",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "mwbot"
      ],
      "effects": [],
      "range": "*",
      "nodes": [
        "node_modules/wdio-mediawiki"
      ],
      "fixAvailable": false
    },
    "webdriverio": {
      "name": "webdriverio",
      "severity": "high",
      "isDirect": false,
      "via": [
        "devtools",
        "puppeteer-core"
      ],
      "effects": [
        "@wdio/cli",
        "@wdio/runner"
      ],
      "range": "7.16.5 - 8.43.0",
      "nodes": [
        "node_modules/webdriverio"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.12.1",
        "isSemVerMajor": true
      }
    },
    "ws": {
      "name": "ws",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1098392,
          "name": "ws",
          "dependency": "ws",
          "title": "ws affected by a DoS when handling a request with many HTTP headers",
          "url": "https://github.com/advisories/GHSA-3h5v-q93c-6h6q",
          "severity": "high",
          "cwe": [
            "CWE-476"
          ],
          "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": ">=8.0.0 <8.17.1"
        }
      ],
      "effects": [
        "puppeteer-core"
      ],
      "range": "8.0.0 - 8.17.0",
      "nodes": [
        "node_modules/puppeteer-core/node_modules/ws"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.12.1",
        "isSemVerMajor": true
      }
    },
    "yarn-install": {
      "name": "yarn-install",
      "severity": "high",
      "isDirect": false,
      "via": [
        "cross-spawn"
      ],
      "effects": [
        "@wdio/cli"
      ],
      "range": "*",
      "nodes": [
        "node_modules/yarn-install"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.12.1",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 10,
      "high": 11,
      "critical": 0,
      "total": 21
    },
    "dependencies": {
      "prod": 1,
      "dev": 1406,
      "optional": 4,
      "peer": 1,
      "peerOptional": 0,
      "total": 1406
    }
  }
}

--- 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: 39 installs, 0 updates, 0 removals
  - Locking composer/pcre (3.3.2)
  - Locking composer/semver (3.4.3)
  - Locking composer/spdx-licenses (1.5.8)
  - Locking composer/xdebug-handler (3.0.5)
  - Locking dealerdirect/phpcodesniffer-composer-installer (v1.0.0)
  - Locking diff/diff (3.4.0)
  - Locking doctrine/deprecations (1.1.4)
  - Locking felixfbecker/advanced-json-rpc (v3.2.1)
  - Locking mediawiki/mediawiki-codesniffer (v46.0.0)
  - Locking mediawiki/mediawiki-phan-config (0.15.0)
  - Locking mediawiki/minus-x (1.1.3)
  - Locking mediawiki/phan-taint-check-plugin (6.1.0)
  - Locking microsoft/tolerant-php-parser (v0.1.2)
  - Locking netresearch/jsonmapper (v4.5.0)
  - Locking phan/phan (5.4.5)
  - 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.2.1)
  - Locking phpcsstandards/phpcsutils (1.0.12)
  - Locking phpdocumentor/reflection-common (2.2.0)
  - Locking phpdocumentor/reflection-docblock (5.6.1)
  - Locking phpdocumentor/type-resolver (1.10.0)
  - Locking phpstan/phpdoc-parser (2.1.0)
  - Locking psr/container (2.0.2)
  - Locking psr/log (3.0.2)
  - Locking sabre/event (5.1.7)
  - Locking squizlabs/php_codesniffer (3.11.3)
  - Locking symfony/console (v7.2.1)
  - Locking symfony/deprecation-contracts (v3.5.1)
  - Locking symfony/polyfill-ctype (v1.31.0)
  - Locking symfony/polyfill-intl-grapheme (v1.31.0)
  - Locking symfony/polyfill-intl-normalizer (v1.31.0)
  - Locking symfony/polyfill-mbstring (v1.31.0)
  - Locking symfony/polyfill-php80 (v1.31.0)
  - Locking symfony/service-contracts (v3.5.1)
  - Locking symfony/string (v7.2.0)
  - Locking tysonandre/var_representation_polyfill (0.1.3)
  - Locking webmozart/assert (1.11.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 39 installs, 0 updates, 0 removals
    0 [>---------------------------]    0 [->--------------------------]
  - Installing squizlabs/php_codesniffer (3.11.3): Extracting archive
  - Installing dealerdirect/phpcodesniffer-composer-installer (v1.0.0): Extracting archive
  - Installing composer/pcre (3.3.2): Extracting archive
  - Installing diff/diff (3.4.0): Extracting archive
  - Installing symfony/polyfill-php80 (v1.31.0): Extracting archive
  - Installing phpcsstandards/phpcsutils (1.0.12): Extracting archive
  - Installing phpcsstandards/phpcsextra (1.2.1): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.31.0): Extracting archive
  - Installing composer/spdx-licenses (1.5.8): Extracting archive
  - Installing composer/semver (3.4.3): Extracting archive
  - Installing mediawiki/mediawiki-codesniffer (v46.0.0): Extracting archive
  - Installing tysonandre/var_representation_polyfill (0.1.3): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.31.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.31.0): Extracting archive
  - Installing symfony/polyfill-ctype (v1.31.0): Extracting archive
  - Installing symfony/string (v7.2.0): Extracting archive
  - Installing symfony/deprecation-contracts (v3.5.1): Extracting archive
  - Installing psr/container (2.0.2): Extracting archive
  - Installing symfony/service-contracts (v3.5.1): Extracting archive
  - Installing symfony/console (v7.2.1): 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 (1.11.0): Extracting archive
  - Installing phpstan/phpdoc-parser (2.1.0): Extracting archive
  - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
  - Installing doctrine/deprecations (1.1.4): Extracting archive
  - Installing phpdocumentor/type-resolver (1.10.0): Extracting archive
  - Installing phpdocumentor/reflection-docblock (5.6.1): 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.4.5): Extracting archive
  - Installing mediawiki/phan-taint-check-plugin (6.1.0): Extracting archive
  - Installing mediawiki/mediawiki-phan-config (0.15.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
  0/37 [>---------------------------]   0%
 20/37 [===============>------------]  54%
 36/37 [===========================>]  97%
 37/37 [============================] 100%
1 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
16 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:jest from 27.4.7 -> 29.7.0
Upgrading n:@vue/vue3-jest from 27.0.0-alpha.4 -> 29.2.6
Upgrading n:@wikimedia/codex from 1.20.2 -> 1.21.1
$ /usr/bin/npm install
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wikimedia/codex@1.21.1',
npm WARN EBADENGINE   required: { npm: '>=10.8.1', node: '>=20' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wikimedia/codex-icons@1.21.1',
npm WARN EBADENGINE   required: { npm: '>=10.8.1', node: '>=20' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', 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 har-validator@5.1.5: this library is no longer supported
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 glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated glob@7.2.0: 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 glob@7.1.7: Glob versions prior to v9 are no longer supported
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
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 1324 packages, and audited 1325 packages in 22s

201 packages are looking for funding
  run `npm fund` for details

21 vulnerabilities (10 moderate, 11 high)

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 package-lock.json
--- stdout ---
Checking package-lock.json

--- end ---
$ /usr/bin/npm install jest-environment-jsdom@29.7.0 --save-dev --save-exact
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wikimedia/codex@1.21.1',
npm WARN EBADENGINE   required: { node: '>=20', npm: '>=10.8.1' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wikimedia/codex-icons@1.21.1',
npm WARN EBADENGINE   required: { node: '>=20', npm: '>=10.8.1' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm WARN deprecated domexception@4.0.0: Use your platform's native DOMException instead
--- stdout ---

added 38 packages, and audited 1363 packages in 6s

202 packages are looking for funding
  run `npm fund` for details

21 vulnerabilities (10 moderate, 11 high)

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 package-lock.json
--- stdout ---
Checking package-lock.json

--- end ---
$ /usr/bin/npm ci
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wikimedia/codex@1.21.1',
npm WARN EBADENGINE   required: { node: '>=20', npm: '>=10.8.1' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wikimedia/codex-icons@1.21.1',
npm WARN EBADENGINE   required: { node: '>=20', npm: '>=10.8.1' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', 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 har-validator@5.1.5: this library is no longer supported
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 glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated glob@7.2.0: 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 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 uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
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 1362 packages, and audited 1363 packages in 25s

202 packages are looking for funding
  run `npm fund` for details

21 vulnerabilities (10 moderate, 11 high)

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 ---
PASS tests/jest/store/stores/factory.test.js
PASS tests/jest/store/stores/submission.test.js
PASS tests/jest/store/stores/zobject.test.js
PASS tests/jest/store/stores/library.test.js
PASS tests/jest/store/stores/zfunction.test.js
PASS tests/jest/utils/typeUtils.test.js
FAIL tests/jest/store/stores/router.test.js
  ● Router Pinia store › Actions › navigate › when view is valid › changes the view

    TypeError: callback is not a function

      87 | 			const path = this.currentPath;
      88 | 			const query = Object.assign( {}, this.queryParams, { view: this.currentView } );
    > 89 | 			const newUriString = `${ path }?${ $.param( query ) }`;
         | 			                                     ^
      90 |
      91 | 			window.history.pushState( { path, query }, null, newUriString );
      92 | 		},

      at ModuleMocker.withImplementation (node_modules/jest-mock/build/index.js:485:31)
      at add (node_modules/jquery/dist/jquery.js:8772:5)
      at buildParams (node_modules/jquery/dist/jquery.js:8759:3)
      at Function.jQuery.param (node_modules/jquery/dist/jquery.js:8796:4)
      at Proxy.navigate (resources/ext.wikilambda.app/store/stores/router.js:89:41)
      at Proxy.wrappedAction (node_modules/pinia/dist/pinia.cjs:1401:26)
      at Object.<anonymous> (tests/jest/store/stores/router.test.js:78:12)

  ● Router Pinia store › Actions › navigate › when view is valid › call window.history.pushState

    TypeError: callback is not a function

      87 | 			const path = this.currentPath;
      88 | 			const query = Object.assign( {}, this.queryParams, { view: this.currentView } );
    > 89 | 			const newUriString = `${ path }?${ $.param( query ) }`;
         | 			                                     ^
      90 |
      91 | 			window.history.pushState( { path, query }, null, newUriString );
      92 | 		},

      at ModuleMocker.withImplementation (node_modules/jest-mock/build/index.js:485:31)
      at add (node_modules/jquery/dist/jquery.js:8772:5)
      at buildParams (node_modules/jquery/dist/jquery.js:8759:3)
      at Function.jQuery.param (node_modules/jquery/dist/jquery.js:8796:4)
      at Proxy.navigate (resources/ext.wikilambda.app/store/stores/router.js:89:41)
      at Proxy.wrappedAction (node_modules/pinia/dist/pinia.cjs:1401:26)
      at Object.<anonymous> (tests/jest/store/stores/router.test.js:87:12)

PASS tests/jest/components/widgets/about/About.test.js (5.135 s)
PASS tests/jest/components/widgets/about/AboutLanguageBlock.test.js
PASS tests/jest/components/default/ZObjectKeyValue.test.js (7.025 s)
PASS tests/jest/utils/zobjectUtils.test.js
PASS tests/jest/components/default/ZObjectStringRenderer.test.js
PASS tests/jest/components/base/ModeSelector.test.js
PASS tests/jest/components/widgets/function-evaluator/FunctionEvaluator.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: call - {"zobjecttype":"Z14","zobjectid":"Z12345","zlang":"Z1002","selectedfunctionzid":"Z10000","haserrors":false}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: call - {"zobjecttype":"Z14","zobjectid":"Z12345","zlang":"Z1002","selectedfunctionzid":"Z10000","haserrors":false}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/store/stores/testResults.test.js
PASS tests/jest/store/stores/wikidata/entities.test.js
PASS tests/jest/components/widgets/function-evaluator/FunctionMetadataDialog.test.js
PASS tests/jest/components/default/ZObjectToString.test.js (6.776 s)
PASS tests/jest/components/default/ZCode.test.js
PASS tests/jest/store/stores/ztype.test.js
FAIL tests/jest/store/stores/wikidata/lexemes.test.js
  ● Wikidata Lexemes Pinia store › Actions › fetchLexemes › stores the resolving promise for fetching lexemes

    expect(received).toBe(expected) // Object.is equality

    If it should pass with deep equality, replace "toBe" with "toStrictEqual"

    Expected: {}
    Received: serializes to the same string

      300 | 				const promise = store.fetchLexemes( { ids: lexemes } );
      301 |
    > 302 | 				expect( store.lexemes.L333333 ).toBe( promise );
          | 				                                ^
      303 | 				expect( store.lexemes.L444444 ).toBe( promise );
      304 |
      305 | 				await promise;

      at Object.<anonymous> (tests/jest/store/stores/wikidata/lexemes.test.js:302:37)

PASS tests/jest/components/widgets/function-explorer/FunctionExplorer.test.js
PASS tests/jest/components/function/viewer/FunctionViewerDetails.test.js
PASS tests/jest/components/widgets/about/AboutLanguagesDialog.test.js
PASS tests/jest/languageselector/LanguageSelector.test.js
PASS tests/jest/components/default/wikidata/EntitySelector.test.js
PASS tests/jest/store/classes/ApiError.test.js
PASS tests/jest/store/stores/currentPage.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/components/default/ZTester.test.js
PASS tests/jest/components/widgets/publish/PublishDialog.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z14","zobjectid":"Z10001","zlang":"Z1002","implementationtype":"Z14K3","haserrors":false}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","haserrors":true}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/components/base/ZObjectSelector.test.js
PASS tests/jest/utils/schemata.test.js
FAIL tests/jest/store/stores/wikidata/properties.test.js
  ● Wikidata Properties Pinia store › Actions › fetchProperties › stores the resolving promise for fetching properties

    expect(received).toBe(expected) // Object.is equality

    If it should pass with deep equality, replace "toBe" with "toStrictEqual"

    Expected: {}
    Received: serializes to the same string

      219 | 				const promise = store.fetchProperties( { ids: properties } );
      220 |
    > 221 | 				expect( store.properties.P333333 ).toBe( promise );
          | 				                                   ^
      222 | 				expect( store.properties.P444444 ).toBe( promise );
      223 |
      224 | 				await promise;

      at Object.<anonymous> (tests/jest/store/stores/wikidata/properties.test.js:221:40)

PASS tests/jest/components/default/ZImplementation.test.js
PASS tests/jest/integration/DisconnectFunctionImplementation.test.js (6.753 s)
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: view - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: view - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: view - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/components/widgets/function-report/FunctionReport.test.js
FAIL tests/jest/store/stores/wikidata/items.test.js
  ● Wikidata Items Pinia store › Actions › fetchItems › stores the resolving promise for fetching items

    expect(received).toBe(expected) // Object.is equality

    If it should pass with deep equality, replace "toBe" with "toStrictEqual"

    Expected: {}
    Received: serializes to the same string

      217 | 				const promise = store.fetchItems( { ids: items } );
      218 |
    > 219 | 				expect( store.items.Q333333 ).toBe( promise );
          | 				                              ^
      220 | 				expect( store.items.Q444444 ).toBe( promise );
      221 |
      222 | 				await promise;

      at Object.<anonymous> (tests/jest/store/stores/wikidata/items.test.js:219:35)

PASS tests/jest/components/default/wikidata/LexemeForm.test.js
PASS tests/jest/integration/CreateNewTester.test.js (12.25 s)
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z20","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z20","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z20","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z20","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z20","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/components/function/editor/FunctionEditorFooter.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/components/widgets/publish/Publish.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: cancel - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","implementationtype":"Z14K3"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: cancel - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: cancel - {"zobjecttype":"Z14","zobjectid":"Z10001","zlang":"Z1002","implementationtype":"Z14K3"}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/integration/CreateNewCompositionImplementation.test.js (12.431 s)
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z14","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z14","implementationtype":"Z14K2","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z14","zobjectid":"Z0","zlang":"Z1002","implementationtype":"Z14K2","haserrors":false}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/components/default/wikidata/Property.test.js
PASS tests/jest/components/base/TypeSelector.test.js
PASS tests/jest/components/default/wikidata/Lexeme.test.js
PASS tests/jest/components/base/Pagination.test.js
PASS tests/jest/components/default/wikidata/Item.test.js
PASS tests/jest/components/function/editor/FunctionEditorInputsItem.test.js
PASS tests/jest/integration/EditFunction.test.js (5.264 s)
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: edit - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z12345","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/EditFunction.test.js:78:9)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z12345","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/EditFunction.test.js:86:9)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/EditFunction.test.js:91:9)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/EditFunction.test.js:112:9)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/components/default/ZArgumentReference.test.js
PASS tests/jest/integration/CreateNewFunction.test.js (5.131 s)
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/CreateNewFunction.test.js:52:9)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/CreateNewFunction.test.js:56:9)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/CreateNewFunction.test.js:70:9)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/CreateNewFunction.test.js:86:9)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/CreateNewFunction.test.js:104:9)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/CreateNewFunction.test.js:108:9)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/CreateNewFunction.test.js:117:9)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/CreateNewFunction.test.js:121:9)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/components/default/ZReference.test.js
PASS tests/jest/integration/CreateNewCodeImplementation.test.js (10.737 s)
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z14","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z14","implementationtype":"Z14K2","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z14","zobjectid":"Z0","zlang":"Z1002","implementationtype":"Z14K3","haserrors":false}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z14","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z14","implementationtype":"Z14K2","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/components/function/editor/FunctionEditorAliases.test.js
PASS tests/jest/components/function/editor/FunctionEditorName.test.js
PASS tests/jest/mixins/pageTitleMixin.test.js
PASS tests/jest/store/stores/errors.test.js
PASS tests/jest/integration/FunctionEditorEdgeCases.test.js (5.291 s)
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/FunctionEditorEdgeCases.test.js:96:9)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/components/base/ClipboardManager.test.js
PASS tests/jest/components/function/editor/FunctionEditorInputs.test.js
PASS tests/jest/components/default/ZTypedList.test.js
PASS tests/jest/mixins/wikidataMixin.test.js
PASS tests/jest/integration/RunFunctionCall.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: call - {"zobjectid":"Z0","zlang":"Z1002","selectedfunctionzid":"Z12345","haserrors":false}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/components/function/editor/FunctionEditorDescription.test.js
PASS tests/jest/components/function/editor/FunctionEditorLanguageBlock.test.js
PASS tests/jest/components/App.test.js
PASS tests/jest/utils/miscUtils.test.js
PASS tests/jest/mixins/errorMixin.test.js
PASS tests/jest/integration/FunctionEditorGenericTypes.test.js (5.666 s)
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/components/widgets/function-report/FunctionReportItem.test.js
PASS tests/jest/composables/useBreakpoints.test.js
PASS tests/jest/store/stores/functionCall.test.js
PASS tests/jest/components/base/CodeEditor.test.js
PASS tests/jest/components/default/ZTypedListType.test.js
PASS tests/jest/utils/urlUtils.test.js
PASS tests/jest/store/stores/user.test.js
PASS tests/jest/components/function/editor/FunctionEditor.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/components/default/ZMonolingualString.test.js
PASS tests/jest/mixins/eventLogMixin.test.js
PASS tests/jest/integration/ConnectFunctionImplementation.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: view - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/components/base/ExpandedToggle.test.js
PASS tests/jest/integration/ConnectFunctionTest.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: view - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/components/widgets/function-evaluator/EvaluationResult.test.js
PASS tests/jest/integration/DisconnectFunctionTest.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: view - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/store/stores/languages.test.js
PASS tests/jest/components/function/editor/FunctionEditorOutput.test.js
PASS tests/jest/components/function/editor/FunctionEditorLanguage.test.js
PASS tests/jest/components/default/ZString.test.js
PASS tests/jest/components/default/ZTypedListItems.test.js
PASS tests/jest/mixins/clipboardMixin.test.js
PASS tests/jest/integration/CancelEditExistingFunction.test.js (6.256 s)
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: edit - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: cancel - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: edit - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/CancelEditExistingFunction.test.js:62:9)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z12345","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: cancel - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/components/default/ZBoolean.test.js
PASS tests/jest/components/base/LocalizedLabel.test.js
PASS tests/jest/components/base/TypeToString.test.js
PASS tests/jest/store/stores/programmingLanguages.test.js
PASS tests/jest/store/stores/listItems.test.js
PASS tests/jest/views/FunctionViewer.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: view - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: view - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: view - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/integration/CancelEditNewFunction.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: cancel - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/CancelEditNewFunction.test.js:55:9)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: cancel - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/components/widgets/publish/LeaveEditorDialog.test.js
PASS tests/jest/components/default/ZFunctionCall.test.js
PASS tests/jest/utils/wikidataUtils.test.js
PASS tests/jest/components/function/viewer/FunctionViewerDetailsTable.test.js
PASS tests/jest/store/index.test.js

Summary of all failing tests
FAIL tests/jest/store/stores/router.test.js
  ● Router Pinia store › Actions › navigate › when view is valid › changes the view

    TypeError: callback is not a function

      87 | 			const path = this.currentPath;
      88 | 			const query = Object.assign( {}, this.queryParams, { view: this.currentView } );
    > 89 | 			const newUriString = `${ path }?${ $.param( query ) }`;
         | 			                                     ^
      90 |
      91 | 			window.history.pushState( { path, query }, null, newUriString );
      92 | 		},

      at ModuleMocker.withImplementation (node_modules/jest-mock/build/index.js:485:31)
      at add (node_modules/jquery/dist/jquery.js:8772:5)
      at buildParams (node_modules/jquery/dist/jquery.js:8759:3)
      at Function.jQuery.param (node_modules/jquery/dist/jquery.js:8796:4)
      at Proxy.navigate (resources/ext.wikilambda.app/store/stores/router.js:89:41)
      at Proxy.wrappedAction (node_modules/pinia/dist/pinia.cjs:1401:26)
      at Object.<anonymous> (tests/jest/store/stores/router.test.js:78:12)

  ● Router Pinia store › Actions › navigate › when view is valid › call window.history.pushState

    TypeError: callback is not a function

      87 | 			const path = this.currentPath;
      88 | 			const query = Object.assign( {}, this.queryParams, { view: this.currentView } );
    > 89 | 			const newUriString = `${ path }?${ $.param( query ) }`;
         | 			                                     ^
      90 |
      91 | 			window.history.pushState( { path, query }, null, newUriString );
      92 | 		},

      at ModuleMocker.withImplementation (node_modules/jest-mock/build/index.js:485:31)
      at add (node_modules/jquery/dist/jquery.js:8772:5)
      at buildParams (node_modules/jquery/dist/jquery.js:8759:3)
      at Function.jQuery.param (node_modules/jquery/dist/jquery.js:8796:4)
      at Proxy.navigate (resources/ext.wikilambda.app/store/stores/router.js:89:41)
      at Proxy.wrappedAction (node_modules/pinia/dist/pinia.cjs:1401:26)
      at Object.<anonymous> (tests/jest/store/stores/router.test.js:87:12)

FAIL tests/jest/store/stores/wikidata/lexemes.test.js
  ● Wikidata Lexemes Pinia store › Actions › fetchLexemes › stores the resolving promise for fetching lexemes

    expect(received).toBe(expected) // Object.is equality

    If it should pass with deep equality, replace "toBe" with "toStrictEqual"

    Expected: {}
    Received: serializes to the same string

      300 | 				const promise = store.fetchLexemes( { ids: lexemes } );
      301 |
    > 302 | 				expect( store.lexemes.L333333 ).toBe( promise );
          | 				                                ^
      303 | 				expect( store.lexemes.L444444 ).toBe( promise );
      304 |
      305 | 				await promise;

      at Object.<anonymous> (tests/jest/store/stores/wikidata/lexemes.test.js:302:37)

FAIL tests/jest/store/stores/wikidata/properties.test.js
  ● Wikidata Properties Pinia store › Actions › fetchProperties › stores the resolving promise for fetching properties

    expect(received).toBe(expected) // Object.is equality

    If it should pass with deep equality, replace "toBe" with "toStrictEqual"

    Expected: {}
    Received: serializes to the same string

      219 | 				const promise = store.fetchProperties( { ids: properties } );
      220 |
    > 221 | 				expect( store.properties.P333333 ).toBe( promise );
          | 				                                   ^
      222 | 				expect( store.properties.P444444 ).toBe( promise );
      223 |
      224 | 				await promise;

      at Object.<anonymous> (tests/jest/store/stores/wikidata/properties.test.js:221:40)

FAIL tests/jest/store/stores/wikidata/items.test.js
  ● Wikidata Items Pinia store › Actions › fetchItems › stores the resolving promise for fetching items

    expect(received).toBe(expected) // Object.is equality

    If it should pass with deep equality, replace "toBe" with "toStrictEqual"

    Expected: {}
    Received: serializes to the same string

      217 | 				const promise = store.fetchItems( { ids: items } );
      218 |
    > 219 | 				expect( store.items.Q333333 ).toBe( promise );
          | 				                              ^
      220 | 				expect( store.items.Q444444 ).toBe( promise );
      221 |
      222 | 				await promise;

      at Object.<anonymous> (tests/jest/store/stores/wikidata/items.test.js:219:35)


Test Suites: 4 failed, 99 passed, 103 total
Tests:       5 failed, 1561 passed, 1566 total
Snapshots:   0 total
Time:        82.592 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
  48:1  warning  This line has a length of 117. Maximum allowed is 100  max-len
  49:1  warning  This line has a length of 104. Maximum allowed is 100  max-len
  50:1  warning  This line has a length of 106. Maximum allowed is 100  max-len
  56:1  warning  This line has a length of 120. Maximum allowed is 100  max-len
  57:1  warning  This line has a length of 104. Maximum allowed is 100  max-len
  58:1  warning  This line has a length of 109. Maximum allowed is 100  max-len

✖ 8 problems (0 errors, 8 warnings)


Running "banana:WikiLambda" (banana) task
>> 3 message directories checked.

Running "stylelint:all" (stylelint) task
>> Linted 288 files without errors

Done.

> test:unit
> jest

-----------------------------------------------------------|---------|----------|---------|---------|-----------------------------------------------------------------------------------------------------------------
File                                                       | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s                                                                                               
-----------------------------------------------------------|---------|----------|---------|---------|-----------------------------------------------------------------------------------------------------------------
All files                                                  |   96.01 |    92.64 |   95.54 |   96.01 |                                                                                                                 
 ext.wikilambda.app/components                             |   98.34 |      100 |     100 |   98.34 |                                                                                                                 
  App.vue                                                  |   98.34 |      100 |     100 |   98.34 | 85,105                                                                                                          
 ext.wikilambda.app/components/base                        |   98.56 |     91.5 |   96.51 |   98.56 |                                                                                                                 
  ClipboardManager.vue                                     |   97.77 |    85.71 |     100 |   97.77 | 69-70                                                                                                           
  CodeEditor.vue                                           |     100 |      100 |     100 |     100 |                                                                                                                 
  CustomDialogHeader.vue                                   |     100 |      100 |     100 |     100 |                                                                                                                 
  ExpandedToggle.vue                                       |     100 |      100 |     100 |     100 |                                                                                                                 
  KeyBlock.vue                                             |     100 |      100 |     100 |     100 |                                                                                                                 
  KeyValueBlock.vue                                        |     100 |      100 |     100 |     100 |                                                                                                                 
  LocalizedLabel.vue                                       |     100 |      100 |     100 |     100 |                                                                                                                 
  ModeSelector.vue                                         |   99.41 |    94.87 |     100 |   99.41 | 211-212                                                                                                         
  Pagination.vue                                           |     100 |      100 |     100 |     100 |                                                                                                                 
  StatusIcon.vue                                           |     100 |      100 |     100 |     100 |                                                                                                                 
  TypeSelector.vue                                         |   94.49 |    78.57 |   85.71 |   94.49 | 155-159,171-173,176-179                                                                                         
  TypeToString.vue                                         |   99.34 |    94.11 |     100 |   99.34 | 80                                                                                                              
  WidgetBase.vue                                           |     100 |      100 |     100 |     100 |                                                                                                                 
  ZObjectSelector.vue                                      |      97 |    86.95 |   91.66 |      97 | 302,310-315,359-360,415-416,447-448,477-479,528-529                                                             
 ext.wikilambda.app/components/default-view-types          |   98.41 |    93.08 |   93.65 |   98.41 |                                                                                                                 
  ZArgumentReference.vue                                   |     100 |      100 |     100 |     100 |                                                                                                                 
  ZBoolean.vue                                             |     100 |      100 |     100 |     100 |                                                                                                                 
  ZCode.vue                                                |   97.41 |    90.74 |     100 |   97.41 | 362,408-419                                                                                                     
  ZFunctionCall.vue                                        |     100 |      100 |     100 |     100 |                                                                                                                 
  ZImplementation.vue                                      |     100 |      100 |     100 |     100 |                                                                                                                 
  ZMonolingualString.vue                                   |     100 |     92.3 |     100 |     100 | 137                                                                                                             
  ZObjectKeyValue.vue                                      |   95.96 |    91.87 |   82.75 |   95.96 | 202,211,298,329-330,389-390,589-593,609-611,635-636,666-667,682-683,777-781,783-784,786-787,789-790,792,794,806 
  ZObjectKeyValueSet.vue                                   |   98.13 |      100 |      75 |   98.13 | 84-85                                                                                                           
  ZObjectStringRenderer.vue                                |   97.67 |    88.33 |   84.61 |   97.67 | 267,392-393,469,492-495,528-532                                                                                 
  ZObjectToString.vue                                      |   99.61 |    94.52 |     100 |   99.61 | 243-244                                                                                                         
  ZReference.vue                                           |     100 |    95.45 |     100 |     100 | 98                                                                                                              
  ZString.vue                                              |     100 |      100 |     100 |     100 |                                                                                                                 
  ZTester.vue                                              |    99.3 |    95.45 |     100 |    99.3 | 218-219                                                                                                         
  ZTypedList.vue                                           |    98.6 |     90.9 |   83.33 |    98.6 | 133-134                                                                                                         
  ZTypedListItems.vue                                      |   98.52 |      100 |      80 |   98.52 | 86-87                                                                                                           
  ZTypedListType.vue                                       |     100 |      100 |     100 |     100 |                                                                                                                 
 ext.wikilambda.app/components/default-view-types/wikidata |   97.83 |    82.02 |   84.31 |   97.83 |                                                                                                                 
  EntitySelector.vue                                       |   96.31 |    83.87 |      90 |   96.31 | 86,90,179-185                                                                                                   
  Item.vue                                                 |   98.97 |    83.33 |      80 |   98.97 | 95,157                                                                                                          
  Lexeme.vue                                               |   97.97 |    83.33 |      80 |   97.97 | 95,157-159                                                                                                      
  LexemeForm.vue                                           |   97.52 |    83.33 |      80 |   97.52 | 96,159-162                                                                                                      
  Property.vue                                             |   98.59 |       75 |      90 |   98.59 | 116-117,174                                                                                                     
  wikidataIconSvg.js                                       |     100 |      100 |     100 |     100 |                                                                                                                 
 ext.wikilambda.app/components/function/editor             |   99.19 |    95.05 |   97.11 |   99.19 |                                                                                                                 
  FunctionEditor.vue                                       |     100 |    89.28 |     100 |     100 | 126,223-224                                                                                                     
  FunctionEditorAliases.vue                                |     100 |      100 |     100 |     100 |                                                                                                                 
  FunctionEditorDescription.vue                            |   96.88 |    90.47 |   91.66 |   96.88 | 151-152,161-162,188-190                                                                                         
  FunctionEditorField.vue                                  |     100 |      100 |     100 |     100 |                                                                                                                 
  FunctionEditorFooter.vue                                 |   98.57 |    89.47 |     100 |   98.57 | 89-90                                                                                                           
  FunctionEditorInputs.vue                                 |     100 |      100 |     100 |     100 |                                                                                                                 
  FunctionEditorInputsItem.vue                             |   99.41 |      100 |    92.3 |   99.41 | 229-230                                                                                                         
  FunctionEditorLanguage.vue                               |     100 |      100 |     100 |     100 |                                                                                                                 
  FunctionEditorLanguageBlock.vue                          |     100 |      100 |     100 |     100 |                                                                                                                 
  FunctionEditorName.vue                                   |   96.99 |     90.9 |   91.66 |   96.99 | 157-158,167-168,194-196                                                                                         
  FunctionEditorOutput.vue                                 |     100 |      100 |     100 |     100 |                                                                                                                 
 ext.wikilambda.app/components/function/viewer             |   98.76 |    96.87 |   98.03 |   98.76 |                                                                                                                 
  FunctionTesterTable.vue                                  |      95 |    85.71 |    87.5 |      95 | 91-92,109,159-164                                                                                               
  FunctionViewerDetails.vue                                |   99.31 |       99 |     100 |   99.31 | 236-237,573,595,616                                                                                             
  FunctionViewerDetailsTable.vue                           |     100 |      100 |     100 |     100 |                                                                                                                 
 ext.wikilambda.app/components/widgets/about               |   98.41 |    91.95 |   95.16 |   98.41 |                                                                                                                 
  About.vue                                                |   98.74 |    94.84 |   93.33 |   98.74 | 247,291-294,329-330,436-437                                                                                     
  AboutLanguageBlock.vue                                   |   99.66 |    95.65 |     100 |   99.66 | 482-483                                                                                                         
  AboutLanguagesDialog.vue                                 |   95.86 |    77.41 |   92.85 |   95.86 | 251-253,264-266,286-287,315-316,318-319,321-322,324-325                                                         
 ext.wikilambda.app/components/widgets/function-evaluator  |   97.07 |    80.55 |   94.82 |   97.07 |                                                                                                                 
  EvaluationResult.vue                                     |   96.18 |       75 |      60 |   96.18 | 89,98-99,113-114                                                                                                
  FunctionEvaluator.vue                                    |     100 |    86.95 |     100 |     100 | 268,348,383,414-416                                                                                             
  FunctionMetadataDialog.vue                               |   95.45 |    77.65 |   96.77 |   95.45 | 249-250,296-297,303-304,398-399,419,435-436,551-552,609-610,635,646-647,651,672,700-702,726-730,735-739,744-748 
 ext.wikilambda.app/components/widgets/function-explorer   |   99.43 |      100 |   84.61 |   99.43 |                                                                                                                 
  FunctionExplorer.vue                                     |   99.43 |      100 |   84.61 |   99.43 | 271,274                                                                                                         
 ext.wikilambda.app/components/widgets/function-report     |   96.96 |    91.56 |   89.65 |   96.96 |                                                                                                                 
  FunctionReport.vue                                       |   96.43 |    87.03 |   90.47 |   96.43 | 225-227,285-287,293-295,329-330,339-340                                                                         
  FunctionReportItem.vue                                   |    97.8 |      100 |    87.5 |    97.8 | 177-181                                                                                                         
 ext.wikilambda.app/components/widgets/publish             |   97.92 |     84.5 |   91.89 |   97.92 |                                                                                                                 
  LeaveEditorDialog.vue                                    |     100 |      100 |     100 |     100 |                                                                                                                 
  Publish.vue                                              |    94.4 |    81.25 |   81.25 |    94.4 | 99-107,134,199-201,219-221                                                                                      
  PublishDialog.vue                                        |     100 |    85.29 |     100 |     100 | 239,305,337-339                                                                                                 
 ext.wikilambda.app/composables                            |     100 |      100 |     100 |     100 |                                                                                                                 
  useBreakpoints.js                                        |     100 |      100 |     100 |     100 |                                                                                                                 
 ext.wikilambda.app/mixins                                 |   99.36 |    94.17 |     100 |   99.36 |                                                                                                                 
  clipboardMixin.js                                        |     100 |      100 |     100 |     100 |                                                                                                                 
  errorMixin.js                                            |   98.16 |    81.81 |     100 |   98.16 | 78-79                                                                                                           
  eventLogMixin.js                                         |   97.43 |    93.33 |     100 |   97.43 | 45-46                                                                                                           
  metadataMixin.js                                         |     100 |      100 |     100 |     100 |                                                                                                                 
  pageTitleMixin.js                                        |     100 |    94.44 |     100 |     100 | 73                                                                                                              
  typeMixin.js                                             |     100 |      100 |     100 |     100 |                                                                                                                 
  wikidataMixin.js                                         |     100 |      100 |     100 |     100 |                                                                                                                 
 ext.wikilambda.app/store                                  |     100 |      100 |     100 |     100 |                                                                                                                 
  index.js                                                 |     100 |      100 |     100 |     100 |                                                                                                                 
 ext.wikilambda.app/store/classes                          |     100 |    97.72 |     100 |     100 |                                                                                                                 
  ApiError.js                                              |     100 |      100 |     100 |     100 |                                                                                                                 
  LabelData.js                                             |     100 |    92.85 |     100 |     100 | 45                                                                                                              
  Row.js                                                   |     100 |      100 |     100 |     100 |                                                                                                                 
 ext.wikilambda.app/store/stores                           |   98.23 |    95.71 |   98.94 |   98.23 |                                                                                                                 
  errors.js                                                |   98.21 |     91.3 |     100 |   98.21 | 144-146                                                                                                         
  functionCall.js                                          |     100 |      100 |     100 |     100 |                                                                                                                 
  languages.js                                             |   92.39 |    76.92 |     100 |   92.39 | 26-29,43-45                                                                                                     
  library.js                                               |   94.77 |    95.09 |   93.33 |   94.77 | 294-302,406-407,432-433,444-447,451,524-545,676-683,716,834-835                                                 
  listItems.js                                             |     100 |      100 |     100 |     100 |                                                                                                                 
  programmingLanguages.js                                  |     100 |      100 |     100 |     100 |                                                                                                                 
  router.js                                                |     100 |    97.22 |     100 |     100 | 20                                                                                                              
  testResults.js                                           |     100 |    90.74 |     100 |     100 | 132,172,222-224                                                                                                 
  user.js                                                  |     100 |      100 |     100 |     100 |                                                                                                                 
  zfunction.js                                             |     100 |      100 |     100 |     100 |                                                                                                                 
  zobject.js                                               |    98.9 |    95.82 |     100 |    98.9 | 414-418,481-482,502-503,523-524,1002-1003,1035-1036,1304-1305,1558-1559,1863-1865                               
  ztype.js                                                 |    99.4 |      100 |     100 |    99.4 | 285-286                                                                                                         
 ext.wikilambda.app/store/stores/wikidata                  |   99.51 |    89.94 |    98.5 |   99.51 |                                                                                                                 
  entities.js                                              |     100 |    95.83 |     100 |     100 | 108                                                                                                             
  items.js                                                 |     100 |       90 |     100 |     100 | 65,94,97,118                                                                                                    
  lexemes.js                                               |   98.67 |    87.69 |      96 |   98.67 | 251-254                                                                                                         
  properties.js                                            |     100 |       90 |     100 |     100 | 63,91,94,115                                                                                                    
 ext.wikilambda.app/store/stores/zobject                   |   98.15 |    94.88 |     100 |   98.15 |                                                                                                                 
  currentPage.js                                           |     100 |    96.42 |     100 |     100 | 171                                                                                                             
  factory.js                                               |   96.51 |    91.37 |     100 |   96.51 | 158-164,733-739,753-759,763-769,775                                                                             
  submission.js                                            |     100 |      100 |     100 |     100 |                                                                                                                 
 ext.wikilambda.app/utils                                  |   96.64 |    95.28 |   98.11 |   96.64 |                                                                                                                 
  apiUtils.js                                              |   92.42 |    83.78 |    90.9 |   92.42 | 181-202,285-286                                                                                                 
  miscUtils.js                                             |     100 |      100 |     100 |     100 |                                                                                                                 
  schemata.js                                              |   96.79 |    92.85 |     100 |   96.79 | 166-171,203-204,206-207,297-298                                                                                 
  typeUtils.js                                             |   97.01 |    98.98 |     100 |   97.01 | 544-565                                                                                                         
  urlUtils.js                                              |     100 |      100 |     100 |     100 |                                                                                                                 
  wikidataUtils.js                                         |     100 |      100 |     100 |     100 |                                                                                                                 
  zobjectUtils.js                                          |     100 |      100 |     100 |     100 |                                                                                                                 
 ext.wikilambda.app/views                                  |   96.62 |    67.64 |   89.47 |   96.62 |                                                                                                                 
  Default.vue                                              |    97.4 |       64 |    92.3 |    97.4 | 184-185,226,240-243                                                                                             
  FunctionEditor.vue                                       |     100 |      100 |     100 |     100 |                                                                                                                 
  FunctionEvaluator.vue                                    |     100 |      100 |     100 |     100 |                                                                                                                 
  FunctionViewer.vue                                       |   92.38 |    71.42 |      75 |   92.38 | 85-92                                                                                                           
 ext.wikilambda.languageselector/components                |   98.04 |    93.75 |   94.11 |   98.04 |                                                                                                                 
  LanguageSelector.vue                                     |   98.04 |    93.75 |   94.11 |   98.04 | 227-228,266-267,288-289                                                                                         
 ext.wikilambda.visualeditor                               |       0 |        0 |       0 |       0 |                                                                                                                 
  init.js                                                  |       0 |        0 |       0 |       0 | 1-6                                                                                                             
  ve.ce.WikifunctionsCallNode.js                           |       0 |        0 |       0 |       0 | 1-50                                                                                                            
  ve.dm.WikifunctionsCallNode.js                           |       0 |        0 |       0 |       0 | 1-62                                                                                                            
  ve.init.mw.WikifunctionsCall.js                          |       0 |        0 |       0 |       0 | 1-24                                                                                                            
  ve.ui.WikifunctionsCallContextItem.js                    |       0 |        0 |       0 |       0 | 1-131                                                                                                           
  ve.ui.WikifunctionsCallDialog.js                         |       0 |        0 |       0 |       0 | 1-310                                                                                                           
  ve.ui.WikifunctionsCallDialogTool.js                     |       0 |        0 |       0 |       0 | 1-54                                                                                                            
-----------------------------------------------------------|---------|----------|---------|---------|-----------------------------------------------------------------------------------------------------------------

--- end ---
$ node_modules/.bin/jest -u
--- stderr ---
FAIL tests/jest/store/stores/router.test.js
  ● Router Pinia store › Actions › navigate › when view is valid › changes the view

    TypeError: callback is not a function

      87 | 			const path = this.currentPath;
      88 | 			const query = Object.assign( {}, this.queryParams, { view: this.currentView } );
    > 89 | 			const newUriString = `${ path }?${ $.param( query ) }`;
         | 			                                     ^
      90 |
      91 | 			window.history.pushState( { path, query }, null, newUriString );
      92 | 		},

      at ModuleMocker.withImplementation (node_modules/jest-mock/build/index.js:485:31)
      at add (node_modules/jquery/dist/jquery.js:8772:5)
      at buildParams (node_modules/jquery/dist/jquery.js:8759:3)
      at Function.jQuery.param (node_modules/jquery/dist/jquery.js:8796:4)
      at Proxy.navigate (resources/ext.wikilambda.app/store/stores/router.js:89:41)
      at Proxy.wrappedAction (node_modules/pinia/dist/pinia.cjs:1401:26)
      at Object.<anonymous> (tests/jest/store/stores/router.test.js:78:12)

  ● Router Pinia store › Actions › navigate › when view is valid › call window.history.pushState

    TypeError: callback is not a function

      87 | 			const path = this.currentPath;
      88 | 			const query = Object.assign( {}, this.queryParams, { view: this.currentView } );
    > 89 | 			const newUriString = `${ path }?${ $.param( query ) }`;
         | 			                                     ^
      90 |
      91 | 			window.history.pushState( { path, query }, null, newUriString );
      92 | 		},

      at ModuleMocker.withImplementation (node_modules/jest-mock/build/index.js:485:31)
      at add (node_modules/jquery/dist/jquery.js:8772:5)
      at buildParams (node_modules/jquery/dist/jquery.js:8759:3)
      at Function.jQuery.param (node_modules/jquery/dist/jquery.js:8796:4)
      at Proxy.navigate (resources/ext.wikilambda.app/store/stores/router.js:89:41)
      at Proxy.wrappedAction (node_modules/pinia/dist/pinia.cjs:1401:26)
      at Object.<anonymous> (tests/jest/store/stores/router.test.js:87:12)

FAIL tests/jest/store/stores/wikidata/lexemes.test.js
  ● Wikidata Lexemes Pinia store › Actions › fetchLexemes › stores the resolving promise for fetching lexemes

    expect(received).toBe(expected) // Object.is equality

    If it should pass with deep equality, replace "toBe" with "toStrictEqual"

    Expected: {}
    Received: serializes to the same string

      300 | 				const promise = store.fetchLexemes( { ids: lexemes } );
      301 |
    > 302 | 				expect( store.lexemes.L333333 ).toBe( promise );
          | 				                                ^
      303 | 				expect( store.lexemes.L444444 ).toBe( promise );
      304 |
      305 | 				await promise;

      at Object.<anonymous> (tests/jest/store/stores/wikidata/lexemes.test.js:302:37)

FAIL tests/jest/store/stores/wikidata/items.test.js
  ● Wikidata Items Pinia store › Actions › fetchItems › stores the resolving promise for fetching items

    expect(received).toBe(expected) // Object.is equality

    If it should pass with deep equality, replace "toBe" with "toStrictEqual"

    Expected: {}
    Received: serializes to the same string

      217 | 				const promise = store.fetchItems( { ids: items } );
      218 |
    > 219 | 				expect( store.items.Q333333 ).toBe( promise );
          | 				                              ^
      220 | 				expect( store.items.Q444444 ).toBe( promise );
      221 |
      222 | 				await promise;

      at Object.<anonymous> (tests/jest/store/stores/wikidata/items.test.js:219:35)

FAIL tests/jest/store/stores/wikidata/properties.test.js
  ● Wikidata Properties Pinia store › Actions › fetchProperties › stores the resolving promise for fetching properties

    expect(received).toBe(expected) // Object.is equality

    If it should pass with deep equality, replace "toBe" with "toStrictEqual"

    Expected: {}
    Received: serializes to the same string

      219 | 				const promise = store.fetchProperties( { ids: properties } );
      220 |
    > 221 | 				expect( store.properties.P333333 ).toBe( promise );
          | 				                                   ^
      222 | 				expect( store.properties.P444444 ).toBe( promise );
      223 |
      224 | 				await promise;

      at Object.<anonymous> (tests/jest/store/stores/wikidata/properties.test.js:221:40)

PASS tests/jest/integration/CreateNewTester.test.js (9.693 s)
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z20","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z20","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z20","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z20","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z20","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/integration/CreateNewCodeImplementation.test.js (9.913 s)
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z14","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z14","implementationtype":"Z14K2","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z14","zobjectid":"Z0","zlang":"Z1002","implementationtype":"Z14K3","haserrors":false}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z14","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z14","implementationtype":"Z14K2","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/integration/CreateNewCompositionImplementation.test.js (10.419 s)
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z14","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z14","implementationtype":"Z14K2","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z14","zobjectid":"Z0","zlang":"Z1002","implementationtype":"Z14K2","haserrors":false}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/components/default/ZObjectKeyValue.test.js
PASS tests/jest/integration/DisconnectFunctionImplementation.test.js (5.359 s)
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: view - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: view - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: view - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/components/default/ZObjectToString.test.js (7.833 s)
PASS tests/jest/integration/CancelEditExistingFunction.test.js (5.098 s)
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: edit - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: cancel - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: edit - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/CancelEditExistingFunction.test.js:62:9)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z12345","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: cancel - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/integration/FunctionEditorGenericTypes.test.js (5.087 s)
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/integration/FunctionEditorEdgeCases.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/FunctionEditorEdgeCases.test.js:96:9)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/integration/EditFunction.test.js (5.033 s)
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: edit - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z12345","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/EditFunction.test.js:78:9)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z12345","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/EditFunction.test.js:86:9)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/EditFunction.test.js:91:9)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/EditFunction.test.js:112:9)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/components/widgets/about/About.test.js
PASS tests/jest/integration/CreateNewFunction.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/CreateNewFunction.test.js:52:9)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/CreateNewFunction.test.js:56:9)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/CreateNewFunction.test.js:70:9)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/CreateNewFunction.test.js:86:9)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/CreateNewFunction.test.js:104:9)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/CreateNewFunction.test.js:108:9)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/CreateNewFunction.test.js:117:9)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/CreateNewFunction.test.js:121:9)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/integration/CancelEditNewFunction.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: cancel - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/CancelEditNewFunction.test.js:55:9)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: cancel - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/integration/DisconnectFunctionTest.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: view - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/integration/ConnectFunctionImplementation.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: view - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/languageselector/LanguageSelector.test.js
PASS tests/jest/components/base/ZObjectSelector.test.js
PASS tests/jest/components/function/viewer/FunctionViewerDetails.test.js
PASS tests/jest/integration/RunFunctionCall.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: call - {"zobjectid":"Z0","zlang":"Z1002","selectedfunctionzid":"Z12345","haserrors":false}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/integration/ConnectFunctionTest.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: view - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/components/widgets/function-explorer/FunctionExplorer.test.js
PASS tests/jest/components/widgets/function-evaluator/FunctionEvaluator.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: call - {"zobjecttype":"Z14","zobjectid":"Z12345","zlang":"Z1002","selectedfunctionzid":"Z10000","haserrors":false}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: call - {"zobjecttype":"Z14","zobjectid":"Z12345","zlang":"Z1002","selectedfunctionzid":"Z10000","haserrors":false}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/components/widgets/function-evaluator/FunctionMetadataDialog.test.js
PASS tests/jest/components/default/ZObjectStringRenderer.test.js
PASS tests/jest/store/stores/zobject.test.js
PASS tests/jest/components/widgets/publish/PublishDialog.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z14","zobjectid":"Z10001","zlang":"Z1002","implementationtype":"Z14K3","haserrors":false}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","haserrors":true}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/components/base/ModeSelector.test.js
PASS tests/jest/components/App.test.js
PASS tests/jest/components/base/ExpandedToggle.test.js
PASS tests/jest/components/default/wikidata/EntitySelector.test.js
PASS tests/jest/components/default/ZCode.test.js
PASS tests/jest/store/stores/programmingLanguages.test.js
PASS tests/jest/components/widgets/function-report/FunctionReport.test.js
PASS tests/jest/components/default/ZBoolean.test.js
PASS tests/jest/views/FunctionViewer.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: view - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: view - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: view - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/store/stores/submission.test.js
PASS tests/jest/components/function/editor/FunctionEditorAliases.test.js
PASS tests/jest/components/function/editor/FunctionEditorFooter.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/components/widgets/function-evaluator/EvaluationResult.test.js
PASS tests/jest/components/function/viewer/FunctionViewerDetailsTable.test.js
PASS tests/jest/components/base/Pagination.test.js
PASS tests/jest/components/widgets/publish/Publish.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: cancel - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","implementationtype":"Z14K3"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: cancel - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: cancel - {"zobjecttype":"Z14","zobjectid":"Z10001","zlang":"Z1002","implementationtype":"Z14K3"}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/components/default/ZImplementation.test.js
PASS tests/jest/store/stores/zfunction.test.js
PASS tests/jest/components/default/ZTypedListItems.test.js
PASS tests/jest/components/default/ZTester.test.js
PASS tests/jest/components/default/wikidata/Item.test.js
PASS tests/jest/components/widgets/publish/LeaveEditorDialog.test.js
PASS tests/jest/components/default/ZTypedList.test.js
PASS tests/jest/components/base/CodeEditor.test.js
PASS tests/jest/store/stores/listItems.test.js
PASS tests/jest/components/default/ZFunctionCall.test.js
PASS tests/jest/components/function/editor/FunctionEditorName.test.js
PASS tests/jest/components/widgets/about/AboutLanguagesDialog.test.js
PASS tests/jest/components/function/editor/FunctionEditorLanguage.test.js
PASS tests/jest/components/default/ZMonolingualString.test.js
PASS tests/jest/components/function/editor/FunctionEditorLanguageBlock.test.js
PASS tests/jest/components/base/TypeToString.test.js
PASS tests/jest/components/function/editor/FunctionEditorOutput.test.js
PASS tests/jest/components/function/editor/FunctionEditorInputs.test.js
PASS tests/jest/components/default/wikidata/Property.test.js
PASS tests/jest/components/base/LocalizedLabel.test.js
PASS tests/jest/components/default/ZTypedListType.test.js
PASS tests/jest/components/function/editor/FunctionEditor.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/store/index.test.js
PASS tests/jest/store/stores/user.test.js
PASS tests/jest/components/function/editor/FunctionEditorDescription.test.js
PASS tests/jest/utils/miscUtils.test.js
PASS tests/jest/utils/wikidataUtils.test.js
PASS tests/jest/store/stores/errors.test.js
PASS tests/jest/mixins/wikidataMixin.test.js
PASS tests/jest/components/widgets/function-report/FunctionReportItem.test.js
PASS tests/jest/components/base/TypeSelector.test.js
PASS tests/jest/components/default/ZString.test.js
PASS tests/jest/components/default/ZArgumentReference.test.js
PASS tests/jest/mixins/pageTitleMixin.test.js
PASS tests/jest/components/default/ZReference.test.js
PASS tests/jest/mixins/eventLogMixin.test.js
PASS tests/jest/store/stores/languages.test.js
PASS tests/jest/mixins/clipboardMixin.test.js
PASS tests/jest/components/default/wikidata/LexemeForm.test.js
PASS tests/jest/components/function/editor/FunctionEditorInputsItem.test.js
PASS tests/jest/mixins/errorMixin.test.js
PASS tests/jest/utils/urlUtils.test.js
PASS tests/jest/store/stores/functionCall.test.js
PASS tests/jest/components/default/wikidata/Lexeme.test.js
PASS tests/jest/store/stores/library.test.js
PASS tests/jest/components/widgets/about/AboutLanguageBlock.test.js
PASS tests/jest/store/stores/factory.test.js
PASS tests/jest/composables/useBreakpoints.test.js
PASS tests/jest/store/stores/currentPage.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:137:12)

PASS tests/jest/components/base/ClipboardManager.test.js
PASS tests/jest/store/stores/wikidata/entities.test.js
PASS tests/jest/store/stores/ztype.test.js
PASS tests/jest/store/stores/testResults.test.js
PASS tests/jest/store/classes/ApiError.test.js
PASS tests/jest/utils/schemata.test.js
PASS tests/jest/utils/zobjectUtils.test.js
PASS tests/jest/utils/typeUtils.test.js

Summary of all failing tests
FAIL tests/jest/store/stores/router.test.js
  ● Router Pinia store › Actions › navigate › when view is valid › changes the view

    TypeError: callback is not a function

      87 | 			const path = this.currentPath;
      88 | 			const query = Object.assign( {}, this.queryParams, { view: this.currentView } );
    > 89 | 			const newUriString = `${ path }?${ $.param( query ) }`;
         | 			                                     ^
      90 |
      91 | 			window.history.pushState( { path, query }, null, newUriString );
      92 | 		},

      at ModuleMocker.withImplementation (node_modules/jest-mock/build/index.js:485:31)
      at add (node_modules/jquery/dist/jquery.js:8772:5)
      at buildParams (node_modules/jquery/dist/jquery.js:8759:3)
      at Function.jQuery.param (node_modules/jquery/dist/jquery.js:8796:4)
      at Proxy.navigate (resources/ext.wikilambda.app/store/stores/router.js:89:41)
      at Proxy.wrappedAction (node_modules/pinia/dist/pinia.cjs:1401:26)
      at Object.<anonymous> (tests/jest/store/stores/router.test.js:78:12)

  ● Router Pinia store › Actions › navigate › when view is valid › call window.history.pushState

    TypeError: callback is not a function

      87 | 			const path = this.currentPath;
      88 | 			const query = Object.assign( {}, this.queryParams, { view: this.currentView } );
    > 89 | 			const newUriString = `${ path }?${ $.param( query ) }`;
         | 			                                     ^
      90 |
      91 | 			window.history.pushState( { path, query }, null, newUriString );
      92 | 		},

      at ModuleMocker.withImplementation (node_modules/jest-mock/build/index.js:485:31)
      at add (node_modules/jquery/dist/jquery.js:8772:5)
      at buildParams (node_modules/jquery/dist/jquery.js:8759:3)
      at Function.jQuery.param (node_modules/jquery/dist/jquery.js:8796:4)
      at Proxy.navigate (resources/ext.wikilambda.app/store/stores/router.js:89:41)
      at Proxy.wrappedAction (node_modules/pinia/dist/pinia.cjs:1401:26)
      at Object.<anonymous> (tests/jest/store/stores/router.test.js:87:12)

FAIL tests/jest/store/stores/wikidata/lexemes.test.js
  ● Wikidata Lexemes Pinia store › Actions › fetchLexemes › stores the resolving promise for fetching lexemes

    expect(received).toBe(expected) // Object.is equality

    If it should pass with deep equality, replace "toBe" with "toStrictEqual"

    Expected: {}
    Received: serializes to the same string

      300 | 				const promise = store.fetchLexemes( { ids: lexemes } );
      301 |
    > 302 | 				expect( store.lexemes.L333333 ).toBe( promise );
          | 				                                ^
      303 | 				expect( store.lexemes.L444444 ).toBe( promise );
      304 |
      305 | 				await promise;

      at Object.<anonymous> (tests/jest/store/stores/wikidata/lexemes.test.js:302:37)

FAIL tests/jest/store/stores/wikidata/items.test.js
  ● Wikidata Items Pinia store › Actions › fetchItems › stores the resolving promise for fetching items

    expect(received).toBe(expected) // Object.is equality

    If it should pass with deep equality, replace "toBe" with "toStrictEqual"

    Expected: {}
    Received: serializes to the same string

      217 | 				const promise = store.fetchItems( { ids: items } );
      218 |
    > 219 | 				expect( store.items.Q333333 ).toBe( promise );
          | 				                              ^
      220 | 				expect( store.items.Q444444 ).toBe( promise );
      221 |
      222 | 				await promise;

      at Object.<anonymous> (tests/jest/store/stores/wikidata/items.test.js:219:35)

FAIL tests/jest/store/stores/wikidata/properties.test.js
  ● Wikidata Properties Pinia store › Actions › fetchProperties › stores the resolving promise for fetching properties

    expect(received).toBe(expected) // Object.is equality

    If it should pass with deep equality, replace "toBe" with "toStrictEqual"

    Expected: {}
    Received: serializes to the same string

      219 | 				const promise = store.fetchProperties( { ids: properties } );
      220 |
    > 221 | 				expect( store.properties.P333333 ).toBe( promise );
          | 				                                   ^
      222 | 				expect( store.properties.P444444 ).toBe( promise );
      223 |
      224 | 				await promise;

      at Object.<anonymous> (tests/jest/store/stores/wikidata/properties.test.js:221:40)


Test Suites: 4 failed, 99 passed, 103 total
Tests:       5 failed, 1561 passed, 1566 total
Snapshots:   0 total
Time:        76.441 s
Ran all test suites.
--- stdout ---
-----------------------------------------------------------|---------|----------|---------|---------|-----------------------------------------------------------------------------------------------------------------
File                                                       | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s                                                                                               
-----------------------------------------------------------|---------|----------|---------|---------|-----------------------------------------------------------------------------------------------------------------
All files                                                  |   96.01 |    92.64 |   95.54 |   96.01 |                                                                                                                 
 ext.wikilambda.app/components                             |   98.34 |      100 |     100 |   98.34 |                                                                                                                 
  App.vue                                                  |   98.34 |      100 |     100 |   98.34 | 85,105                                                                                                          
 ext.wikilambda.app/components/base                        |   98.56 |     91.5 |   96.51 |   98.56 |                                                                                                                 
  ClipboardManager.vue                                     |   97.77 |    85.71 |     100 |   97.77 | 69-70                                                                                                           
  CodeEditor.vue                                           |     100 |      100 |     100 |     100 |                                                                                                                 
  CustomDialogHeader.vue                                   |     100 |      100 |     100 |     100 |                                                                                                                 
  ExpandedToggle.vue                                       |     100 |      100 |     100 |     100 |                                                                                                                 
  KeyBlock.vue                                             |     100 |      100 |     100 |     100 |                                                                                                                 
  KeyValueBlock.vue                                        |     100 |      100 |     100 |     100 |                                                                                                                 
  LocalizedLabel.vue                                       |     100 |      100 |     100 |     100 |                                                                                                                 
  ModeSelector.vue                                         |   99.41 |    94.87 |     100 |   99.41 | 211-212                                                                                                         
  Pagination.vue                                           |     100 |      100 |     100 |     100 |                                                                                                                 
  StatusIcon.vue                                           |     100 |      100 |     100 |     100 |                                                                                                                 
  TypeSelector.vue                                         |   94.49 |    78.57 |   85.71 |   94.49 | 155-159,171-173,176-179                                                                                         
  TypeToString.vue                                         |   99.34 |    94.11 |     100 |   99.34 | 80                                                                                                              
  WidgetBase.vue                                           |     100 |      100 |     100 |     100 |                                                                                                                 
  ZObjectSelector.vue                                      |      97 |    86.95 |   91.66 |      97 | 302,310-315,359-360,415-416,447-448,477-479,528-529                                                             
 ext.wikilambda.app/components/default-view-types          |   98.41 |    93.08 |   93.65 |   98.41 |                                                                                                                 
  ZArgumentReference.vue                                   |     100 |      100 |     100 |     100 |                                                                                                                 
  ZBoolean.vue                                             |     100 |      100 |     100 |     100 |                                                                                                                 
  ZCode.vue                                                |   97.41 |    90.74 |     100 |   97.41 | 362,408-419                                                                                                     
  ZFunctionCall.vue                                        |     100 |      100 |     100 |     100 |                                                                                                                 
  ZImplementation.vue                                      |     100 |      100 |     100 |     100 |                                                                                                                 
  ZMonolingualString.vue                                   |     100 |     92.3 |     100 |     100 | 137                                                                                                             
  ZObjectKeyValue.vue                                      |   95.96 |    91.87 |   82.75 |   95.96 | 202,211,298,329-330,389-390,589-593,609-611,635-636,666-667,682-683,777-781,783-784,786-787,789-790,792,794,806 
  ZObjectKeyValueSet.vue                                   |   98.13 |      100 |      75 |   98.13 | 84-85                                                                                                           
  ZObjectStringRenderer.vue                                |   97.67 |    88.33 |   84.61 |   97.67 | 267,392-393,469,492-495,528-532                                                                                 
  ZObjectToString.vue                                      |   99.61 |    94.52 |     100 |   99.61 | 243-244                                                                                                         
  ZReference.vue                                           |     100 |    95.45 |     100 |     100 | 98                                                                                                              
  ZString.vue                                              |     100 |      100 |     100 |     100 |                                                                                                                 
  ZTester.vue                                              |    99.3 |    95.45 |     100 |    99.3 | 218-219                                                                                                         
  ZTypedList.vue                                           |    98.6 |     90.9 |   83.33 |    98.6 | 133-134                                                                                                         
  ZTypedListItems.vue                                      |   98.52 |      100 |      80 |   98.52 | 86-87                                                                                                           
  ZTypedListType.vue                                       |     100 |      100 |     100 |     100 |                                                                                                                 
 ext.wikilambda.app/components/default-view-types/wikidata |   97.83 |    82.02 |   84.31 |   97.83 |                                                                                                                 
  EntitySelector.vue                                       |   96.31 |    83.87 |      90 |   96.31 | 86,90,179-185                                                                                                   
  Item.vue                                                 |   98.97 |    83.33 |      80 |   98.97 | 95,157                                                                                                          
  Lexeme.vue                                               |   97.97 |    83.33 |      80 |   97.97 | 95,157-159                                                                                                      
  LexemeForm.vue                                           |   97.52 |    83.33 |      80 |   97.52 | 96,159-162                                                                                                      
  Property.vue                                             |   98.59 |       75 |      90 |   98.59 | 116-117,174                                                                                                     
  wikidataIconSvg.js                                       |     100 |      100 |     100 |     100 |                                                                                                                 
 ext.wikilambda.app/components/function/editor             |   99.19 |    95.05 |   97.11 |   99.19 |                                                                                                                 
  FunctionEditor.vue                                       |     100 |    89.28 |     100 |     100 | 126,223-224                                                                                                     
  FunctionEditorAliases.vue                                |     100 |      100 |     100 |     100 |                                                                                                                 
  FunctionEditorDescription.vue                            |   96.88 |    90.47 |   91.66 |   96.88 | 151-152,161-162,188-190                                                                                         
  FunctionEditorField.vue                                  |     100 |      100 |     100 |     100 |                                                                                                                 
  FunctionEditorFooter.vue                                 |   98.57 |    89.47 |     100 |   98.57 | 89-90                                                                                                           
  FunctionEditorInputs.vue                                 |     100 |      100 |     100 |     100 |                                                                                                                 
  FunctionEditorInputsItem.vue                             |   99.41 |      100 |    92.3 |   99.41 | 229-230                                                                                                         
  FunctionEditorLanguage.vue                               |     100 |      100 |     100 |     100 |                                                                                                                 
  FunctionEditorLanguageBlock.vue                          |     100 |      100 |     100 |     100 |                                                                                                                 
  FunctionEditorName.vue                                   |   96.99 |     90.9 |   91.66 |   96.99 | 157-158,167-168,194-196                                                                                         
  FunctionEditorOutput.vue                                 |     100 |      100 |     100 |     100 |                                                                                                                 
 ext.wikilambda.app/components/function/viewer             |   98.76 |    96.87 |   98.03 |   98.76 |                                                                                                                 
  FunctionTesterTable.vue                                  |      95 |    85.71 |    87.5 |      95 | 91-92,109,159-164                                                                                               
  FunctionViewerDetails.vue                                |   99.31 |       99 |     100 |   99.31 | 236-237,573,595,616                                                                                             
  FunctionViewerDetailsTable.vue                           |     100 |      100 |     100 |     100 |                                                                                                                 
 ext.wikilambda.app/components/widgets/about               |   98.41 |    91.95 |   95.16 |   98.41 |                                                                                                                 
  About.vue                                                |   98.74 |    94.84 |   93.33 |   98.74 | 247,291-294,329-330,436-437                                                                                     
  AboutLanguageBlock.vue                                   |   99.66 |    95.65 |     100 |   99.66 | 482-483                                                                                                         
  AboutLanguagesDialog.vue                                 |   95.86 |    77.41 |   92.85 |   95.86 | 251-253,264-266,286-287,315-316,318-319,321-322,324-325                                                         
 ext.wikilambda.app/components/widgets/function-evaluator  |   97.07 |    80.55 |   94.82 |   97.07 |                                                                                                                 
  EvaluationResult.vue                                     |   96.18 |       75 |      60 |   96.18 | 89,98-99,113-114                                                                                                
  FunctionEvaluator.vue                                    |     100 |    86.95 |     100 |     100 | 268,348,383,414-416                                                                                             
  FunctionMetadataDialog.vue                               |   95.45 |    77.65 |   96.77 |   95.45 | 249-250,296-297,303-304,398-399,419,435-436,551-552,609-610,635,646-647,651,672,700-702,726-730,735-739,744-748 
 ext.wikilambda.app/components/widgets/function-explorer   |   99.43 |      100 |   84.61 |   99.43 |                                                                                                                 
  FunctionExplorer.vue                                     |   99.43 |      100 |   84.61 |   99.43 | 271,274                                                                                                         
 ext.wikilambda.app/components/widgets/function-report     |   96.96 |    91.56 |   89.65 |   96.96 |                                                                                                                 
  FunctionReport.vue                                       |   96.43 |    87.03 |   90.47 |   96.43 | 225-227,285-287,293-295,329-330,339-340                                                                         
  FunctionReportItem.vue                                   |    97.8 |      100 |    87.5 |    97.8 | 177-181                                                                                                         
 ext.wikilambda.app/components/widgets/publish             |   97.92 |     84.5 |   91.89 |   97.92 |                                                                                                                 
  LeaveEditorDialog.vue                                    |     100 |      100 |     100 |     100 |                                                                                                                 
  Publish.vue                                              |    94.4 |    81.25 |   81.25 |    94.4 | 99-107,134,199-201,219-221                                                                                      
  PublishDialog.vue                                        |     100 |    85.29 |     100 |     100 | 239,305,337-339                                                                                                 
 ext.wikilambda.app/composables                            |     100 |      100 |     100 |     100 |                                                                                                                 
  useBreakpoints.js                                        |     100 |      100 |     100 |     100 |                                                                                                                 
 ext.wikilambda.app/mixins                                 |   99.36 |    94.17 |     100 |   99.36 |                                                                                                                 
  clipboardMixin.js                                        |     100 |      100 |     100 |     100 |                                                                                                                 
  errorMixin.js                                            |   98.16 |    81.81 |     100 |   98.16 | 78-79                                                                                                           
  eventLogMixin.js                                         |   97.43 |    93.33 |     100 |   97.43 | 45-46                                                                                                           
  metadataMixin.js                                         |     100 |      100 |     100 |     100 |                                                                                                                 
  pageTitleMixin.js                                        |     100 |    94.44 |     100 |     100 | 73                                                                                                              
  typeMixin.js                                             |     100 |      100 |     100 |     100 |                                                                                                                 
  wikidataMixin.js                                         |     100 |      100 |     100 |     100 |                                                                                                                 
 ext.wikilambda.app/store                                  |     100 |      100 |     100 |     100 |                                                                                                                 
  index.js                                                 |     100 |      100 |     100 |     100 |                                                                                                                 
 ext.wikilambda.app/store/classes                          |     100 |    97.72 |     100 |     100 |                                                                                                                 
  ApiError.js                                              |     100 |      100 |     100 |     100 |                                                                                                                 
  LabelData.js                                             |     100 |    92.85 |     100 |     100 | 45                                                                                                              
  Row.js                                                   |     100 |      100 |     100 |     100 |                                                                                                                 
 ext.wikilambda.app/store/stores                           |   98.23 |    95.71 |   98.94 |   98.23 |                                                                                                                 
  errors.js                                                |   98.21 |     91.3 |     100 |   98.21 | 144-146                                                                                                         
  functionCall.js                                          |     100 |      100 |     100 |     100 |                                                                                                                 
  languages.js                                             |   92.39 |    76.92 |     100 |   92.39 | 26-29,43-45                                                                                                     
  library.js                                               |   94.77 |    95.09 |   93.33 |   94.77 | 294-302,406-407,432-433,444-447,451,524-545,676-683,716,834-835                                                 
  listItems.js                                             |     100 |      100 |     100 |     100 |                                                                                                                 
  programmingLanguages.js                                  |     100 |      100 |     100 |     100 |                                                                                                                 
  router.js                                                |     100 |    97.22 |     100 |     100 | 20                                                                                                              
  testResults.js                                           |     100 |    90.74 |     100 |     100 | 132,172,222-224                                                                                                 
  user.js                                                  |     100 |      100 |     100 |     100 |                                                                                                                 
  zfunction.js                                             |     100 |      100 |     100 |     100 |                                                                                                                 
  zobject.js                                               |    98.9 |    95.82 |     100 |    98.9 | 414-418,481-482,502-503,523-524,1002-1003,1035-1036,1304-1305,1558-1559,1863-1865                               
  ztype.js                                                 |    99.4 |      100 |     100 |    99.4 | 285-286                                                                                                         
 ext.wikilambda.app/store/stores/wikidata                  |   99.51 |    89.94 |    98.5 |   99.51 |                                                                                                                 
  entities.js                                              |     100 |    95.83 |     100 |     100 | 108                                                                                                             
  items.js                                                 |     100 |       90 |     100 |     100 | 65,94,97,118                                                                                                    
  lexemes.js                                               |   98.67 |    87.69 |      96 |   98.67 | 251-254                                                                                                         
  properties.js                                            |     100 |       90 |     100 |     100 | 63,91,94,115                                                                                                    
 ext.wikilambda.app/store/stores/zobject                   |   98.15 |    94.88 |     100 |   98.15 |                                                                                                                 
  currentPage.js                                           |     100 |    96.42 |     100 |     100 | 171                                                                                                             
  factory.js                                               |   96.51 |    91.37 |     100 |   96.51 | 158-164,733-739,753-759,763-769,775                                                                             
  submission.js                                            |     100 |      100 |     100 |     100 |                                                                                                                 
 ext.wikilambda.app/utils                                  |   96.64 |    95.28 |   98.11 |   96.64 |                                                                                                                 
  apiUtils.js                                              |   92.42 |    83.78 |    90.9 |   92.42 | 181-202,285-286                                                                                                 
  miscUtils.js                                             |     100 |      100 |     100 |     100 |                                                                                                                 
  schemata.js                                              |   96.79 |    92.85 |     100 |   96.79 | 166-171,203-204,206-207,297-298                                                                                 
  typeUtils.js                                             |   97.01 |    98.98 |     100 |   97.01 | 544-565                                                                                                         
  urlUtils.js                                              |     100 |      100 |     100 |     100 |                                                                                                                 
  wikidataUtils.js                                         |     100 |      100 |     100 |     100 |                                                                                                                 
  zobjectUtils.js                                          |     100 |      100 |     100 |     100 |                                                                                                                 
 ext.wikilambda.app/views                                  |   96.62 |    67.64 |   89.47 |   96.62 |                                                                                                                 
  Default.vue                                              |    97.4 |       64 |    92.3 |    97.4 | 184-185,226,240-243                                                                                             
  FunctionEditor.vue                                       |     100 |      100 |     100 |     100 |                                                                                                                 
  FunctionEvaluator.vue                                    |     100 |      100 |     100 |     100 |                                                                                                                 
  FunctionViewer.vue                                       |   92.38 |    71.42 |      75 |   92.38 | 85-92                                                                                                           
 ext.wikilambda.languageselector/components                |   98.04 |    93.75 |   94.11 |   98.04 |                                                                                                                 
  LanguageSelector.vue                                     |   98.04 |    93.75 |   94.11 |   98.04 | 227-228,266-267,288-289                                                                                         
 ext.wikilambda.visualeditor                               |       0 |        0 |       0 |       0 |                                                                                                                 
  init.js                                                  |       0 |        0 |       0 |       0 | 1-6                                                                                                             
  ve.ce.WikifunctionsCallNode.js                           |       0 |        0 |       0 |       0 | 1-50                                                                                                            
  ve.dm.WikifunctionsCallNode.js                           |       0 |        0 |       0 |       0 | 1-62                                                                                                            
  ve.init.mw.WikifunctionsCall.js                          |       0 |        0 |       0 |       0 | 1-24                                                                                                            
  ve.ui.WikifunctionsCallContextItem.js                    |       0 |        0 |       0 |       0 | 1-131                                                                                                           
  ve.ui.WikifunctionsCallDialog.js                         |       0 |        0 |       0 |       0 | 1-310                                                                                                           
  ve.ui.WikifunctionsCallDialogTool.js                     |       0 |        0 |       0 |       0 | 1-54                                                                                                            
-----------------------------------------------------------|---------|----------|---------|---------|-----------------------------------------------------------------------------------------------------------------

--- end ---
Traceback (most recent call last):
  File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/__init__.py", line 325, in npm_test
    self.check_call(["npm", "test"])
  File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/shell2.py", line 59, in check_call
    res.check_returncode()
  File "/usr/lib/python3.11/subprocess.py", line 502, in check_returncode
    raise CalledProcessError(self.returncode, self.args, self.stdout,
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.11/site-packages/runner-0.1.0-py3.11.egg/runner/__init__.py", line 1964, in main
    libup.run(args.repo, args.output, args.branch)
  File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/__init__.py", line 1902, in run
    self.npm_upgrade(plan)
  File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/__init__.py", line 1252, in npm_upgrade
    self.npm_test()
  File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/__init__.py", line 330, in npm_test
    self.check_call(["node_modules/.bin/jest", "-u"])
  File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/shell2.py", line 59, in check_call
    res.check_returncode()
  File "/usr/lib/python3.11/subprocess.py", line 502, in check_returncode
    raise CalledProcessError(self.returncode, self.args, self.stdout,
subprocess.CalledProcessError: Command '['node_modules/.bin/jest', '-u']' returned non-zero exit status 1.
Source code is licensed under the AGPL.