Test Library
The test library is an augmented standard library, it contains all definitions in the standard library plus some additional modules and functions which help testing packages and debug regressions.
It defines the following modules:
test
: a module with various testing helpers such ascatch
and additional asserts.
The following items are re-exported in the global scope as well:
assert-panic
: originallytest.assert-panic
catch
: originallytest.catch
test
Contains the main testing utilities.
assert-panic
Ensures that a function panics.
Fails with an error if the function does not panic. Does not produce any output in the document.
Example
#assert-panic(() => {}, message: "I panic!")
#assert-panic(() => panic(), message: "I don't!")
Parameters
assert-panic(
function,
message: str | auto,
)
function: function
required
positional
The function to test.
message: str | auto
The error message when the assertion fails.
catch
Unwraps and returns the panics generated by a function, if there were any.
Does not produce any output in the document.
Example
#assert.eq(catch(() => {}), none)
#assert.eq(
catch(panics).first(),
"panicked with: Invalid arg, expected `int`, got `str`",
)
Parameters
catch(
function,
)
function: function
required
positional
The function to test.