Ë
    F‚$h=  ã                   ó  — d dl Z d dlmZ d dlZd dlZd dlZd dlmZ d dlm	Z	 d dl
mZ d dlmZmZmZmZ d„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%d„ Z&d„ Z'd„ Z(d „ Z)d!„ Z*d"„ Z+d#„ Z,y)$é    N)Úmock)ÚDataOverflowError)Ú	BaseImage)ÚUNICODE_TEXT)ÚMODE_8BIT_BYTEÚMODE_ALPHA_NUMÚMODE_NUMBERÚQRDatac                  óv   — t        j                  d¬«      } | j                  d«       | j                  d¬«       y ©Né   ©ÚversionÚaF©Úfit©ÚqrcodeÚQRCodeÚadd_dataÚmake©Úqrs    úV/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/qrcode/tests/test_qrcode.pyÚ
test_basicr      s*   € Ü	�‰˜qÔ	!€BØ‡K�K�ÔØ‡G�G�€GÕó    c                  óv   — t        j                  d¬«      } | j                  d«       | j                  d¬«       y )Né   r   r   Fr   r   r   s    r   Ú
test_larger      s*   € Ü	�‰˜rÔ	"€BØ‡K�K�ÔØ‡G�G�€GÕr   c                  óŒ   — t        j                  t        «      5  t        j                  d¬«       d d d «       y # 1 sw Y   y xY w)Né*   r   ©ÚpytestÚraisesÚ
ValueErrorr   r   © r   r   Útest_invalid_versionr'      s/   € Ü	�‰”zÓ	"ñ "Ü�‰˜bÕ!÷"÷ "ñ "úó	   š:ºAc                  óŒ   — t        j                  t        «      5  t        j                  d¬«       d d d «       y # 1 sw Y   y xY w)Néÿÿÿÿ©Úborderr"   r&   r   r   Útest_invalid_borderr-      s/   € Ü	�‰”zÓ	"ñ !Ü�‰˜RÕ ÷!÷ !ñ !úr(   c                  óÒ   — t        j                  d¬«      } | j                  d«       t        j                  t
        «      5  | j                  d¬«       d d d «       y # 1 sw Y   y xY w)Nr   r   ÚabcdefghijklmnoFr   )r   r   r   r#   r$   r   r   r   s    r   Útest_overflowr0   $   sM   € Ü	�‰˜qÔ	!€BØ‡K�KÐ!Ô"Ü	�‰Ô(Ó	)ñ Ø
�‰�EˆÔ÷÷ ñ ús   ÁAÁA&c                  óŒ   — t        j                  d¬«      } t        d«      }| j                  |«       | j	                  d¬«       y r   )r   r   r
   r   r   )r   Údatas     r   Útest_add_qrdatar3   +   s3   € Ü	�‰˜qÔ	!€BÜ�#‹;€DØ‡K�K�ÔØ‡G�G�€GÕr   c                  óô   — t        j                  «       } | j                  d«       | j                  «        | j                  dk(  sJ ‚| j                  d«       | j                  «        | j                  dk(  sJ ‚y )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                  óØ   — t        j                  «       } | j                  dd¬«       | j                  «        | j                  dk(  sJ ‚| j
                  d   j                  t        k(  sJ ‚y )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                  óØ   — t        j                  «       } | j                  dd¬«       | j                  «        | j                  dk(  sJ ‚| j
                  d   j                  t        k(  sJ ‚y )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                  ó¶   — t        j                  «       } | j                  dd¬«       | j                  «        | j                  d   j
                  t        k(  sJ ‚y )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                  óæ   — t        j                  «       } | j                  dt        z   d¬«       | j	                  «        | j
                  dk(  sJ ‚| j                  d   j                  t        k(  sJ ‚y )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                  ó¶   — t        j                  «       } | j                  dd¬«       | j                  «        | j                  d   j
                  t        k(  sJ ‚y )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                  óœ  — t        j                  t        «      5  t        j                  d¬«       d d d «       t        j                  t
        «      5  t        j                  d¬«       d d d «       t        j                  t
        «      5  t        j                  d¬«       d d d «       y # 1 sw Y   ŒzxY w# 1 sw Y   ŒNxY w# 1 sw Y   y xY w)Nústring pattern)Úmask_patternr*   r!   )r#   r$   Ú	TypeErrorr   r   r%   r&   r   r   Ú"test_make_image_with_wrong_patternrP   b   s“   € Ü	�‰”yÓ	!ñ 5Ü�‰Ð#3Õ4÷5ô 
