+
    
‘xjÐ  c                  óÐ   € ^ RI Ht ^ RIt^ RIHu Ht ^ RIH	t	 ^ RI
HtHtHtHtHtHt ^ RIHt R R ltR R	 ltR
 R ltR R ltR R ltR R ltR R ltR R ltR R ltR# )é    )ÚannotationsN)ÚPath)ÚDocumentElementÚDocumentModelÚElementTypeÚFontSettingsÚ	PageStateÚ	TableData)ÚCoordinateMapperc               ó   € V ^8„  d   QhRR/# ©é   ÚreturnÚNone© )Úformats   "ÚF/home/ahrirg/test/pdf-to-docx-semi-manual-convertor/tests/test_core.pyÚ__annotate__r      s   € ÷ ñ  Tñ ó    c                 ó¼  € \         P                  ! ^ÈRR^dRR4      p RqV8H  q"'       g±   \        P                  ! RV3RW34      RR\        P
                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V4      /,          pRR	V/,          p\        \        P                  ! V4      4      hR
;r!R
# )éÈ   é,  é�  éè  éÐ  Úpy0ÚresultÚpy3úassert %(py5)sÚpy5N)çš™™™™™É?ç333333Ã?çš™™™™™Ù?çš™™™™™©?©ú==©z%(py0)s == %(py3)s)
r
   Úpdf_to_normalizedÚ
@pytest_arÚ_call_reprcompareÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚ	_safereprÚAssertionErrorÚ_format_explanation©r   Ú@py_assert2Ú@py_assert1Ú@py_format4Ú@py_format6s        r   Útest_normalized_coordinatesr5      sÄ   € Ü×/Ò/ØØØØØØó€Fðð ð ñ ÷ ô ï
é ôˆ6÷ ó ï
é ÷ö ï
é ðˆ6÷ ÷ ï
é ðˆ6÷ ó ï
é ðð ÷ ÷ ÷ ÷ ð ï
é ÷÷ r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   "   s   € ÷ ñ  ñ r   c                 ó¼  € \         P                  ! R RRRRR4      p RqV8H  q"'       g±   \        P                  ! RV3RW34      RR\        P
                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V4      /,          pR	R
V/,          p\        \        P                  ! V4      4      hR;r!R# )r    r!   r"   r#   r   r   r   r   r   r   r   N)r   r   r   éd   r$   r&   )
r
   Únormalized_to_pdfr(   r)   r*   r+   r,   r-   r.   r/   r0   s        r   Útest_normalized_to_pdfr:   "   sÄ   € Ü×/Ò/ØØØØØØó€Fðð ð ñ ÷ ô ï
