1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-30 14:48:11 +00:00
serenity/Tests/LibWeb/Text/text_test.sh
Andreas Kling edbc732785 Ladybird+Tests/LibWeb: Add very basic text-only test harness
This allows us to create "text tests" in addition to "layout tests".
Text tests work the same as layout tests, but dump the document content
as text and exit upon receiving the window "load" event.
2023-05-27 14:03:49 +02:00

28 lines
942 B
Bash
Executable file

#!/usr/bin/env bash
set -eo pipefail
SCRIPT_DIR="$(cd -P -- "$(dirname -- "${0}")" && pwd -P)"
LADYBIRD_BUILD_DIR="${1}"
if [[ -z "${LADYBIRD_BUILD_DIR}" ]] ; then
echo "Provide path to the Ladybird build directory"
exit 1
fi
BROWSER_BINARY="./headless-browser"
find "${SCRIPT_DIR}/input/" -type f -name "*.html" -print0 | while IFS= read -r -d '' input_html_path; do
input_html_file=${input_html_path/${SCRIPT_DIR}"/input/"/}
input_html_file=${input_html_file/".html"/}
output_text_dump=$(cd "${LADYBIRD_BUILD_DIR}"; timeout 300s "${BROWSER_BINARY}" --dump-text "${input_html_path}")
expected_text_dump_path="${SCRIPT_DIR}/expected/${input_html_file}.txt"
if cmp <(echo "${output_text_dump}") "${expected_text_dump_path}"; then
echo "${input_html_file} PASSED"
else
echo "${input_html_file} FAILED"
diff -u "${expected_text_dump_path}" <(echo "${output_text_dump}")
fi
done