
     h                         d dl 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 d Z G d dej                  ZdS )	    N)mkdtemp)mock)Image)commasmainc                  (    t          ddddd          )Nzutf-8s   0x80r      zinvalid start byte)UnicodeDecodeError     T/var/www/html/Sam_Eipo/venv/lib/python3.11/site-packages/qrcode/tests/test_script.pybad_readr      s    
Wgq!5I
J
JJr   c                      e Zd Zd Zd Z ej        dd            ej        d          d                         Z ej        dd            ej        d           ej	        e
 d	          d
                                     Z ej        dd            ej        d           ej        d          d                                     Z ej        dd            ej        d          d                         Z ej        dd            ej        d          d                         Z ej        d          d             Z ej        d          d             Zej                            edd                                           ej	        e
 d	          d                         Z ej	        e
 d	          d             Z ej        dej                   ej	        e
 d	          d                         Z ej        dej                  d             Z ej        dej                  d             Zd ZdS )
ScriptTestc                 ,    t                      | _        d S N)r   tmpdirselfs    r   setUpzScriptTest.setUp   s    iir   c                 8    t          j        | j                   d S r   )osrmdirr   r   s    r   tearDownzScriptTest.tearDown   s    
r   z	os.isattyc                      dS NTr   argss    r   <lambda>zScriptTest.<lambda>       4 r   zqrcode.main.QRCode.print_asciic                 R    t          dg           |                    d           d S NtesttextTtty)r   assert_called_withr   mock_print_asciis     r   test_isattyzScriptTest.test_isatty   s1     	j\+++55555r   c                      dS )NFr   r   s    r   r   zScriptTest.<lambda>   s    5 r   z
sys.stdoutzRequires PILc                 &    t          dg           d S )Nr#   r   r   mock_stdouts     r   
test_pipedzScriptTest.test_piped   s     	j\r   c                      dS r   r   r   s    r   r   zScriptTest.<lambda>#   r    r   	sys.stdinc                     d|j         j        _        t          g            |                     |j         j        j                   |                    d           d S r"   )bufferreadreturn_valuer   
assertTruecalledr&   )r   
mock_stdinr(   s      r   
test_stdinzScriptTest.test_stdin#   sU     /9
+R
).5666+++55555r   c                      dS r   r   r   s    r   r   zScriptTest.<lambda>,   r    r   c                 ~   t          j        t          j                  }d|j        j        _        t          |j        _        t          j	        d|          5  | 
                    t          t          j        j                   t          g            d d d            n# 1 swxY w Y   |                    d           d S )Nr#   r1   Tr$   )r   Mocksysstdinr3   r4   r5   r   side_effectpatchassertRaisesr
   r   r&   )r   r(   r8   s      r   !test_stdin_py3_unicodedecodeerrorz,ScriptTest.test_stdin_py3_unicodedecodeerror,   s     Ysy))
.8
+&.
#ZZ00 	 	0#).AAAHHH		 	 	 	 	 	 	 	 	 	 	 	 	 	 	
 	+++55555s   :BB #B c                      dS r   r   r   s    r   r   zScriptTest.<lambda>9   r    r   c                 H    t          d                                           d S )Nztesttext --optimize 0r   splitr'   s     r   test_optimizezScriptTest.test_optimize9   s%     	$**,,-----r   c                 H    t          d                                           d S )Nztesttext --factory svgrE   r-   s     r   test_factoryzScriptTest.test_factory>   s#    %++--.....r   z
sys.stderrc                 l    |                      t          t          d                                           d S )Nztesttext --factory fish)rA   
SystemExitr   rF   r   mock_stderrs     r   test_bad_factoryzScriptTest.test_bad_factoryB   s-    *d,E,K,K,M,MNNNNNr   argvzqr testtext outputc                 "    t                       d S r   r,   r   s    r   test_sys_argvzScriptTest.test_sys_argvF   s     	r   c                     t           j                            | j        d          }t	          dd|g           t          j        |           d S )Nztest.pngr#   z--output)r   pathjoinr   r   remove)r   tmpfiles     r   test_outputzScriptTest.test_outputK   sD    ',,t{J77j*g.///
	'r   )new_callablec                     |                      t                    5  t          d                                           d d d            n# 1 swxY w Y   |                     d|                                           d S )Nz,testtext --factory pil --factory-drawer nopez*The selected factory has no drawer aliasesrA   rK   r   rF   assertIngetvaluerL   s     r   test_factory_drawer_nonez#ScriptTest.test_factory_drawer_noneQ   s     z** 	I 	I?EEGGHHH	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I8+:N:N:P:P	
 	
 	
 	
 	
   "A		AAc                     |                      t                    5  t          d                                           d d d            n# 1 swxY w Y   |                     d|                                           d S )Nz-testtext --factory svg --factory-drawer sobadzsobad factory drawer not foundrZ   rL   s     r   test_factory_drawer_badz"ScriptTest.test_factory_drawer_badZ   s    z** 	J 	J@FFHHIII	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J68L8L8N8NOOOOOr^   c                 H    t          d                                           d S )Nz.testtext --factory svg --factory-drawer circlerE   rL   s     r   test_factory_drawerzScriptTest.test_factory_drawer`   s#    =CCEEFFFFFr   c                 j   |                      t          g           d           |                      t          dg          d           |                      t          d          d           |                      t          d          d           |                      t          dd          d	           d S )
N AABzA or BABCz	A, B or Cand)joinerz
A, B and C)assertEqualr   r   s    r   test_commaszScriptTest.test_commasd   s    R(((,,,x000444e444lCCCCCr   N)__name__
__module____qualname__r   r   r   r@   r)   unittestskipIfr   r/   r9   rB   rG   rI   rN   objectr=   rF   rQ   rW   ioStringIOr]   r`   rb   rk   r   r   r   r   r      s[               TZ//00TZ0116 6 21 106 TZ0011TZX_Y//  0/  21 TZ//00TZ011TZ6 6  21 106 TZ//00TZ011	6 	6 21 10	6 TZ//00TZ011. . 21 10. TZ/ / / TZO O O 
ZsF$8$>$>$@$@AAX_Y//  0/ BA X_Y//  0/
 TZ2;777X_Y//
 
 0/ 87
 TZ2;777P P 87P
 TZ2;777G G 87GD D D D Dr   r   )rr   r   r=   ro   tempfiler   r   qrcode.compat.pilr   qrcode.console_scriptsr   r   r   TestCaser   r   r   r   <module>rx      s    				 				 



              # # # # # # / / / / / / / /K K KYD YD YD YD YD" YD YD YD YD YDr   