summaryrefslogtreecommitdiff
path: root/Tests/LibWeb/Layout/layout_test.sh
blob: e52103ac4972f5b7872db7ff884368bf0411e8ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/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_layout_dump=$(cd "${LADYBIRD_BUILD_DIR}"; timeout 300s "${BROWSER_BINARY}" --layout-test-mode -d "${input_html_path}")
    expected_layout_dump_path="${SCRIPT_DIR}/expected/${input_html_file}.txt"

    if cmp <(echo "${output_layout_dump}") "${expected_layout_dump_path}"; then
        echo "${input_html_file} PASSED"
    else
        echo "${input_html_file} FAILED"
        diff -u "${expected_layout_dump_path}" <(echo "${output_layout_dump}")
    fi
done