�‰”zÓ	"ñ 'Ü�‰ 2Õ&÷'ô 
�‰”zÓ	"ñ 'Ü�‰ 2Õ&÷'ð '÷5ð 5ú÷'ð 'ú÷'ð 'ús#   šB*ÁB6Â
CÂ*B3Â6B?ÃCc                  ój  — t        j                  «       } t        j                  t        «      5  d| _        d d d «       t        j                  t        «      5  d| _        d d d «       t        j                  t        «      5  d| _        d d d «       y # 1 sw Y   Œ\xY w# 1 sw Y   Œ?xY w# 1 sw Y   y xY w)NrM   r*   é   )r   r   r#   r$   rO   rN   r%   r   s    r   Útest_mask_pattern_setterrS   m   sŽ   € Ü	�‰‹€Bä	�‰”yÓ	!ñ +Ø*ˆŒ÷+ô 
�‰”zÓ	"ñ ØˆŒ÷ô 
�‰”zÓ	"ñ ØˆŒ÷ð ÷+ð +ú÷ð ú÷ð ús#   ®BÁBÂ B)ÂBÂB&Â)B2c                  ó  — t        j                  t        «      5  t        j                  d¬«       d d d «       t        j                  t
        «      5  t        j                  t        ¬«       d d d «       y # 1 sw Y   ŒFxY w# 1 sw Y   y xY w)NÚnot_BaseImage©Úimage_factory)r#   r$   rO   r   r   ÚAssertionErrorÚdictr&   r   r   Útest_qrcode_bad_factoryrZ   z   sc   € Ü	�‰”yÓ	!ñ 5Ü�‰ OÕ4÷5ô 
�‰”~Ó	&ñ *Ü�‰¤DÕ)÷*ð *÷5ð 5ú÷*ð *ús   šA6ÁBÁ6A?ÂBc                  óø   —  G d„ dt         «      } t        j                  | ¬«      }|j                  t        «       |j                  «        | j                  j                  sJ ‚| j                  j                  sJ ‚y )Nc                   óP   — e Zd Z ej                  «       Z ej                  «       Zy)ú(test_qrcode_factory.<locals>.MockFactoryN)Ú__name__Ú
__module__Ú__qualname__r   ÚMockÚdrawrectÚ	new_imager&   r   r   ÚMockFactoryr]   ƒ   s   „ Ø�4—9‘9“;ˆØ�D—I‘I“K‰	r   rd   rV   )	r   r   r   r   r   Ú
make_imagerc   Úcalledrb   )rd   r   s     r   Útest_qrcode_factoryrg   ‚   s]   € ô ”iô  ô 
�‰ [Ô	1€BØ‡K�K”ÔØ‡M�M„OØ× Ñ ×'Ò'Ð'Ð'Ø×Ñ×&Ò&Ð&Ñ&r   c                  ó&  — t        j                  «       } d}| j                  |d¬«       | j                  «        | j                  D �cg c]  }|j
                  ‘Œ c}t        t        t        t        t        gk(  sJ ‚| j                  dk(  sJ ‚y c c}w )NÚA1abc12345def1HELLOaé   r;   r6   )
r   r   r   r   r=   r>   r   r	   r   r   ©r   ÚtextÚds      r   Útest_optimizern   Ž   s{   € Ü	�‰‹€BØ!€DØ‡K�K�˜q€KÔ!Ø‡G�G„IØŸL™LÖ)�qˆA�F‹FÒ)ÜÜÜÜÜð.ò ð ð ð �:‰:˜Š?Ð‰?ùò *s   ÁBc                  óF  — t        j                  «       } d}| j                  |d¬«       | j                  «        t	        | j
                  «      dk(  sJ ‚| j
                  D �cg c]  }|j                  ‘Œ c}t        t        t        gk(  sJ ‚| j                  dk(  sJ ‚y c c}w )NÚA1abc1234567def1HELLOaé   r;   é   r6   )
r   r   r   r   Úlenr=   r>   r   r	   r   rk   s      r   Útest_optimize_shortrt   �   sŒ   € Ü	�‰‹€BØ#€DØ‡K�K�˜q€KÔ!Ø‡G�G„IÜˆr�|‰|Ó Ò!Ð!Ð!ØŸL™LÖ)�qˆA�F‹FÒ)ÜÜÜð.ò ð ð ð
 �:‰:˜Š?Ð‰?ùò *s   Á"Bc                  óÎ   — t        j                  «       } d}| j                  |d¬«       t        | j                  «      dk(  sJ ‚| j                  d   j
                  t        k(  sJ ‚y )NÚABCDEFGHIJKé   r;   r   r   )r   r   r   rs   r=   r>   r   )r   rl   s     r   Útest_optimize_longer_than_datarx   «   sU   € Ü	�‰‹€BØ€DØ‡K�K�˜r€KÔ"Üˆr�|‰|Ó Ò!Ð!Ð!Ø�<‰<˜‰?×Ñ¤>Ò1Ð1Ñ1r   c                  ó$  — d} t        j                  «       }|j                  | «       |j                  «        |j                  dk(  sJ ‚t        j                  «       }|j                  | d¬«       |j                  «        |j                  dk(  sJ ‚y )NÚúA1abc12345123451234512345def1HELLOHELLOHELLOHELLOaA1abc12345123451234512345def1HELLOHELLOHELLOHELLOaA1abc12345123451234512345def1HELLOHELLOHELLOHELLOaA1abc12345123451234512345def1HELLOHELLOHELLOHELLOaA1abc12345123451234512345def1HELLOHELLOHELLOHELLOaé
   r   r;   é   r7   )rl   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                  óx   — d} t         j                  j                  | «      }t        |«      t        | «      k(  sJ ‚y )Ns   hello)r   Úutilr
   Úrepr)r2   Údata_objs     r   Útest_qrdata_reprr‚   Á   s1   € Ø€DÜ�{‰{×!Ñ! $Ó'€HÜ�‹>œT $›ZÒ'Ð'Ñ'r   c                  óT  — t        j                  «       } t        j                  d«      5 }d |j                  _        t        j                  t        «      5  | j                  d¬«       d d d «       |j                  j                  sJ ‚	 d d d «       y # 1 sw Y   Œ+xY w# 1 sw Y   y xY w)Nú
