From 52483072dcab45dba45643ee7ef105b3087330ce Mon Sep 17 00:00:00 2001 From: "James R. Barlow" Date: Fri, 21 Jul 2017 16:40:20 -0700 Subject: [PATCH] Add a differential test that checks tesseract uses supplied word list --- tests/resources/crom.png | Bin 0 -> 1374 bytes tests/test_main.py | 26 ++++++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 tests/resources/crom.png diff --git a/tests/resources/crom.png b/tests/resources/crom.png new file mode 100644 index 0000000000000000000000000000000000000000..8ce51f0eded005f7f031a4941a2db393e88cdb5f GIT binary patch literal 1374 zcmeAS@N?(olHy`uVBq!ia0y~yV4T3fz+l9|z`(!|UVh1ufq_-k)5S5QBJRyaMJ@&f z0oQ|T&APXL*l{m>ae|>l$c*dTY9iEr1-}#)P+(G0aA0BSXkZY8u{~C6>R%81y;R73 z{+Zs}+Rd_?`PXjBd;B9k|NO@{M|W-(FHf_|-e+^;%A%RG&pdZrmNYHR#BuFW&aEpi zrynja@SP`hUVfc`;bjA*X*+rnjgC%z;59wlG_xt?%9s8PW|yOu1-eXrfB50EN+a~Cdrk&)0{FyiBbU9OsQ1~#BP1gwVRwqiDaE+WwSvpK<}5jLsn0O&DAxhCt-m=uCas)(IPKg9 zT}M$(;oD!%oH!{PB_^=d|u1t)3NY^*-Z!i-X7lQxnSOrB+uQGM2}rLn`piK!`jPo$JSlX>pHXL!K~Xm z--Z^qH`g~VDcs_5_U0z9%Zt^&Hol7vHH`GoQVS{Yu{xBLS-NV;a%q*u5ZA>eeMRL) z+@8y#Z#9Na(qMlv(a$h>!lOlZ?rGgKF)Oas3J>y~dT7Qj%be#TcP1q`C>?xv=&AYk zpK}%+p0wbKp=N6DmfY^pS#ni<q3z=bgLu9mkw@R=C8+8-UAJpm_Mai))w2zAg*})(7~Ulm{63popYZVH zKEJ+@DO(RcoZubFF=v^Go3V;eXIIZ_wHS3-rauhDP4DeDF27^fpw19etnM6p^4{O| zwq=(%mrLu%qzb(J^Dbz|-n}jxES`Uuvuu$k!;M|p=REfOjcW;$)y;c%DsShP+Jdh3 zPi%}G$sR|9MKAvlXczhQP<&IvQr$gU<=8I;%&?C=X|z5yAv2qk;cIcR_3w=wb!wNF z7E}j!q_`ThXBBKH{XQpe&)<1xtg6aA4Io$ zUQORoZ1BX7uRI}NJ>P)8!NhJ~W{9Jj5u3gy}vs1h`>EphOS9#zpJw@ zyXKLl`Kh;RPjuq8Ueo+yqb1*VX8t==Rn8U65V=an=f8X1)W=!U)AzXiOtIpeclM+B z{7IoA4hn}>FVpngnRxKzohH3rKI^4-BZ~}5i*KBh+?JZn^K8*K_CHU()Q=b5STd8TJh4L$Yk#ze`AIJ-@(-!I&b3%If;WcBVj74KvpJveas&QqTMPDwv* zmBzm0<}t6=SK(-NalNMXLIX^H5S{daf>6Da8ULl#`jXX U8~67YGJ=$Qy85}Sb4q9e07G|{(f|Me literal 0 HcmV?d00001 diff --git a/tests/test_main.py b/tests/test_main.py index 8193a1a8..79a54002 100644 --- a/tests/test_main.py +++ b/tests/test_main.py @@ -786,6 +786,32 @@ THIS FILE IS INVALID assert p.returncode == ExitCode.invalid_config +def test_user_words(resources, outdir): + word_list = outdir / 'wordlist.txt' + sidecar_before = outdir / 'sidecar_before.txt' + sidecar_after = outdir / 'sidecar_after.txt' + + check_ocrmypdf( + resources / 'crom.png', outdir / 'out.pdf', + '--image-dpi', 150, + '--sidecar', sidecar_before + ) + + assert 'cromulent' not in sidecar_before.open().read() + + with word_list.open('w') as f: + f.write('cromulent\n') # a perfectly cromulent word + + check_ocrmypdf( + resources / 'crom.png', outdir / 'out.pdf', + '--image-dpi', 150, + '--sidecar', sidecar_after, + '--user-words', word_list + ) + + assert 'cromulent' in sidecar_after.open().read() + + def test_form_xobject(spoof_tesseract_noop, resources, outpdf): check_ocrmypdf(resources / 'formxobject.pdf', outpdf, '--force-ocr',