é ôˆ6÷ ó ï
é ÷ö ï
é ðˆ6÷ ÷ ï
é ðˆ6÷ ó ï
é ðð ÷ ÷ ÷ ÷ ð ï
é ÷÷ r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   4   s   € ÷ ñ ¸$ñ r   c            	     ó(  € R
p \         P                  ! . V O^dN^2NRNRN5!  p\         P                  ! . VO^dN^2NRNRN5!  pR \        W4       4       p\	        V4      qD'       g«   RRR\
        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MRR\        P                  ! V4      R\        P                  ! V4      /,          p\        \        P                  ! V4      4      hR	;r4R	# )r    r   iÜ  c              3  óN   "  € T F  w  r\        W,
          4      R 8  x € K  	  R# 5i)g•Ö&è.>N)Úabs)Ú.0ÚaÚbs   &  r   Ú	<genexpr>ÚCtest_zoom_does_not_change_normalized_coordinates.<locals>.<genexpr>L   s$   é € ð á,‰DˆAô 	ˆA�E‹
�TÖÛ,ùs   ‚#%z,assert %(py4)s
{%(py4)s = %(py0)s(%(py2)s)
}r   ÚallÚpy2Úpy4N©r    ç333333Ó?r"   çš™™™™™¹?)r
   Únormalized_to_viewÚview_to_normalizedÚziprD   r*   r+   r(   r,   r-   r.   r/   )ÚoriginalÚviewÚ	recoveredr2   Ú@py_assert3Ú@py_format5s         r   Ú0test_zoom_does_not_change_normalized_coordinatesrR   4   s6  € ð€Hô ×.Ò.ð Ø	ðàðð 	ðð 	ð	ð
 	ó€Dô !×3Ò3ð Ø	ðàðð 	ðð 	ð	ð
 	ó€Iñä˜Ô,óð Œ3ð ó ð ö ÷ ïé ÷ö ïé ðŒ3÷ ÷ ïé ðŒ3÷ ó ïé ðð ÷ ñ ïé ðð ÷ ÷ õ ïé ÷÷ r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   R   s   € ÷ ñ ˜tñ r   c                 óÜ  € \        \        P                  R RRR^RR7      p V P                  p\        P                  q!V8H  q3'       Eg   \        P
                  ! RV3RW34      RR\        P                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V4      R	R
\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MR
R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;r2V P                  q! 4       pRqcV8H  q"'       gÝ   \        P
                  ! RV3RW634      RR\        P                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V4      R	\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p;r&R# )r    rH   r"   rI   ÚHello©Úelement_typeÚxÚyÚwidthÚheightÚpage_numberÚtextr   ÚelementrE   rF   r   Úpy6úassert %(py8)sÚpy8NÚpy7úassert %(py9)sÚpy9r$   )zN%(py2)s
{%(py2)s = %(py0)s.element_type
} == %(py6)s
{%(py6)s = %(py4)s.TEXT
}rG   )zC%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.rect
}()
} == %(py7)s)r   r   ÚTEXTrW   r(   r)   r*   r+   r,   r-   r.   r/   Úrect)	r^   r2   Ú@py_assert5rP   Ú@py_format7Ú@py_format9Ú@py_assert6Ú@py_format8Ú@py_format10s	            r   Útest_document_elementrm   R   s­  € ÜÜ ×%Ñ%Ø
Ø
ØØØØô€Gð ×ÑÐ3¤;×#3Ñ#3Ð3Ð#3Ñ3×3×3×3Ô3Ð×3×3×3×3×3×3ˆ7×3×3×3Ò3ˆ7×3×3Ö3Ð×3×3×3×3×3Ö3¤;×3×3×3Ò3¤;×3×3Ö3Ð#3×3×3×3×3×3×3×3Ò3Ø�<‰<ð ˆ<‹>ð ð ð ð ñ ÷ ô ï
é ôˆ>÷ ó ï
é ÷ö ï
é ðˆ7÷ ÷ ï
é ðˆ7÷ ó ï
é ðˆ<÷ ñ ï
é ðˆ>÷ ñ ï
é ðð ÷ ÷ ÷ ÷ ð ï
é ÷÷ ó r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   f   s   € ÷ *ñ *˜ñ *r   c                 ó  € \        ^RRR7      p V P                  P                  \        \        P
                  RRRR^R7      4       V P                  p\        V4      p^q2V8H  qD'       Eg3   \        P                  ! RV3RW#34      R	R
\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MR
RR\        P                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p;rCV P                  pRq'V8H  qˆ'       gÇ   \        P                  ! RV3RWr34      R	R\        P                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V4      R\        P                  ! V4      /,          p	RRV	/,          p
\        \        P                  ! V
4      4      hR;p;r‚R# )r   éd  é  ©r\   Úwidth_ptÚ	height_ptrI   r    rH   r"   ©rW   rX   rY   rZ   r[   r\   r   ÚlenÚpy1Úpager   r   ra   úassert %(py10)sÚpy10NÚportraitrE   úassert %(py7)srb   r$   ©zN%(py5)s
{%(py5)s = %(py0)s(%(py3)s
{%(py3)s = %(py1)s.elements
})
} == %(py8)s)z3%(py2)s
{%(py2)s = %(py0)s.orientation
} == %(py5)s)r   ÚelementsÚappendr   r   ÚIMAGErv   r(   r)   r*   r+   r,   r-   r.   r/   Úorientation)rx   r1   Ú@py_assert4Ú@py_assert7rj   ri   Ú@py_format11r2   rP   r4   rk   s              r   Útest_page_stater…   f   so  € ÜØØØô€Dð 	‡M�M×ÑÜÜ$×*Ñ*ØØØØØô	
ô	ð �}‰}Ð"Œ3ˆ}ÓÐ" Ð" Ñ"×"×"×"Ô"Ð×"×"×"×"×"×"Œ3×"×"×"Ò"Œ3×"×"×"×"×"×"Ð"ˆt×"×"×"Ò"ˆt×"×"Ö"ˆ}×"×"Ô"Ð×"×"Ô" ×"×"×"×"×"×"×"Ô"Ø×ÑÐ)˜zÐ)˜zÑ)×)×)×)Ó)Ð×)×)×)×)×)×)ˆ4×)×)×)Ò)ˆ4×)×)Ö)Ð×)×)Ô)˜z×)×)×)×)×)×)×)Ô)r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   |   s   € ÷ -ñ - 4ñ -r   c                 ó,  € \        \        ^RRRR7      \        ^RRRR7      \        ^RRRR7      .R7      p V P                  p\        V4      p^q2V8H  qD'       Eg3   \        P
                  ! RV3RW#34      RR\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MRR	R
