#!/bin/sh

set -e

# Generate a PDF with 4 A4 pages, use bookletimposer and verify if the final
# PDF has 2 A4 pages

for i in 1 2 3 4
do
  gs -q -sDEVICE=pdfwrite -sPAPERSIZE=a4 -o $i.pdf
done

pdfunite 1.pdf 2.pdf 3.pdf 4.pdf linear.pdf
bookletimposer -a linear.pdf -o booklet.pdf -f A4
pdfinfo booklet.pdf | grep -c "Pages: \+2"
pdfinfo booklet.pdf | grep -c "Page size: \+842 x 595 pts (A4)"

# Take the booklet we previously generated, linearise it and check if the final
# PDF has 4 A4 pages.

bookletimposer -a booklet.pdf -o newlinear.pdf -f A4 -l
pdfinfo newlinear.pdf | grep -c "Pages: \+4"
pdfinfo newlinear.pdf | grep -c "Page size: \+595 x 842 pts (A4)"

# Make sure the "--keep" option works

bookletimposer -a booklet.pdf -o linear.pdf -f A4 -l -k
diff -s linear.pdf newlinear.pdf | grep -c "differ"
