]> gitweb.hhaalo.de Git - scantopdf.git/commitdiff
add tests for create one pdf
authorBastian Dehn <hhaalo@arcor.de>
Sat, 5 Jul 2025 09:13:56 +0000 (11:13 +0200)
committerBastian Dehn <hhaalo@arcor.de>
Sat, 5 Jul 2025 09:13:56 +0000 (11:13 +0200)
scanbasic.bats
scanbasic.sh

index aec0d1124467bbbf1ee8476af13d85b11737fe25..5e57ad11dcb120db79700b9e213600ab22014912 100755 (executable)
@@ -1,5 +1,10 @@
 #!/usr/bin/bats
 
+tiff2pdf() {
+       echo "$tiff2pdf_return"
+       return "$tiff2pdf_exit"
+}
+
 ocrmypdf() {
        echo "$ocrmypdf_return"
        return "$ocrmypdf_exit"
@@ -15,6 +20,16 @@ mv() {
        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"
@@ -32,12 +47,27 @@ setup() {
        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" {
@@ -93,3 +123,43 @@ teardown() {
 
        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
+}
index 637a9c9411e141e69ed992e83642dfc1b29c1b59..69b541a98f5f111ebce932d675a7cfb0c669b495 100644 (file)
@@ -48,7 +48,8 @@ addocr()
        mv $output $input \
                || errlog "could not rename $output to $input" \
                || return $?
-       optimize $input || return $?
+       optimize $input \
+               || return $?
 }
 
 createonepdf()
@@ -61,20 +62,29 @@ 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()