python (3.11.7)
    e$                     8   d Z ddlZddlmZmZ  ej        d          ZddlZddlZddl	Z	ddl
Z
dZdZ G d de
j
                  Zdd
Z G d dej                  Z G d
 dej                  Z G d dej                  Zedk    r ej                     dS dS )z%
Tests for uu module.
Nick Mathewson
    N)	os_helperwarnings_helperuus7   The symbols on top of your keyboard are !@#$%^&*()_+|~
sO   M5&AE('-Y;6)O;',@;VX@=&]P(&]F('EO=7(@:V5Y8F]A<F0@87)E("% (R0E
*7B8J*"E?*WQ^"@  c                   .     e Zd ZdZ	 	 d fd	Zd Z xZS )	FakeIOzText I/O implementation using an in-memory buffer.
    Can be a used as a drop-in replacement for sys.stdin and sys.stdout.
     utf-8strict
c                 B   t          t          |                               t          j                    |||           || _        || _        |rPt          |t                    st          |          }| 	                    |           | 
                    d           d S d S )N)encodingerrorsnewliner   )superr   __init__ioBytesIO	_encoding_errors
isinstancestrwriteseek)self
initial_valuer
   r   r   	__class__s        @/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_uu.pyr   zFakeIO.__init__   s    
fd$$RZ\\.6,2-4 	% 	6 	6 	6 " 	mS11 
3 #M 2 2
JJ}%%%IIaLLLLL		 	    c                     |                                   | j                                                            | j        | j                  S N)flushbuffergetvaluedecoder   r   r   s    r   r#   zFakeIO.getvalue-   s7    
{##%%,,T^T\JJJr   )r   r	   r
   r   )__name__
__module____qualname____doc__r   r#   
__classcell__)r   s   @r   r   r      se          3:*.     K K K K K K Kr   r   Fc                     |r5t          d| |fz  d          t                              dd          z   dz   }n t          d| |fz  d          t          z   dz   }|S )Nzbegin %03o %s
ascii       `s   
`
end
s   
 
end
)bytesencodedtextreplace)modefilenamebacktickress       r   encodedtextwrappedr6   2   sw     ,&$)997CC""4../1>? &$)997CC*+Jr   c                   R    e Zd Zd Zej        d             Zd Zd Zd Z	d Z
d ZdS )	UUTestc                    t          j        t                    }t          j                    }t                              ||d           |                     |                                t          dd                     t          j        t                    }t          j                    }t                              ||dd           |                     |                                t          dd                     t          j        t                    }t          j                    }t                              ||dd           |                     |                                t          ddd                     |                     t                    5  t                              ||ddd           d d d            d S # 1 swxY w Y   d S )Nt1    Tr4   )
r   r   	plaintextr   encodeassertEqualr#   r6   assertRaises	TypeError)r   inpouts      r   test_encodezUUTest.test_encode=   s   j##jll
		#sD!!!);E4)H)HIIIj##jll
		#sD%((();E4)H)HIIIj##jll
		#sD4	000);E4)N)NOOO
y
)
) 	3 	3IIc3eT222	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3s   GG	G	c           	         dD ]}t          j        t          dd|                    }t          j                    }t                              ||           |                     |                                t                     t          j        dt          dd|          z             }t          j                    }t                              ||           |                     |                                t                     d S )N)TFr;   r:   r=   sM   UUencoded files may contain many lines,
even some that have 'begin' in them.
)r   r   r6   r   r$   r@   r#   r>