ó
    ùŠÂj=  ã                   ó  • S SK r S SKJr  S SKrS SKrS SKrS SKJr  S SKJ	r	  S SK
Jr  S SKJrJrJrJr  S rS rS	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS r S r!S r"S r#S r$S r%S r&S r'S r(S  r)S! r*S" r+S# r,g)$é    N)Úmock)ÚDataOverflowError)Ú	BaseImage)ÚUNICODE_TEXT)ÚMODE_8BIT_BYTEÚMODE_ALPHA_NUMÚMODE_NUMBERÚQRDatac                  ól   • [         R                  " SS9n U R                  S5        U R                  SS9  g ©Né   ©ÚversionÚaF©Úfit©ÚqrcodeÚQRCodeÚadd_dataÚmake©Úqrs    ÚN/var/www/website/venv/lib/python3.13/site-packages/qrcode/tests/test_qrcode.pyÚ
test_basicr      s*   € Ü	�Š˜qÑ	!€BØ‡K�K�ÔØ‡G�G�€GÒó    c                  ól   • [         R                  " SS9n U R                  S5        U R                  SS9  g )Né   r   r   Fr   r   r   s    r   Ú
test_larger      s*   € Ü	�Š˜rÑ	"€BØ‡K�K�ÔØ‡G�G�€GÒr   c                  ó”   • [         R                  " [        5         [        R                  " SS9  S S S 5        g ! , (       d  f       g = f)Né*   r   ©ÚpytestÚraisesÚ
ValueErrorr   r   © r   r   Útest_invalid_versionr'      s&   € Ü	�Š”zÕ	"Ü�Š˜bÒ!÷ 
#×	"Ö	"úó	   ›9¹
Ac                  ó”   • [         R                  " [        5         [        R                  " SS9  S S S 5        g ! , (       d  f       g = f)Néÿÿÿÿ©Úborderr"   r&   r   r   Útest_invalid_borderr-      s&   € Ü	�Š”zÕ	"Ü�Š˜RÒ ÷ 
#×	"Ö	"úr(   c                  óÔ   • [         R                  " SS9n U R                  S5        [        R                  " [
        5         U R                  SS9  S S S 5        g ! , (       d  f       g = f)Nr   r   ÚabcdefghijklmnoFr   )r   r   r   r#   r$   r   r   r   s    r   Útest_overflowr0   $   sD   € Ü	�Š˜qÑ	!€BØ‡K�KÐ!Ô"Ü	�ŠÔ(Õ	)Ø
�‰�EˆÑ÷ 
*×	)Ö	)ús   Á AÁ
A'c                  ó‚   • [         R                  " SS9n [        S5      nU R                  U5        U R	                  SS9  g r   )r   r   r
   r   r   )r   Údatas     r   Útest_add_qrdatar3   +   s3   € Ü	�Š˜qÑ	!€BÜ�#‹;€DØ‡K�K�ÔØ‡G�G�€GÒr   c                  óú   • [         R                  " 5       n U R                  S5        U R                  5         U R                  S:X  d   eU R                  S5        U R                  5         U R                  S:X  d   eg )Nr   r   Úbcdefghijklmnoé   ©r   r   r   r   r   r   s    r   Útest_fitr8   2   sX   € Ü	�Š‹€BØ‡K�K�ÔØ‡G�G„IØ�:‰:˜‹?Ðˆ?Ø‡K�KÐ Ô!Ø‡G�G„IØ�:‰:˜‹?Ð‰?r   c                  óØ   • [         R                  " 5       n U R                  SSS9  U R                  5         U R                  S:X  d   eU R
                  S   R                  [        :X  d   eg )NÚ"1234567890123456789012345678901234r   ©Úoptimizer   )r   r   r   r   r   Ú	data_listÚmoder	   r   s    r   Útest_mode_numberr?   <   sS   € Ü	�Š‹€BØ‡K�KÐ4¸q€KÑAØ‡G�G„IØ�:‰:˜‹?Ðˆ?Ø�<‰<˜‰?×Ñ¤;Ó.Ð.Ñ.r   c                  óØ   • [         R                  " 5       n U R                  SSS9  U R                  5         U R                  S:X  d   eU R
                  S   R                  [        :X  d   eg )NÚABCDEFGHIJ1234567890r   r;   r   )r   r   r   r   r   r=   r>   r   r   s    r   Útest_mode_alpharB   D   sS   € Ü	�Š‹€BØ‡K�KÐ&°€KÑ3Ø‡G�G„IØ�:‰:˜‹?Ðˆ?Ø�<‰<˜‰?×Ñ¤>Ó1Ð1Ñ1r   c                  ó´   • [         R                  " 5       n U R                  SSS9  U R                  5         U R                  S   R
                  [        :X  d   eg )NÚ,r   r;   ©r   r   r   r   r=   r>   r   r   s    r   Útest_regression_mode_commarF   L   sB   € Ü	�Š‹€BØ‡K�K�˜a€KÑ Ø‡G�G„IØ�<‰<˜‰?×Ñ¤>Ó1Ð1Ñ1r   c                  óæ   • [         R                  " 5       n U R                  S[        -   SS9  U R	                  5         U R
                  S:X  d   eU R                  S   R                  [        :X  d   eg )NÚabcABCr   r;   r   )	r   r   r   r   r   r   r=   r>   r   r   s    r   Útest_mode_8bitrI   S   sW   € Ü	�Š‹€BØ‡K�K�œ<Ñ'°!€KÑ4Ø‡G�G„IØ�:‰:˜‹?Ðˆ?Ø�<‰<˜‰?×Ñ¤>Ó1Ð1Ñ1r   c                  ó´   • [         R                  " 5       n U R                  SSS9  U R                  5         U R                  S   R
                  [        :X  d   eg )NzABCDEFGHIJ1234567890
r   r;   rE   r   s    r   Útest_mode_8bit_newlinerK   [   sC   € Ü	�Š‹€BØ‡K�KÐ(°1€KÑ5Ø‡G�G„IØ�<‰<˜‰?×Ñ¤>Ó1Ð1Ñ1r   c                  ó´  • [         R                  " [        5         [        R                  " SS9  S S S 5        [         R                  " [
        5         [        R                  " SS9  S S S 5        [         R                  " [
        5         [        R                  " SS9  S S S 5        g ! , (       d  f       N}= f! , (       d  f       NW= f! , (       d  f       g = f)Nústring pattern)Úmask_patternr*   r!   )r#   r$   Ú	TypeErrorr   r   r%   r&   r   r   Ú"test_make_image_with_wrong_patternrP   b   s|   € Ü	�Š”yÕ	!Ü�ŠÐ#3Ò4÷ 
"ô 
�Š”zÕ	"Ü�Š 2Ò&÷ 
#ô 
�Š”zÕ	"Ü�Š 2Ò&÷ 
#Ð	"÷ 
"Õ	!ú÷ 
#Õ	"ú÷ 
#Õ	"ús#   ›B'ÁB8Â	C	Â'
B5Â8
CÃ	
Cc                  ó�  • [         R                  " 5       n [        R                  " [        5         SU l        S S S 5        [        R                  " [        5         SU l        S S S 5        [        R                  " [        5         SU l        S S S 5        g ! , (       d  f       Nc= f! , (       d  f       NJ= f! , (       d  f       g = f)NrM   r*   é   )r   r   r#   r$   rO   rN   r%   r   s    r   Útest_mask_pattern_setterrS   m   sw   € Ü	�Š‹€Bä	�Š”yÕ	!Ø*ˆŒ÷ 
"ô 
�Š”zÕ	"ØˆŒ÷ 
#ô 
�Š”zÕ	"ØˆŒ÷ 
#Ð	"÷ 
"Õ	!ú÷ 
#Õ	"ú÷ 
#Õ	"ús#   °BÁB&ÂB7Â
B#Â&
B4Â7
Cc                  ó,  • [         R                  " [        5         [        R                  " SS9  S S S 5        [         R                  " [
        5         [        R                  " [        S9  S S S 5        g ! , (       d  f       NJ= f! , (       d  f       g = f)NÚnot_BaseImage©Úimage_factory)r#   r$   rO   r   r   ÚAssertionErrorÚdictr&   r   r   Útest_qrcode_bad_factoryrZ   z   sS   € Ü	�Š”yÕ	!Ü�Š OÒ4÷ 
"ô 
�Š”~Õ	&Ü�Š¤DÒ)÷ 
'Ð	&÷ 
"Õ	!ú÷ 
'Õ	&ús   ›A4ÁBÁ4
BÂ
Bc                  ó  •  " S S[         5      n [        R                  " U S9nUR                  [        5        UR                  5         U R                  R                  (       d   eU R                  R                  (       d   eg )Nc                   óX   • \ rS rSr\R
                  " 5       r\R
                  " 5       rSrg)Ú(test_qrcode_factory.<locals>.MockFactoryéƒ   r&   N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   ÚMockÚdrawrectÚ	new_imageÚ__static_attributes__r&   r   r   ÚMockFactoryr]   ƒ   s   † Ø—9’9“;ˆØ—I’I“K‹	r   rg   rV   )	r   r   r   r   r   Ú
make_imagere   Úcalledrd   )rg   r   s     r   Útest_qrcode_factoryrj   ‚   s]   € ô ”iô  ô 
�Š [Ñ	1€BØ‡K�K”ÔØ‡M�M„OØ× Ñ ×'×'Ð'Ð'Ø×Ñ×&×&Ð&Ñ&r   c                  ó*  • [         R                  " 5       n SnU R                  USS9  U R                  5         U R                   Vs/ s H  o"R
                  PM     sn[        [        [        [        [        /:X  d   eU R                  S:X  d   eg s  snf )NÚA1abc12345def1HELLOaé   r;   r6   )
r   r   r   r   r=   r>   r   r	   r   r   ©r   ÚtextÚds      r   Útest_optimizerq   Ž   s}   € Ü	�Š‹€BØ!€DØ‡K�K�˜q€KÑ!Ø‡G�G„IØŸLšLÓ)šL�q�FŒF™LÑ)ÜÜÜÜÜð.ó ð ð ð �:‰:˜‹?Ð‰?ùò *s   ÁBc                  óL  • [         R                  " 5       n SnU R                  USS9  U R                  5         [	        U R
                  5      S:X  d   eU R
                   Vs/ s H  o"R                  PM     sn[        [        [        /:X  d   eU R                  S:X  d   eg s  snf )NÚA1abc1234567def1HELLOaé   r;   é   r6   )
r   r   r   r   Úlenr=   r>   r   r	   r   rn   s      r   Útest_optimize_shortrw   �   sŽ   € Ü	�Š‹€BØ#€DØ‡K�K�˜q€KÑ!Ø‡G�G„IÜˆr�|‰|Ó Ó!Ð!Ð!ØŸLšLÓ)šL�q�FŒF™LÑ)ÜÜÜð.ó ð ð ð
 �:‰:˜‹?Ð‰?ùò *s   Á!B!c                  óÎ   • [         R                  " 5       n SnU R                  USS9  [        U R                  5      S:X  d   eU R                  S   R
                  [        :X  d   eg )NÚABCDEFGHIJKé   r;   r   r   )r   r   r   rv   r=   r>   r   )r   ro   s     r   Útest_optimize_longer_than_datar{   «   sU   € Ü	�Š‹€BØ€DØ‡K�K�˜r€KÑ"Üˆr�|‰|Ó Ó!Ð!Ð!Ø�<‰<˜‰?×Ñ¤>Ó1Ð1Ñ1r   c                  ó&  • Sn [         R                  " 5       nUR                  U 5        UR                  5         UR                  S:X  d   e[         R                  " 5       nUR                  U SS9  UR                  5         UR                  S:X  d   eg )NÚúA1abc12345123451234512345def1HELLOHELLOHELLOHELLOaA1abc12345123451234512345def1HELLOHELLOHELLOHELLOaA1abc12345123451234512345def1HELLOHELLOHELLOHELLOaA1abc12345123451234512345def1HELLOHELLOHELLOHELLOaA1abc12345123451234512345def1HELLOHELLOHELLOHELLOaé
   r   r;   é   r7   )ro   r   s     r   Útest_optimize_sizer€   ³   so   € ØC€Dä	�Š‹€BØ‡K�K�ÔØ‡G�G„IØ�:‰:˜ÓÐÐä	�Š‹€BØ‡K�K�˜q€KÑ!Ø‡G�G„IØ�:‰:˜ÓÐÑr   c                  óz   • Sn [         R                  R                  U 5      n[        U5      [        U 5      :X  d   eg )Ns   hello)r   Úutilr
   Úrepr)r2   Údata_objs     r   Útest_qrdata_reprr…   Á   s1   € Ø€DÜ�{‰{×!Ñ! $Ó'€HÜ�‹>œT $›ZÓ'Ð'Ñ'r   c                  ór  • [         R                  " 5       n [        R                  " S5       nS UR                  l        [        R                  " [        5         U R                  SS9  S S S 5        UR                  R                  (       d   e S S S 5        g ! , (       d  f       N5= f! , (       d  f       g = f)Nú
sys.stdoutT)Útty)r   r   r   ÚpatchÚisattyÚreturn_valuer#   r$   ÚOSErrorÚprint_asciiri   ©r   Úfake_stdouts     r   Útest_print_ascii_stdoutr�   Ç   su   € Ü	�Š‹€BÜ	�Š�LÔ	! [Ø*.ˆ×ÑÔ'Ü�]Š]œ7Õ#Ø�N‰N˜tˆNÑ$÷ $à×!Ñ!×(×(Ð(Ñ(÷	 
"Ð	!ç#Õ#ú÷ 
"Õ	!ús#   ¬,B(ÁBÁ(%B(Â
B%	Â!B(Â(
B6c                  ó¦  • [         R                  " SS9n [        R                  " 5       nU R	                  US9  UR                  5       nUR                  5         SnUS [        U5       U:X  d   e[        R                  " 5       nS Ul        U R	                  USS9  UR                  5       nUR                  5         SnUS [        U5       U:X  d   eg )	Nr   r+   ©Úoutu   â–ˆâ–€â–€â–€â–€â–€â–ˆc                  ó   • g©NTr&   r&   r   r   Ú<lambda>Ú"test_print_ascii.<locals>.<lambda>Ú   ó   € �tr   T)r“   rˆ   u)   [48;5;232m[38;5;255mÂ â–„â–„â–„â–„â–„Â )	r   r   ÚioÚStringIOr�   ÚgetvalueÚcloserv   rŠ   )r   ÚfÚprintedÚexpecteds       r   Útest_print_asciir    Ð   s¯   € Ü	�Š˜aÑ	 €BÜ
�Š‹€AØ‡N�N�q€NÑØ�j‰j‹l€GØ‡G�G„IØ;€HØ�?”S˜“]Ð# xÓ/Ð/Ð/ä
�Š‹€AÙ€A„HØ‡N�N�q˜d€NÑ#Ø�j‰j‹l€GØ‡G�G„IØX€HØ�?”S˜“]Ð# xÓ/Ð/Ñ/r   c                  ó6  • [         R                  " 5       n [        R                  " S5       nS UR                  l        [        R                  " [        U R                  5        UR                  R                  (       d   e S S S 5        g ! , (       d  f       g = f)Nr‡   )r   r   r   r‰   rŠ   r‹   r#   r$   rŒ   Ú	print_ttyri   rŽ   s     r   Útest_print_tty_stdoutr£   â   s\   € Ü	�Š‹€BÜ	�Š�LÔ	! [Ø*.ˆ×ÑÔ'Ü�Š”g˜rŸ|™|Ô,Ø×!Ñ!×(×(Ð(Ñ(÷ 
"×	!Ö	!ús   ¬AB
Â

Bc                  ó,  • [         R                  " 5       n [        R                  " 5       nS Ul        U R                  US9  UR                  5       nUR                  5         SnSnUS-   U-   nSnUS-   U-   U-   S-   U-   nUS [        U5       U:X  d   eg )	Nc                  ó   • gr•   r&   r&   r   r   r–   Ú test_print_tty.<locals>.<lambda>í   r˜   r   r’   z[1;47mz[40mz  z[0m
z.                                              z              )	r   r   r™   rš   rŠ   r¢   r›   rœ   rv   )r   r�   rž   ÚBOLD_WHITE_BGÚBLACK_BGÚWHITE_BLOCKÚEOLrŸ   s           r   Útest_print_ttyr«   ê   s–   € Ü	�Š‹€BÜ
�Š‹€AÙ€A„HØ‡L�L�Q€LÑØ�j‰j‹l€GØ‡G�G„IØ €MØ€HØ $Ñ&¨Ñ1€KØ
€CØ˜yÑ(¨3Ñ.°Ñ<¸xÑGÈ+ÑU€HØ�?”S˜“]Ð# xÓ/Ð/Ñ/r   c                  óŽ   • [         R                  " SS9n U R                  S5        U R                  5       U R                  :X  d   eg )Nr   r+   Ú1©r   r   r   Ú
get_matrixÚmodulesr   s    r   Útest_get_matrixr±   ù   s4   € Ü	�Š˜aÑ	 €BØ‡K�K�ÔØ�=‰=‹?˜bŸj™jÓ(Ð(Ñ(r   c                  óÄ   • [         R                  " SS9n U R                  S5        U R                  5       SS  Vs/ s H  oSS PM	     nnX R                  :X  d   eg s  snf )Nr   r+   r­   r*   r®   )r   ÚrowÚmatrixs      r   Útest_get_matrix_borderrµ   ÿ   sX   € Ü	�Š˜aÑ	 €BØ‡K�K�ÔØ#%§=¡=£?°1°RÑ#8Ó9Ò#8˜C�!�B‹iÑ#8€FÐ9Ø—Z‘ZÓÐÑùò :s   »Ac                  ó”   • [         R                  " [        5         [        R                  " SS9  S S S 5        g ! , (       d  f       g = f)Nr*   )Úbox_sizer"   r&   r   r   Ú"test_negative_size_at_constructionr¸     s&   € Ü	�Š”zÕ	"Ü�Š˜rÒ"÷ 
#×	"Ö	"úr(   c                  óÄ   • [         R                  " 5       n SU l        [        R                  " [
        5         U R                  5         S S S 5        g ! , (       d  f       g = f)Nr*   )r   r   r·   r#   r$   r%   rh   r   s    r   Útest_negative_size_at_usagerº     s5   € Ü	�Š‹€BØ€B„KÜ	�Š”zÕ	"Ø
�‰Œ÷ 
#×	"Ö	"ús   ·AÁ
A)-r™   Úunittestr   r#   r   Úqrcode.utilÚqrcode.exceptionsr   Úqrcode.image.baser   Úqrcode.tests.constsr   r   r   r	   r
   r   r   r'   r-   r0   r3   r8   r?   rB   rF   rI   rK   rP   rS   rZ   rj   rq   rw   r{   r€   r…   r�   r    r£   r«   r±   rµ   r¸   rº   r&   r   r   Ú<module>rÀ      s´   ðÛ 	Ý ã ã Û Ý /Ý 'Ý ,ß KÓ Kòòò"ò
!ò
òòò/ò2ò2ò2ò2ò'ò
ò*ò	'òòò2òò(ò)ò0ò$)ò0ò)ò ò#ó
r   