@ 210311.2raw
current

This directory contains tests specific to the JavaScript API to WebAssembly.

These tests exist in the web-platform-tests projectgithub, and are included here primarily to simplify sharing them between JavaScript engine implementers.

These tests can be run in a pure JavaScript environment, that is, a JS shell (like V8 or spidermonkey’s shells), as well as in the browser.

The tests use the testharness.js library and the multi-global tests setup for smooth integrations with the web-platform-tests project and the existing test infrastructure in implementations.

Metadata

All tests must have the .any.js extension.

In order to be run in the JavaScript shell, a metadata comment to add the jsshell scope to the default set of scopes (window and dedicatedworker) is required at the start of the file:

// META: global=jsshell

Additional JavaScript files can be imported with

// META: script=helper-file.js

Harness

A single test file contains multiple subtests, which are created with one of the following functions:

All assertions must be in one of those subtests.

A number of assertion functions are provided, e.g.:

All the above functions also take an optional trailing description argument.

Non-trivial code that runs before the subtests should be put in the function argument to setup(function), to ensure any exceptions are handled gracefully.

Finally, the harness also exposes a format_value function that provides a helpful stringification of its argument.

See the testharness.js documentation for more information.