QGIS API Documentation 3.41.0-Master (45a0abf3bec)
|
This class allows checking rendered images against comparison images. More...
#include <qgsmultirenderchecker.h>
Public Member Functions | |
QgsMultiRenderChecker () | |
Constructor for QgsMultiRenderChecker. | |
virtual | ~QgsMultiRenderChecker ()=default |
QString | controlImagePath () const |
Returns the path to the control images. | |
QString | markdownReport () const |
Returns a markdown report for this test. | |
QString | report () const |
Returns a HTML report for this test. | |
bool | runTest (const QString &testName, unsigned int mismatchCount=0) |
Test using renderer to generate the image to be compared. | |
void | setColorTolerance (unsigned int colorTolerance) |
Set tolerance for color components used by runTest() Default value is 0. | |
void | setControlName (const QString &name) |
Base directory name for the control image (with control image path suffixed) the path to the image will be constructed like this: controlImagePath + '/' + mControlName + '/' + mControlName + '.png'. | |
void | setControlPathPrefix (const QString &prefix) |
Sets the path prefix where the control images are kept. | |
void | setExpectFail (bool expectFail) |
Sets whether the comparison is expected to fail. | |
void | setFileFunctionLine (const QString &file, const QString &function, int line) |
Sets the source file, function and line from where the test originates. | |
void | setMapSettings (const QgsMapSettings &mapSettings) |
Set the map settings to use to render the image. | |
void | setRenderedImage (const QString &renderedImagePath) |
Set the path to the rendered image. | |
void | setSizeTolerance (int xTolerance, int yTolerance) |
Sets the largest allowable difference in size between the rendered and the expected image. | |
Static Public Member Functions | |
static void | drawBackground (QImage *image) |
Draws a checkboard pattern for image backgrounds, so that opacity is visible without requiring a transparent background for the image. | |
This class allows checking rendered images against comparison images.
Its main purpose is for the unit testing framework.
It will either:
This image will then be compared against one or several images in a folder inside the control directory (tests/testdata/control_images/{controlName}).
There are modes for single and for multiple reference images.
For every control image there may be one or several randomly named anomaly images defining allowed anomalies. For every control image, the allowed mismatch and color tolerance values will be calculated individually.
Definition at line 52 of file qgsmultirenderchecker.h.
QgsMultiRenderChecker::QgsMultiRenderChecker | ( | ) |
Constructor for QgsMultiRenderChecker.
Definition at line 22 of file qgsmultirenderchecker.cpp.
|
virtualdefault |
QString QgsMultiRenderChecker::controlImagePath | ( | ) | const |
Returns the path to the control images.
Definition at line 258 of file qgsmultirenderchecker.cpp.
|
inlinestatic |
Draws a checkboard pattern for image backgrounds, so that opacity is visible without requiring a transparent background for the image.
Definition at line 163 of file qgsmultirenderchecker.h.
QString QgsMultiRenderChecker::markdownReport | ( | ) | const |
Returns a markdown report for this test.
The report will be empty if the test was successfully run.
Definition at line 232 of file qgsmultirenderchecker.cpp.
QString QgsMultiRenderChecker::report | ( | ) | const |
Returns a HTML report for this test.
The report will be empty if the test was successfully run.
Definition at line 204 of file qgsmultirenderchecker.cpp.
bool QgsMultiRenderChecker::runTest | ( | const QString & | testName, |
unsigned int | mismatchCount = 0 |
||
) |
Test using renderer to generate the image to be compared.
testName | to be used as the basis for writing a file to e.g. /tmp/theTestName.png |
mismatchCount | defaults to 0. The number of pixels that are allowed to be different from the control image. In some cases rendering may be non-deterministic. This parameter allows you to account for that by providing a tolerance. |
Definition at line 55 of file qgsmultirenderchecker.cpp.
|
inline |
Set tolerance for color components used by runTest() Default value is 0.
colorTolerance | The maximum difference for each color component including alpha to be considered correct. |
Definition at line 111 of file qgsmultirenderchecker.h.
void QgsMultiRenderChecker::setControlName | ( | const QString & | name | ) |
Base directory name for the control image (with control image path suffixed) the path to the image will be constructed like this: controlImagePath + '/' + mControlName + '/' + mControlName + '.png'.
Definition at line 28 of file qgsmultirenderchecker.cpp.
void QgsMultiRenderChecker::setControlPathPrefix | ( | const QString & | prefix | ) |
Sets the path prefix where the control images are kept.
Definition at line 45 of file qgsmultirenderchecker.cpp.
|
inline |
Sets whether the comparison is expected to fail.
Definition at line 95 of file qgsmultirenderchecker.h.
void QgsMultiRenderChecker::setFileFunctionLine | ( | const QString & | file, |
const QString & | function, | ||
int | line | ||
) |
Sets the source file, function and line from where the test originates.
Definition at line 33 of file qgsmultirenderchecker.cpp.
void QgsMultiRenderChecker::setMapSettings | ( | const QgsMapSettings & | mapSettings | ) |
Set the map settings to use to render the image.
mapSettings | The map settings |
Definition at line 50 of file qgsmultirenderchecker.cpp.
|
inline |
Set the path to the rendered image.
If this is not set or set to null QString, an image will be rendered based on the provided mapsettings
renderedImagePath | A path to the rendered image with which control images will be compared |
Definition at line 88 of file qgsmultirenderchecker.h.
|
inline |
Sets the largest allowable difference in size between the rendered and the expected image.
xTolerance | x tolerance in pixels |
yTolerance | y tolerance in pixels |
Definition at line 118 of file qgsmultirenderchecker.h.