1
0
Fork 0
mirror of https://github.com/LadybirdBrowser/ladybird.git synced 2025-06-11 18:20:43 +09:00
ladybird/Tests/LibWeb/Text/input/wpt-import/resources/testharnessreport.js
Aliaksandr Kalenik 394073f611 LibWeb: Rename internals.signalTextTestIsDone() to signalTestIsDone()
In upcoming change this function will be used for ref-tests as well.
2025-03-18 20:09:46 +01:00

61 lines
2.1 KiB
JavaScript

/* global add_completion_callback */
/* global setup */
/*
* This file is intended for vendors to implement code needed to integrate
* testharness.js tests with their own test systems.
*
* Typically test system integration will attach callbacks when each test has
* run, using add_result_callback(callback(test)), or when the whole test file
* has completed, using
* add_completion_callback(callback(tests, harness_status)).
*
* For more documentation about the callback functions and the
* parameters they are called with see testharness.js
*/
/* If the parent window has a testharness_properties object,
* we use this to provide the test settings. This is used by the
* default in-browser runner to configure the timeout and the
* rendering of results
*/
try {
if (window.opener && "testharness_properties" in window.opener) {
/* If we pass the testharness_properties object as-is here without
* JSON stringifying and reparsing it, IE fails & emits the message
* "Could not complete the operation due to error 80700019".
*/
setup(JSON.parse(JSON.stringify(window.opener.testharness_properties)));
}
} catch (e) {
}
add_completion_callback(function(tests, harness_status) {
if (window.internals) {
const statuses = [
"Pass",
"Fail",
"Timeout",
"Not Run",
"Optional Feature Unsupported",
];
let outputLines = [];
outputLines.push(`Harness status: ${harness_status.format_status()}`);
outputLines.push("");
outputLines.push(`Found ${tests.length} tests`);
outputLines.push("");
for (let i = 0; i < statuses.length; ++i) {
let count = tests.filter(test => test.status === i).length;
if (count > 0) {
outputLines.push(`${count} ${statuses[i]}`);
}
}
for (const test of tests) {
outputLines.push(`${test.format_status()}\t${test.name}`);
}
window.internals.signalTestIsDone(outputLines.join('\n'));
}
});
// vim: set expandtab shiftwidth=4 tabstop=4: