mirror of
https://github.com/typst/typst
synced 2025-05-16 01:55:28 +08:00
- New naming scheme - TextNode instead of NodeText - CallExpr instead of ExprCall - ... - Less glob imports - Removes Value::Args variant - Removes prelude - Renames Layouted to Fragment - Moves font into env - Moves shaping into layout - Moves frame into separate module
42 lines
1.1 KiB
Markdown
42 lines
1.1 KiB
Markdown
# Tests
|
|
|
|
## Directory structure
|
|
Top level directory structure:
|
|
- `typ`: Input files.
|
|
- `res`: Resource files used by tests.
|
|
- `ref`: Reference images which the output is compared with to determine whether
|
|
a test passed or failed.
|
|
- `png`: PNG files produced by tests.
|
|
- `pdf`: PDF files produced by tests.
|
|
|
|
## Running the tests
|
|
Running the integration tests (the tests in this directory).
|
|
```bash
|
|
cargo test --test typeset
|
|
```
|
|
|
|
Running all tests whose names contain the word `filter`.
|
|
```bash
|
|
cargo test --test typeset filter
|
|
```
|
|
|
|
To make the integration tests go faster they don't generate PDFs by default.
|
|
Pass the `--pdf` flag to generate those. Mind that PDFs are not tested
|
|
automatically at the moment, so you should always check the output manually when
|
|
making changes.
|
|
```bash
|
|
cargo test --test typeset -- --pdf
|
|
```
|
|
|
|
## Creating new tests
|
|
To keep things small, please optimize reference images before committing them.
|
|
When you use the approve buttom from the Test Helper (see the `tools` folder)
|
|
this happens automatically if you have `oxipng` installed.
|
|
```bash
|
|
# One image
|
|
oxipng -o max path/to/image.png
|
|
|
|
# All images
|
|
oxipng -r -o max tests/ref
|
|
```
|