New test case: ensure metadata is preserved from input to output

This commit is contained in:
James R. Barlow
2015-08-05 17:09:38 -07:00
parent 7b268dbe1a
commit 2744dafb74
2 changed files with 23 additions and 3 deletions
Binary file not shown.
+23 -3
View File
@@ -10,6 +10,7 @@ import sys
from unittest.mock import patch, create_autospec
import pytest
from ocrmypdf.pageinfo import pdf_get_all_pageinfo
import PyPDF2 as pypdf
if sys.version_info.major < 3:
@@ -39,9 +40,17 @@ def run_ocrmypdf_sh(input_file, output_file, *args):
return sh, out, err
def _make_input(input_basename):
return os.path.join(TEST_RESOURCES, input_basename)
def _make_output(output_basename):
return os.path.join(TEST_OUTPUT, output_basename)
def check_ocrmypdf(input_basename, output_basename, *args):
input_file = os.path.join(TEST_RESOURCES, input_basename)
output_file = os.path.join(TEST_OUTPUT, output_basename)
input_file = _make_input(input_basename)
output_file = _make_output(output_basename)
sh, _, err = run_ocrmypdf_sh(input_file, output_file, *args)
assert sh.returncode == 0, err
@@ -64,7 +73,7 @@ def test_deskew():
import logging
log = logging.getLogger()
deskewed_png = os.path.join(TEST_OUTPUT, 'deskewed.png')
deskewed_png = _make_output('deskewed.png')
rasterize_pdf(
deskewed_pdf,
@@ -87,6 +96,17 @@ def test_clean():
check_ocrmypdf('skew.pdf', 'test_clean.pdf', '-c')
def test_preserve_metadata():
pdf_before = pypdf.PdfFileReader(_make_input('graph.pdf'))
output = check_ocrmypdf('graph.pdf', 'test_metadata_preserve.pdf')
pdf_after = pypdf.PdfFileReader(output)
for key in ('/Title', '/Author'):
assert pdf_before.documentInfo[key] == pdf_after.documentInfo[key]
def test_override_metadata():
german = 'Du siehst den Wald vor lauter Bäumen nicht.'
chinese = '孔子'