This directory contains tests and benchmarks for RmlUi. They have been separated into three projects located under the Source
directory. These projects can be enabled using the CMake options BUILD_TESTING
, and built using the CMake targets below.
For visually testing the layout engine in particular, with small test documents that can easily be added. Includes features for capturing and comparing tests for easily spotting differences during development. A conversion script for CSS tests is available, as described below.
The following environment variables can be used to configure the directories used for the visual tests:
Environment variable | Description |
---|---|
RMLUI_VISUAL_TESTS_RML_DIRECTORIES |
Additional directories containing *.rml test documents. Separate multiple directories by comma. Change test suite directory using Up /Down arrow keys. |
RMLUI_VISUAL_TESTS_COMPARE_DIRECTORY |
Input directory for screenshot comparisons. |
RMLUI_VISUAL_TESTS_CAPTURE_DIRECTORY |
Output directory for generated screenshots. |
Ensures smaller units of the library are working properly.
Benchmarking various components of the library to keep track of performance improvements or regressions for future development, and to find any performance hotspots that could need extra attention.
This directory contains the shared style sheets and documents, as well as the source documents for the included visual tests. All documents located under Data/VisualTests/
will automatically be loaded by the visual tests project. Additional source folders can be specified with the environment variable RMLUI_VISUAL_TESTS_RML_DIRECTORIES
as described above.
This directory contains additional libraries used by the test suite.
By default, the visual tests will store screenshots and other outputs into this directory, and read previous screenshots from this directory. To specify other directories, use the environment variables options RMLUI_VISUAL_TESTS_CAPTURE_DIRECTORY
and RMLUI_VISUAL_TESTS_COMPARE_DIRECTORY
as described above.
Source code for the test suite.
Includes a best-effort conversion script for the CSS 2.1 tests in particular, which includes thousands of tests, to RML/RCSS for testing conformance with the CSS specifications. Also works with some CSS 3 tests, like for flexbox support.