\        P                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MR
R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p;rCV P                  ^,          qwP                  p. q�V8H  q"'       g�   \        P
                  ! RV3RW34      R	\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          p	RRV	/,          p\        \        P                  ! V4      4      hR;p;p;r(V P                  ^,          qwP                  pRq�VJ q"'       g�   \        P
                  ! RV3RW34      R	\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          p	RRV	/,          p\        \        P                  ! V4      4      hR;p;p;r(R# )é   rp   rq   T)r\   rs   rt   Ú	processedF)Úpagesr   rv   rw   Úmodelr   r   ra   ry   rz   Nr_   r`   r$   )zK%(py5)s
{%(py5)s = %(py0)s(%(py3)s
{%(py3)s = %(py1)s.pages
})
} == %(py8)s)z0%(py3)s
{%(py3)s = %(py1)s.elements
} == %(py6)s)Úis)z1%(py3)s
{%(py3)s = %(py1)s.processed
} is %(py6)s)r   r   rŠ   rv   r(   r)   r*   r+   r,   r-   r.   r/   r~   r‰   )
r‹   r1   r‚   rƒ   rj   ri   r„   Ú@py_assert0rg   rh   s
             r   Útest_skipped_pages_remainrŽ   |   sÕ  € ÜäØØØØô	ô ØØØØô	ô ØØØØô	ð
