#!/usr/bin/bats
+tiff2pdf() {
+ echo "$tiff2pdf_return"
+ return "$tiff2pdf_exit"
+}
+
ocrmypdf() {
echo "$ocrmypdf_return"
return "$ocrmypdf_exit"
return "$mv_exit"
}
+rm() {
+ echo "$rm_return"
+ return "$rm_exit"
+}
+
+pdftk() {
+ echo "$pdftk_return"
+ return "$pdftk_exit"
+}
+
setup() {
load "/usr/lib/bats/bats-assert/load"
load "/usr/lib/bats/bats-support/load"
export -f ocrmypdf
ocrmypdf_return=
ocrmypdf_exit=0
+
+ export -f tiff2pdf
+ tiff2pdf_return=
+ tiff2pdf_exit=0
+
+ export -f rm
+ rm_return=
+ rm_exit=0
+
+ export -f pdftk
+ pdftk_return=
+ pdftk_exit=0
}
teardown() {
export -n qpdf
export -n mv
export -n ocrmypdf
+ export -n tiff2pdf
+ export -n rm
+ export -n pdftk
}
@test "should failure optimize input parameter is missing" {
assert_success
}
+
+@test "should failure createonepdf missing output parameter" {
+ run createonepdf
+
+ assert_failure
+ assert_line --index 0 "❌ ERROR: missing output"
+}
+
+@test "should failure createonepdf tiff2pdf fails" {
+ tiff2pdf_exit=1
+
+ run createonepdf "testfile"
+
+ assert_failure
+ assert_line --index 0 "❌ ERROR: could not convert tiff to pdf"
+}
+
+@test "should failure createonepdf delete testfile fails" {
+ rm_exit=1
+
+ run createonepdf "testfile"
+
+ assert_failure
+ assert_line --index 0 "❌ ERROR: could not delete scanned*.tiff"
+}
+
+@test "should failure createonepdf pdftk fails" {
+ pdftk_exit=1
+
+ run createonepdf "testfile"
+
+ assert_failure
+ assert_line --index 0 "❌ ERROR: could not convert into single testfile"
+}
+
+@test "should success createonepdf" {
+ run createonepdf "testfile"
+
+ assert_success
+}
mv $output $input \
|| errlog "could not rename $output to $input" \
|| return $?
- optimize $input || return $?
+ optimize $input \
+ || return $?
}
createonepdf()
command -v pdftk > /dev/null \
|| errlog "command pdftk not found" \
|| return $?
+ [ -n "$output" ] \
+ || errlog "missing output" \
+ || return $?
+
for i in scanned*.tiff; do
tiff2pdf $i -o ${i/.tiff/.pdf} \
|| errlog "could not convert tiff to pdf" \
|| return $?
- rm $i || errlog "could not delete $i" || return $?
+ rm $i \
+ || errlog "could not delete $i" \
+ || return $?
done
pdftk scanned*.pdf output $output \
|| errlog "could not convert into single $output" \
|| return $?
+
rm scanned*.pdf \
|| errlog "could not remove scanned pdfs" \
|| return $?
- addocr $output || return $?
+
+ addocr $output \
+ || return $?
}
createpdf()