|
@@ -11,6 +11,7 @@ |
|
|
# OUTPUT_PAGE - index of page in multipage output (optional), starts from 0
|
|
|
# FUZZ_PERCENTAGE - maximum allowed normalized root-mean-squared distance between compared images
|
|
|
# RASTER_DPI - DPI setting for rasterizing vector formats before root-mean-squared comparison
|
|
|
# SUPERSAMPLING - Rasterise vector formats at larger size and scale down by this factor
|
|
|
# PARAMETERS - additional command line parameters to pass to Inkscape
|
|
|
# REFERENCE_INKSCAPE - rasterize REFERENCE_FILENAME using inkscape
|
|
|
# Avoid this when possible! Preferably reference should be a raster image and when that's not
|
|
@@ -111,7 +112,7 @@ function(add_cli_test_cmp fixture testname) |
|
|
# parse arguments
|
|
|
set(options REFERENCE_INKSCAPE)
|
|
|
set(oneValueArgs OUTPUT_FILENAME OUTPUT_PAGE REFERENCE_FILENAME
|
|
|
FUZZ_PERCENTAGE RASTER_DPI PNG_FILENAME)
|
|
|
FUZZ_PERCENTAGE RASTER_DPI SUPERSAMPLING PNG_FILENAME)
|
|
|
set(multiValueArgs EXPECTED_FILES TEST_SCRIPT)
|
|
|
cmake_parse_arguments(ARG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
|
|
|
|
@@ -147,7 +148,7 @@ function(add_cli_test_cmp fixture testname) |
|
|
COMMAND bash ${CMAKE_CURRENT_SOURCE_DIR}/check_output.sh
|
|
|
"${ARG_OUTPUT_FILENAME}" "${ARG_OUTPUT_PAGE}" "${ARG_REFERENCE_FILENAME}"
|
|
|
"${ARG_EXPECTED_FILES}" "${ARG_TEST_SCRIPT}" "${ARG_PNG}"
|
|
|
"${ARG_FUZZ}" "${ARG_RASTER_DPI}")
|
|
|
"${ARG_FUZZ}" "${ARG_RASTER_DPI}" "${ARG_SUPERSAMPLING}")
|
|
|
set_tests_properties(${testname} PROPERTIES
|
|
|
FIXTURES_REQUIRED ${fixture}
|
|
|
ENVIRONMENT "${CMAKE_CTEST_ENV}"
|
|
@@ -1126,7 +1127,7 @@ if(WITH_POPPLER) |
|
|
endif()
|
|
|
|
|
|
function(add_pdfoutput_test name)
|
|
|
set(oneValueArgs FUZZ_PERCENTAGE RASTER_DPI)
|
|
|
set(oneValueArgs FUZZ_PERCENTAGE RASTER_DPI SUPERSAMPLING)
|
|
|
cmake_parse_arguments(ARG "" "${oneValueArgs}" "" ${ARGN})
|
|
|
|
|
|
if(NOT DEFINED ARG_FUZZ_PERCENTAGE)
|
|
@@ -1136,6 +1137,9 @@ function(add_pdfoutput_test name) |
|
|
if(DEFINED ARG_RASTER_DPI)
|
|
|
set(RASTER_DPI "RASTER_DPI" "${ARG_RASTER_DPI}")
|
|
|
endif()
|
|
|
if(DEFINED ARG_SUPERSAMPLING)
|
|
|
set(SUPERSAMPLING "SUPERSAMPLING" "${ARG_SUPERSAMPLING}")
|
|
|
endif()
|
|
|
|
|
|
set(SOURCE_SVG "${CMAKE_CURRENT_SOURCE_DIR}/testcases/pdfoutput/${name}.svg")
|
|
|
execute_process(COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/get-pages.py ${SOURCE_SVG}
|
|
@@ -1157,6 +1161,7 @@ function(add_pdfoutput_test name) |
|
|
REFERENCE_FILENAME pdfoutput/expected/${name}-${NUM}.png
|
|
|
FUZZ_PERCENTAGE ${ARG_FUZZ_PERCENTAGE}
|
|
|
${RASTER_DPI}
|
|
|
${SUPERSAMPLING}
|
|
|
)
|
|
|
endforeach()
|
|
|
add_cli_test_cln(cli_pdfoutput-${name} cli_pdfoutput-${name}-clean
|
|
@@ -1173,11 +1178,11 @@ if(WITH_CAPYPDF) |
|
|
add_pdfoutput_test(06-test-markers)
|
|
|
add_pdfoutput_test(07-test-shapes FUZZ_PERCENTAGE 0.2)
|
|
|
add_pdfoutput_test(08-clones FUZZ_PERCENTAGE 1)
|
|
|
add_pdfoutput_test(09-text-layout FUZZ_PERCENTAGE 3)
|
|
|
add_pdfoutput_test(09-text-layout FUZZ_PERCENTAGE 0.2 SUPERSAMPLING 3)
|
|
|
add_pdfoutput_test(10-text-paint)
|
|
|
add_pdfoutput_test(11-text-decoration)
|
|
|
add_pdfoutput_test(12-rasters FUZZ_PERCENTAGE 1)
|
|
|
add_pdfoutput_test(13-clips FUZZ_PERCENTAGE 3)
|
|
|
add_pdfoutput_test(13-clips SUPERSAMPLING 3)
|
|
|
add_pdfoutput_test(14-filters FUZZ_PERCENTAGE 0.2)
|
|
|
add_pdfoutput_test(15-many-items)
|
|
|
endif()
|
|
|