ô€Eð. �{‰{Ð Œ3ˆ{ÓÐ ˜qÐ ˜qÑ × × × Ô Ð× × × × × × Œ3× × × Ò Œ3× × × × × × Ð ˆu× × × Ò ˆu× × Ö ˆ{× × Ô Ð× × Ô ˜q× × × × × × × Ô Ø�;‰;�q�>Ð(×"Ñ"Ð( bÐ( bÑ(×(×(×(Ó(Ð"×(×(Õ(ˆ>×(×(Ô(Ð"×(×(Ô( b×(×(×(×(×(×(×(Ô(Ø�;‰;�q�>Ð,×#Ñ#Ð, uÐ, uÐ,×,×,×,Ó,Ð#×,×,Õ,ˆ>×,×,Ô,Ð#×,×,Ô, u×,×,×,×,×,×,×,Ö,r   c               ó    € V ^8„  d   QhRRRR/# )r   Útmp_pathr   r   r   r   )r   s   "r   r   r   ™   s   € ÷ )@ñ )@ Tð )@¨dñ )@r   c                óH
  € V R ,          p\        RR^\        R^RR7      \        ^RRR\        \        P
                  RR	R
R^RR7      .R7      .R7      pVP                  V4       \         P                  ! V4      pVP                  pRqTV8H  qf'       gÇ   \        P                  ! RV3RWE34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                   ! V4      4      hR;p;reVP"                  p^qTV8H  qf'       gÇ   \        P                  ! RV3R WE34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                   ! V4      4      hR;p;reVP$                  qDP&                  pRq–V	8H  qª'       gÝ   \        P                  ! RV
3R!Wi34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V	4      /,          pRRV/,          p\        \        P                   ! V4      4      hR;p;p;r©VP$                  qDP(                  p^q–V	8H  qª'       gÝ   \        P                  ! RV
3R"Wi34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V	4      /,          pRRV/,          p\        \        P                   ! V4      4      hR;p;p;r©VP*                  ^ ,          P,                  ^ ,          qÌP.                  pRq­V
8H  qU'       g�   \        P                  ! RV3R#WÚ34      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V
4      /,          pRRV/,          p\        \        P                   ! V4      4      hR;p;p;rZR# )$zsample.pdfocrprojectz
sample.pdfzsample.docxÚArialT)ÚfamilyÚsize_ptÚboldrp   rq   rI   r    g      à?zProject textrV   )r\   rs   rt   r‰   r~   )Ú
source_pdfÚoutput_docxÚcurrent_pageÚfontrŠ   r   ÚrestoredrE   r   r|   rb   NrF   rc   rd   rw   r   r_   r`   ra   r$   )z2%(py2)s
{%(py2)s = %(py0)s.source_pdf
} == %(py5)s)z4%(py2)s
{%(py2)s = %(py0)s.current_page
} == %(py5)s)zH%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.font
}.family
} == %(py7)s)zI%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.font
}.size_pt
} == %(py7)s)z,%(py3)s
{%(py3)s = %(py1)s.text
} == %(py6)s)r   r   r   r   r   re   Úsave_projectÚload_projectr–   r(   r)   r*   r+   r,   r-   r.   r/   r˜   r™   r“   r”   rŠ   r~   r]   )r�   Úprojectr‹   rš   r2   r‚   rP   r4   rk   rj   rg   rl   r�   r1   rh   ri   s   &               r   Útest_project_save_loadrž   ™   s  € ØÐ/Õ/€GäØØ!ØÜØØØô
ô ØØØØä#Ü%0×%5Ñ%5ØØØ!Ø"Ø$%Ø+ôð
ôð
ô€Eð< 
×Ñ�wÔä×)Ò)¨'Ó2€Hà×ÑÐ. ,Ð. ,Ñ.×.×.×.Ó.Ð×.×.×.×.×.×.ˆ8×.×.×.Ò.ˆ8×.×.Ö.Ð×.×.Ô. ,×.×.×.×.×.×.×.Ò.Ø× Ñ Ð% AÐ% AÑ%×%×%×%Ó%Ð ×%×%×%×%×%×%ˆ8×%×%×%Ò%ˆ8×%×%Ö%Ð ×%×%Ô% A×%×%×%×%×%×%×%Ò%Ø�=‰=Ð*×ÑÐ* 7Ð* 7Ñ*×*×*×*Ó*Ð×*×*×*×*×*×*ˆ8×*×*×*Ò*ˆ8×*×*Ö*ˆ=×*×*Ô*Ð×*×*Ô* 7×*×*×*×*×*×*×*Ô*Ø�=‰=Ð&× Ñ Ð& BÐ& BÑ&×&×&×&Ó&Ð ×&×&×&×&×&×&ˆ8×&×&×&Ò&ˆ8×&×&Ö&ˆ=×&×&Ô&Ð ×&×&Ô& B×&×&×&×&×&×&×&Ô&Ø�>‰>˜!Õ×%Ñ% aÕ(Ð?×-Ñ-Ð?°Ð?°Ñ?×?×?×?Ó?Ð-×?×?Õ?Ð(×?×?Ô?Ð-×?×?Ô?°×?×?×?×?×?×?×?Ö?r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   Å   s   € ÷ 5ñ 5 $ñ 5r   c                 óæ  € \        R R.RR..^2^2.^^.R7      p \         P                  ! V P                  4       4      pVP                  q P                  q2V8H  qD'       Eg   \        P
                  ! RV3RW#34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      RR	\        P                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MR	R
\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rCVP                  q P                  q2V8H  qD'       Eg   \        P
                  ! RV3RW#34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      RR	\        P                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MR	R
\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rCVP                  q P                  q2V8H  qD'       Eg   \        P
                  ! RV3RW#34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      RR	\        P                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MR	R
\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rCR# )ÚAÚBÚ1Ú2)ÚrowsÚcolumn_widthsÚrow_heightsr   rš   rE   rF   Útabler_   r`   ra   Nr$   )zF%(py2)s
{%(py2)s = %(py0)s.rows
} == %(py6)s
{%(py6)s = %(py4)s.rows
})zX%(py2)s
{%(py2)s = %(py0)s.column_widths
} == %(py6)s
{%(py6)s = %(py4)s.column_widths
})zT%(py2)s
{%(py2)s = %(py0)s.row_heights
} == %(py6)s
{%(py6)s = %(py4)s.row_heights
})r	   Ú	from_dictÚto_dictr¥   r(   r)   r*   r+   r,   r-   r.   r/   r¦   r§   )r¨   rš   r2   rg   rP   rh   ri   s          r   Útest_table_serializationr«   Å   s  € Üà�#ˆJØ�#ˆJð
ð ˜2�hØ˜�Hô€Eô ×"Ò" 5§=¡=£?Ó3€Hà�=‰=Ð&ŸJ™JÐ&˜JÑ&×&×&×&Ô&ˆ=×&×&×&×&×&×&ˆ8×&×&×&Ò&ˆ8×&×&Ö&ˆ=×&×&×&×&×&Ö&˜E×&×&×&Ò&˜E×&×&Ö&˜J×&×&×&×&×&×&×&Ò&Ø×!Ñ!Ð8×%8Ñ%8Ð8Ð%8Ñ8×8×8×8Ô8Ð!×8×8×8×8×8×8ˆ8×8×8×8Ò8ˆ8×8×8Ö8Ð!×8×8×8×8×8Ö8 U×8×8×8Ò8 U×8×8Ö8Ð%8×8×8×8×8×8×8×8Ò8Ø×ÑÐ4×#4Ñ#4Ð4Ð#4Ñ4×4×4×4Ô4Ð×4×4×4×4×4×4ˆ8×4×4×4Ò4ˆ8×4×4Ö4Ð×4×4×4×4×4Ö4 5×4×4×4Ò4 5×4×4Ö4Ð#4×4×4×4×4×4×4×4Ô4r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   Ö   s   € ÷ %#ñ %#¨$ñ %#r   c                 óÊ  € \        ^RRR7      p V P                  P                  \        \        P
                  RRRR^RR7      \        \        P                  RR	RR
^R7      \        \        P                  RR	RR
^R7      .4       V P                  p\        V4      p^q2V8H  qD'       Eg3   \        P                  ! RV3RW#34      RR\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MRRR\        P                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                   ! V4      4      hR;p;p;rCR# )rˆ   rp   rq   rr   r#   r"   rI   ÚTextrV   r    rH   ru   gš™™™™™á?r   rv   rw   rx   r   r   ra   ry   rz   Nr$   r}   )r   r~   Úextendr   r   re   r€   ÚTABLErv   r(   r)   r*   r+   r,   r-   r.   r/   )rx   r1   r‚   rƒ   rj   ri   r„   s          r   Ú test_multiple_elements_same_pager±   Ö   sE  € ÜØØØô€Dð 	‡M�M×ÑäÜ(×-Ñ-ØØØØØØôô Ü(×.Ñ.ØØØØØôô Ü(×.Ñ.ØØØØØôð%	
ôð< �}‰}Ð"Œ3ˆ}ÓÐ" Ð" Ñ"×"×"×"Ô"Ð×"×"×"×"×"×"Œ3×"×"×"Ò"Œ3×"×"×"×"×"×"Ð"ˆt×"×"×"Ò"ˆt×"×"Ö"ˆ}×"×"Ô"Ð×"×"Ô" ×"×"×"×"×"×"×"Ö"r   )Ú
__future__r   Úbuiltinsr*   Ú_pytest.assertion.rewriteÚ	assertionÚrewriter(   Úpathlibr   Ú
app.modelsr   r   r   r   r   r	   Ú	app.utilsr
   r5   r:   rR   rm   r…   rŽ   rž   r«   r±   r   r   r   Ú<module>rº      sN   ðÝ "ç  „ Õ ÷÷ õ 'õõ$õ$õ<õ(*õ,-õ:)@õX5÷"%#r   