sys.stdoutT)Útty)r   r   r   ÚpatchÚisattyÚreturn_valuer#   r$   ÚOSErrorÚprint_asciirf   ©r   Úfake_stdouts     r   Útest_print_ascii_stdoutr�   Ç   s‡   € Ü	�‰‹€BÜ	�‰�LÓ	!ð ) [Ø*.ˆ×ÑÔ'Ü�]‰]œ7Ó#ñ 	%Ø�N‰N˜tˆNÔ$÷	%à×!Ñ!×(Ò(Ð(Ñ(÷	)ð )÷	%ð 	%ú÷)ð )ús#   ª+BÁBÁ( BÂB	ÂBÂB'c                  ó®  — t        j                  d¬«      } t        j                  «       }| j	                  |¬«       |j                  «       }|j                  «        d}|d t        |«       |k(  sJ ‚t        j                  «       }d„ |_        | j	                  |d¬«       |j                  «       }|j                  «        d}|d t        |«       |k(  sJ ‚y )	Nr   r+   ©Úoutu   â–ˆâ–€â–€â–€â–€â–€â–ˆc                   ó   — y©NTr&   r&   r   r   ú<lambda>z"test_print_ascii.<locals>.<lambda>Ú   ó   � r   T)r�   r…   u)   [48;5;232m[38;5;255mÂ â–„â–„â–„â–„â–„Â )	r   r   ÚioÚStringIOrŠ   ÚgetvalueÚclosers   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                  ó  — t        j                  «       } t        j                  d«      5 }d |j                  _        t        j                  t        | j                  «       |j                  j                  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr„   )r   r   r   r†   r‡   rˆ   r#   r$   r‰   Ú	print_ttyrf   r‹   s     r   Útest_print_tty_stdoutrŸ   â   se   € Ü	�‰‹€BÜ	�‰�LÓ	!ð ) [Ø*.ˆ×ÑÔ'Ü�‰”g˜rŸ|™|Ô,Ø×!Ñ!×(Ò(Ð(Ñ(÷)÷ )ñ )ús   ªABÂBc                  ó,  — t        j                  «       } t        j                  «       }d„ |_        | j                  |¬«       |j                  «       }|j                  «        d}d}|dz   |z   }d}|dz   |z   |z   dz   |z   }|d t        |«       |k(  sJ ‚y )	Nc                   ó   — yr’   r&   r&   r   r   r“   z test_print_tty.<locals>.<lambda>í   r”   r   r�   z[1;47mz[40mz  z[0m
z.                                              z              )	r   r   r•   r–   r‡   rž   r—   r˜   rs   )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                  ó�   — t        j                  d¬«      } | j                  d«       | j                  «       | j                  k(  sJ ‚y )Nr   r+   Ú1©r   r   r   Ú
get_matrixÚmodulesr   s    r   Útest_get_matrixr¬   ù   s4   € Ü	�‰˜aÔ	 €BØ‡K�K�ÔØ�=‰=‹?˜bŸj™jÒ(Ð(Ñ(r   c                  óÄ   — t        j                  d¬«      } | j                  d«       | j                  «       dd D �cg c]  }|dd ‘Œ	 }}|| j                  k(  sJ ‚y c c}w )Nr   r+   r¨   r*   r©   )r   ÚrowÚmatrixs      r   Útest_get_matrix_borderr°   ÿ   sY   € Ü	�‰˜aÔ	 €BØ‡K�K�ÔØ#%§=¡=£?°1°RÐ#8Ö9˜Cˆc�!�BŠiÐ9€FÐ9Ø�R—Z‘ZÒÐÑùò :s   ½Ac                  óŒ   — t        j                  t        «      5  t        j                  d¬«       d d d «       y # 1 sw Y   y xY w)Nr*   )Úbox_sizer"   r&   r   r   Ú"test_negative_size_at_constructionr³     s/   € Ü	�‰”zÓ	"ñ #Ü�‰˜rÕ"÷#÷ #ñ #úr(   c                  ó¶   — t        j                  «       } d| _        t        j                  t
        «      5  | j                  «        d d d «       y # 1 sw Y   y xY w)Nr*   )r   r   r²   r#   r$   r%   re   r   s    r   Útest_negative_size_at_usagerµ     s>   € Ü	�‰‹€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   rg   rn   rt   rx   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   