ladybird/Base/usr/share/man/man1/test-js.md
Tim Ledbetter 8f253a745e Base: Update man pages for utilities
Man pages for utilities now more closely resemble ArgsParser output
2023-04-01 11:49:57 +01:00

1.7 KiB

Name

test-js - run the LibJS test suite

Synopsis

$ test-js [options...] [path]

Description

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.

Options

  • -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 tests

Examples

A 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!"
        );
    });
});

See also