test-js - run the LibJS test suite
$ test-js [options...] [path]
test-js runs the LibJS test suite located in /home/anon/Test/js-tests. These tests are using a custom JavaScript testing framework inspired by Jest (see test-common.js).
It also supports the test262 parser tests.
The test root directory is assumed to be /home/anon/Tests/js-tests, or $SERENITY_SOURCE_DIR/Userland/Libraries/LibJS/Tests when using the Lagom build. Optionally you can pass a custom path to test-js to override these defaults.
You can disable output from dbgln() calls by setting the DISABLE_DBG_OUTPUT environment variable.
-t, --show-time: Show duration of each test-p, --show-progress: Show progress with OSC 9 (true, false)-j, --json: Show results as JSON--per-file: Show detailed per-file results as JSON (implies -j)-g, --collect-often: Collect garbage after every allocation-b, --run-bytecode: Use the bytecode interpreter-d, --dump-bytecode: Dump the bytecode-f glob, --filter glob: Only run tests matching the given glob--test262-parser-tests: Run test262 parser testsA very simple test looks like this:
describe("Examples from Gary Bernhardt's 'Wat' talk", () => {
test("Na na na na na na na na na na na na na na na na Batman!", () => {
expect(Array(16).join("wat" - 1) + " Batman!").toBe(
"NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN Batman!"
);
});
});