Update Jasmine to version 6.0.0

It fixes #20715.

`failedExpectations` was removed from `suiteStarted` and `specStarted` events.
HtmlReporter and HtmlSpecFilter have been deprecated and removed.
This commit is contained in:
calixteman 2026-02-22 23:15:07 +01:00 committed by Calixte Denizet
parent 176e085420
commit ab7629871a
No known key found for this signature in database
GPG Key ID: 0C5442631EE0691F
7 changed files with 55 additions and 142 deletions

52
package-lock.json generated
View File

@ -46,7 +46,7 @@
"istanbul-lib-coverage": "^3.2.2",
"istanbul-lib-report": "^3.0.1",
"istanbul-reports": "^3.2.0",
"jasmine": "^5.13.0",
"jasmine": "^6.1.0",
"jsdoc": "^4.0.5",
"jstransformer-nunjucks": "^1.2.0",
"metalsmith": "^2.7.0",
@ -108,6 +108,7 @@
"integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@babel/code-frame": "^7.29.0",
"@babel/generator": "^7.29.0",
@ -1647,6 +1648,7 @@
"integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@keyv/serialize": "^1.1.1"
}
@ -1688,6 +1690,7 @@
}
],
"license": "MIT",
"peer": true,
"engines": {
"node": ">=20.19.0"
},
@ -1728,6 +1731,7 @@
}
],
"license": "MIT",
"peer": true,
"engines": {
"node": ">=20.19.0"
}
@ -2461,6 +2465,13 @@
"node": ">=8"
}
},
"node_modules/@jasminejs/reporters": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@jasminejs/reporters/-/reporters-1.0.0.tgz",
"integrity": "sha512-rM3GG4vx2H1Gp5kYCTr9aKlOEJFd43pzpiMAiy5b1+FUc2ub4e6bS6yCi/WQNDzAa5MVp9++dwcoEtcIfoEnhA==",
"dev": true,
"license": "MIT"
},
"node_modules/@jridgewell/gen-mapping": {
"version": "0.3.13",
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
@ -3060,6 +3071,7 @@
"integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@types/estree": "*",
"@types/json-schema": "*"
@ -3124,6 +3136,7 @@
"integrity": "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@types/linkify-it": "^5",
"@types/mdurl": "^2"
@ -3550,6 +3563,7 @@
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
"dev": true,
"license": "MIT",
"peer": true,
"bin": {
"acorn": "bin/acorn"
},
@ -4205,7 +4219,8 @@
"resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.7.0.tgz",
"integrity": "sha512-b3N5eTW1g7vXkw+0CXh/HazGTcO5KYuu/RCNaJbDMPI6LHDi+7qe8EmxKUVe1sUbY2KZOVZFyj62x0OEz9qyAA==",
"dev": true,
"license": "Apache-2.0"
"license": "Apache-2.0",
"peer": true
},
"node_modules/bare-fs": {
"version": "4.5.4",
@ -4441,6 +4456,7 @@
}
],
"license": "MIT",
"peer": true,
"dependencies": {
"baseline-browser-mapping": "^2.9.0",
"caniuse-lite": "^1.0.30001759",
@ -5701,7 +5717,8 @@
"resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1566079.tgz",
"integrity": "sha512-MJfAEA1UfVhSs7fbSQOG4czavUp1ajfg6prlAN0+cmfa2zNjaIbvq8VneP7do1WAQQIvgNJWSMeP6UyI90gIlQ==",
"dev": true,
"license": "BSD-3-Clause"
"license": "BSD-3-Clause",
"peer": true
},
"node_modules/dir-glob": {
"version": "3.0.1",
@ -6238,6 +6255,7 @@
"integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.8.0",
"@eslint-community/regexpp": "^4.12.1",
@ -6298,6 +6316,7 @@
"integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==",
"dev": true,
"license": "MIT",
"peer": true,
"bin": {
"eslint-config-prettier": "bin/cli.js"
},
@ -7692,6 +7711,7 @@
"integrity": "sha512-PErok3DZSA5WGMd6XXV3IRNO0mlB+wW3OzhFJLEec1jSERg2j1bxJ6e5Fh6N6fn3FH2T9AP4UYNb/pYlADB9sA==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"glob-watcher": "^6.0.0",
"gulp-cli": "^3.1.0",
@ -9187,23 +9207,24 @@
}
},
"node_modules/jasmine": {
"version": "5.13.0",
"resolved": "https://registry.npmjs.org/jasmine/-/jasmine-5.13.0.tgz",
"integrity": "sha512-oLCXIhEb5e0zzjn9GyuvcuisvLBwUjmgz7a0RNGWKwQtJCDld4m+vwKUpAIJVLB5vbmQFdtKhT86/tIZlJ5gYw==",
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/jasmine/-/jasmine-6.1.0.tgz",
"integrity": "sha512-WPphPqEMY0uBRMjuhRHoVoxQNvJuxIMqz0yIcJ3k3oYxBedeGoH60/NXNgasxnx2FvfXrq5/r+2wssJ7WE8ABw==",
"dev": true,
"license": "MIT",
"dependencies": {
"glob": "^10.2.2",
"jasmine-core": "~5.13.0"
"@jasminejs/reporters": "^1.0.0",
"glob": "^10.2.2 || ^11.0.3 || ^12.0.0 || ^13.0.0",
"jasmine-core": "~6.1.0"
},
"bin": {
"jasmine": "bin/jasmine.js"
}
},
"node_modules/jasmine-core": {
"version": "5.13.0",
"resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-5.13.0.tgz",
"integrity": "sha512-vsYjfh7lyqvZX5QgqKc4YH8phs7g96Z8bsdIFNEU3VqXhlHaq+vov/Fgn/sr6MiUczdZkyXRC3TX369Ll4Nzbw==",
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-6.1.0.tgz",
"integrity": "sha512-p/tjBw58O6vxKIWMlrU+yys8lqR3+l3UrqwNTT7wpj+dQ7N4etQekFM8joI+cWzPDYqZf54kN+hLC1+s5TvZvg==",
"dev": true,
"license": "MIT"
},
@ -9779,6 +9800,7 @@
"integrity": "sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"argparse": "^2.0.1",
"entities": "^4.4.0",
@ -9920,6 +9942,7 @@
"integrity": "sha512-DkoXO1jz0UY+k1tj1LpxYLrN+jeGKBicbtsQYeYF8nX9QK4AGyGh4g421qsmEOGfZ02GjW1qxr1XP+8afwcTGQ==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"chokidar": "^4.0.3",
"commander": "^11.1.0",
@ -10990,6 +11013,7 @@
}
],
"license": "MIT",
"peer": true,
"dependencies": {
"nanoid": "^3.3.11",
"picocolors": "^1.1.1",
@ -11142,6 +11166,7 @@
"integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"cssesc": "^3.0.0",
"util-deprecate": "^1.0.2"
@ -11194,6 +11219,7 @@
"integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==",
"dev": true,
"license": "MIT",
"peer": true,
"bin": {
"prettier": "bin/prettier.cjs"
},
@ -12070,6 +12096,7 @@
"integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"fast-deep-equal": "^3.1.3",
"fast-uri": "^3.0.1",
@ -13812,6 +13839,7 @@
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
"dev": true,
"license": "MIT",
"peer": true,
"engines": {
"node": ">=12"
},
@ -14065,6 +14093,7 @@
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
"dev": true,
"license": "Apache-2.0",
"peer": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@ -14493,6 +14522,7 @@
"integrity": "sha512-dRXm0a2qcHPUBEzVk8uph0xWSjV/xZxenQQbLwnwP7caQCYpqG1qddwlyEkIDkYn0K8tvmcrZ+bOrzoQ3HxCDw==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@types/eslint-scope": "^3.7.7",
"@types/estree": "^1.0.8",

View File

@ -41,7 +41,7 @@
"istanbul-lib-coverage": "^3.2.2",
"istanbul-lib-report": "^3.0.1",
"istanbul-reports": "^3.2.0",
"jasmine": "^5.13.0",
"jasmine": "^6.1.0",
"jsdoc": "^4.0.5",
"jstransformer-nunjucks": "^1.2.0",
"metalsmith": "^2.7.0",

File diff suppressed because one or more lines are too long

View File

@ -66,70 +66,20 @@ async function initializePDFJS(callback) {
extend(window, jasmineInterface);
// Runner Parameters
const queryString = new jasmine.QueryString({
getWindowLocation() {
return window.location;
},
});
const urls = new jasmine.HtmlReporterV2Urls();
const config = {
failFast: queryString.getParam("failFast"),
oneFailurePerSpec: queryString.getParam("oneFailurePerSpec"),
hideDisabled: queryString.getParam("hideDisabled"),
};
const random = queryString.getParam("random");
if (random !== undefined && random !== "") {
config.random = random;
}
const seed = queryString.getParam("seed");
if (seed) {
config.seed = seed;
}
env.configure(urls.configFromCurrentUrl());
// Reporters
const htmlReporter = new jasmine.HtmlReporter({
env,
navigateWithNewParam(key, value) {
return queryString.navigateWithNewParam(key, value);
},
addToExistingQueryString(key, value) {
return queryString.fullStringWithNewParam(key, value);
},
getContainer() {
return document.body;
},
createElement() {
return document.createElement(...arguments);
},
createTextNode() {
return document.createTextNode(...arguments);
},
timer: new jasmine.Timer(),
});
const htmlReporter = new jasmine.HtmlReporterV2({ env, urls });
env.addReporter(htmlReporter);
if (queryString.getParam("browser")) {
const testReporter = new TestReporter(queryString.getParam("browser"));
if (urls.queryString.getParam("browser")) {
const testReporter = new TestReporter(urls.queryString.getParam("browser"));
env.addReporter(testReporter);
}
// Filter which specs will be run by matching the start of the full name
// against the `spec` query param.
const specFilter = new jasmine.HtmlSpecFilter({
filterString() {
return queryString.getParam("spec");
},
});
config.specFilter = function (spec) {
return specFilter.matches(spec.getFullName());
};
env.configure(config);
// Sets longer timeout.
jasmine.DEFAULT_TIMEOUT_INTERVAL = 30000;
@ -142,7 +92,6 @@ async function initializePDFJS(callback) {
function fontTestInit() {
initializePDFJS(function () {
htmlReporter.initialize();
env.execute();
});
}

View File

@ -69,13 +69,7 @@ async function runTests(results) {
console.log(`TEST-UNEXPECTED-FAIL | ${result.description}`);
}
},
suiteStarted(result) {
// Report on the result of `beforeAll` invocations.
if (result.failedExpectations.length > 0) {
++results.failures;
console.log(`TEST-UNEXPECTED-FAIL | ${result.description}`);
}
},
suiteStarted(result) {},
});
return jasmine.execute();

View File

@ -57,16 +57,7 @@ const TestReporter = function (browser) {
sendInfo(`Started ${total} tests for ${browser} with seed ${seed}.`);
};
this.suiteStarted = function (result) {
// Report on the result of `beforeAll` invocations.
if (result.failedExpectations.length > 0) {
let failedMessages = "";
for (const item of result.failedExpectations) {
failedMessages += `${item.message} `;
}
sendResult("TEST-UNEXPECTED-FAIL", result.description, failedMessages);
}
};
this.suiteStarted = function (result) {};
this.specStarted = function (result) {};

View File

@ -127,70 +127,20 @@ async function initializePDFJS(callback) {
extend(window, jasmineInterface);
// Runner Parameters
const queryString = new jasmine.QueryString({
getWindowLocation() {
return window.location;
},
});
const urls = new jasmine.HtmlReporterV2Urls();
const config = {
failFast: queryString.getParam("failFast"),
oneFailurePerSpec: queryString.getParam("oneFailurePerSpec"),
hideDisabled: queryString.getParam("hideDisabled"),
};
const random = queryString.getParam("random");
if (random !== undefined && random !== "") {
config.random = random;
}
const seed = queryString.getParam("seed");
if (seed) {
config.seed = seed;
}
env.configure(urls.configFromCurrentUrl());
// Reporters
const htmlReporter = new jasmine.HtmlReporter({
env,
navigateWithNewParam(key, value) {
return queryString.navigateWithNewParam(key, value);
},
addToExistingQueryString(key, value) {
return queryString.fullStringWithNewParam(key, value);
},
getContainer() {
return document.body;
},
createElement() {
return document.createElement(...arguments);
},
createTextNode() {
return document.createTextNode(...arguments);
},
timer: new jasmine.Timer(),
});
const htmlReporter = new jasmine.HtmlReporterV2({ env, urls });
env.addReporter(htmlReporter);
if (queryString.getParam("browser")) {
const testReporter = new TestReporter(queryString.getParam("browser"));
if (urls.queryString.getParam("browser")) {
const testReporter = new TestReporter(urls.queryString.getParam("browser"));
env.addReporter(testReporter);
}
// Filter which specs will be run by matching the start of the full name
// against the `spec` query param.
const specFilter = new jasmine.HtmlSpecFilter({
filterString() {
return queryString.getParam("spec");
},
});
config.specFilter = function (spec) {
return specFilter.matches(spec.getFullName());
};
env.configure(config);
// Sets longer timeout.
jasmine.DEFAULT_TIMEOUT_INTERVAL = 30000;
@ -203,7 +153,6 @@ async function initializePDFJS(callback) {
function unitTestInit() {
initializePDFJS(function () {
htmlReporter.initialize();
env.execute();
});
}