From 0c0d53b10ff72c79c76d571ee97f9f68bd721c0a Mon Sep 17 00:00:00 2001 From: "James R. Barlow" Date: Mon, 30 Dec 2019 16:37:51 -0800 Subject: [PATCH] tests: AcroForm test case did not work correctly; fixed --- src/ocrmypdf/_pipeline.py | 2 +- tests/resources/acroform.pdf | Bin 0 -> 10733 bytes tests/test_acroform.py | 11 ++++++++++- tests/test_main.py | 2 +- 4 files changed, 12 insertions(+), 3 deletions(-) create mode 100644 tests/resources/acroform.pdf diff --git a/src/ocrmypdf/_pipeline.py b/src/ocrmypdf/_pipeline.py index cad9d74b..fd1aadb4 100644 --- a/src/ocrmypdf/_pipeline.py +++ b/src/ocrmypdf/_pipeline.py @@ -183,7 +183,7 @@ def validate_pdfinfo_options(context): ) raise InputFileError() else: - log.warn( + log.warning( "This PDF has a fillable form. " "Chances are it is a pure digital " "document that does not need OCR." diff --git a/tests/resources/acroform.pdf b/tests/resources/acroform.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b80eb44a2e78cc299a960cd80caab00cdc795556 GIT binary patch literal 10733 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 literal 0 HcmV?d00001 diff --git a/tests/test_acroform.py b/tests/test_acroform.py index cb188e80..44de63da 100644 --- a/tests/test_acroform.py +++ b/tests/test_acroform.py @@ -15,6 +15,8 @@ # You should have received a copy of the GNU General Public License # along with OCRmyPDF. If not, see . +import logging + import pytest import ocrmypdf @@ -30,4 +32,11 @@ def acroform(resources): def test_acroform_and_redo(acroform, caplog, no_outpdf): with pytest.raises(ocrmypdf.exceptions.InputFileError): check_ocrmypdf(acroform, no_outpdf, '--redo-ocr') - assert '--redo-ocr is not currently possible' in caplog.text + assert '--redo-ocr is not currently possible' in caplog.text + + +def test_acroform_message(acroform, caplog, spoof_tesseract_noop, outpdf): + caplog.set_level(logging.INFO) + check_ocrmypdf(acroform, outpdf, env=spoof_tesseract_noop) + assert 'fillable form' in caplog.text + assert '--force-ocr' in caplog.text diff --git a/tests/test_main.py b/tests/test_main.py index 0e336d80..cc2686cf 100644 --- a/tests/test_main.py +++ b/tests/test_main.py @@ -276,7 +276,7 @@ def test_input_file_not_readable(caplog, resources, outdir, no_outpdf): input_file.chmod(0o000) result = run_ocrmypdf_api(input_file, no_outpdf) assert result == ExitCode.input_file - assert input_file in caplog.text + assert str(input_file) in caplog.text def test_input_file_not_a_pdf(caplog, no_outpdf):