Spaces:
Sleeping
Sleeping
| SPEC="spec/files" | |
| checkeq() { | |
| if res=$(diff "$1" "$2"); then | |
| echo "[✓]" | |
| else | |
| echo "[✗]" | |
| printf "%s\n" "$res" | |
| return 1 | |
| fi | |
| } | |
| it() { | |
| printf " it %s " "$*" | |
| } | |
| printf "pdfxmeta\n" | |
| it "extracts metadata correctly" | |
| checkeq <(pdfxmeta -p 1 "$SPEC/level2.pdf" "Section") \ | |
| "$SPEC/level2_meta" | |
| it "extracts metadata in auto mode correctly" | |
| checkeq <(pdfxmeta -a 1 -p 1 "$SPEC/level2.pdf" "Section") \ | |
| "$SPEC/level2_meta.toml" | |
| printf "\npdftocgen\n" | |
| it "generates toc for 2 level heading correctly" | |
| checkeq <(pdftocgen "$SPEC/level2.pdf" < "$SPEC/level2_recipe.toml") \ | |
| "$SPEC/level2.toc" | |
| it "generates toc for one page headings correctly" | |
| checkeq <(pdftocgen "$SPEC/onepage.pdf" < "$SPEC/onepage_greedy.toml") \ | |
| "$SPEC/onepage.toc" | |
| it "generates toc for hard mode correctly" | |
| checkeq <(pdftocgen "$SPEC/hardmode.pdf" < "$SPEC/hardmode_recipe.toml") \ | |
| "$SPEC/hardmode.toc" | |
| it "generates readable toc" | |
| checkeq <(pdftocgen -H "$SPEC/level2.pdf" < "$SPEC/level2_recipe.toml") \ | |
| "$SPEC/level2_h.toc" | |
| printf "\npdftocio\n" | |
| tmpdir=$(mktemp -d) | |
| it "adds toc to pdf and prints toc correctly" | |
| checkeq <(pdftocgen "$SPEC/hardmode.pdf" < "$SPEC/hardmode_recipe.toml" | \ | |
| pdftocio -o "$tmpdir/out.pdf" "$SPEC/hardmode.pdf" && \ | |
| pdftocio -p "$tmpdir/out.pdf") \ | |
| "$SPEC/hardmode.toc" | |
| it "prints toc when -p is set" | |
| checkeq <(pdftocio -p "$SPEC/hastoc.pdf" < $SPEC/level2.toc) \ | |
| "$SPEC/hastoc.toc" | |
| it "prints toc vpos when -v is set" | |
| checkeq <(pdftocio -p -v "$SPEC/hastoc.pdf") \ | |
| "$SPEC/hastoc_v.toc" | |