o
    h
                     @   s\   d dl Z d dlZd dlZd dlZddlT dd Zdd Zdd	 Zd
d Zdd Z	dd Z
dS )    N   )*c                   C   s8   t t td W d    d S 1 sw   Y  d S )Nzabstract base class)pytestraises	TypeErrorProtocolError r   r   [/var/www/html/magazine_api/magazine_env/lib/python3.10/site-packages/h11/tests/test_util.pytest_ProtocolError	   s   
"r
   c               
   C   sv  zt d t y% }  zt| dksJ | jdksJ W Y d } ~ nd } ~ ww zt ddd t yM }  zt| dks<J | jdksCJ W Y d } ~ nd } ~ ww dd }z,z|  W W d S  t y~ } zdtt d }|  W Y d }~W d S d }~ww  t	y } z0t
|t	u sJ |jd	ksJ |jd
ksJ dtt d }||sJ W Y d }~d S d }~ww )NZfooi  i  error_status_hintc                   S   s   t ddd)Na  r   )LocalProtocolErrorr   r   r   r	   thunk   s   z&test_LocalProtocolError.<locals>.thunk r   )r   r   )r   strr   join	traceback	format_tbsysexc_infoZ!_reraise_as_remote_protocol_errorZRemoteProtocolErrortypeargsendswith)er   Zexc1Zorig_tracebackZexc2Znew_tracebackr   r   r	   test_LocalProtocolError   s>   r   c                  C   s   t d} tt t| d W d    n1 sw   Y  t| d}|dddks-J tt t| d W d    n1 sBw   Y  tt t| d W d    d S 1 s]w   Y  d S )	Ns&   (?P<group1>[0-9]+)\.(?P<group2>[0-9]+)s   0.s   0.1   0   1)Zgroup1Zgroup2s   0.1xxs   0.1
)recompiler   r   r   validate)my_regroupsr   r   r	   test_validate*   s   

"r$   c                  C   s   t d} tt}t| dd W d    n1 sw   Y  dt|jv s)J tt}t| dd W d    n1 s?w   Y  dt|jv sMJ tt}t| ddd W d    n1 sdw   Y  dt|jv srJ d S )Ns   foo    Zoopszoops {}z
oops {} xx
   z
oops 10 xx)r   r    r   r   r   r!   r   value)r"   excinfor   r   r	   test_validate_formatting8   s   
r)   c                  C   s   t d} t| dksJ | | ksJ t| jdksJ | | hv s"J t| | u s*J t d}t|dks6J | |ks<J | |hvsCJ t| t|usMJ d S )NSS2)Zmake_sentinelreprr   __name__)r*   r+   r   r   r	   test_make_sentinelG   s   r.   c                   C   s   t ddksJ t tddksJ t ddksJ tt t d W d    n1 s.w   Y  tt t d W d    d S 1 sHw   Y  d S )Ns   123Z123u   ሴr&   )Zbytesify	bytearrayr   r   UnicodeEncodeErrorr   r   r   r   r	   test_bytesifyT   s   

"r1   )r   r   r   r   Z_utilr
   r   r$   r)   r.   r1   r   r   r   r	   <module>   s    