B
    Ce                 @   s   d dl Z d dlZd dlZd dlmZ d dlZddlmZmZm	Z	m
Z
mZmZ ddddZdddd	Zddd
dZddddZddddZddddZdS )    N)NoReturn   )bytesifyLocalProtocolErrorProtocolErrorRemoteProtocolErrorSentinelvalidate)returnc            	   C   s"   t t td W d Q R X d S )Nzabstract base class)pytestraises	TypeErrorr    r   r   g/var/www/downstreamdata.science/rtclock/rtclock-venv/lib/python3.7/site-packages/h11/tests/test_util.pytest_ProtocolError   s    r   c           
   C   s  yt dW n@ t k
rL }  z"t| dks.t| jdks<tW d d } ~ X Y nX yt dddW n@ t k
r }  z"t| dkst| jdkstW d d } ~ X Y nX tddd}yRy
|  W nB t k
r } z$dtt	 d	 }|
  W d d }~X Y nX W n~ tk
r~ } z^t|tks&t|jd
ks6t|jdksFtdtt	 d	 }||sntW d d }~X Y nX d S )NZfooi  i  )error_status_hint)r
   c               S   s   t dddd S )Nai  )r   )r   r   r   r   r   thunk$   s    z&test_LocalProtocolError.<locals>.thunk r   )r   i  )r   strAssertionErrorr   r   join	traceback	format_tbsysexc_infoZ!_reraise_as_remote_protocol_errorr   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 Q R X t| d}|dddksFttt t| d W d Q R X tt t| d W d Q R X 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   r	   r   )my_regroupsr   r   r   test_validate5   s    

r'   c           	   C   s   t d} tt}t| dd W d Q R X dt|jks>ttt}t| dd W d Q R X dt|jksrttt}t| ddd W d Q R X dt|jkstd S )Ns   foo    Zoopszoops {}z
oops {} xx
   z
oops 10 xx)	r#   r$   r   r   r   r	   r   valuer   )r%   excinfor   r   r   test_validate_formattingD   s    
r,   c              C   s   G dd dt t d} t| dks$t| | ks0tt| jdksBt| | hksPtt| | ks`tG dd dt t d}t|dkst| |kst| |hkstt| t|k	std S )Nc               @   s   e Zd ZdS )ztest_make_sentinel.<locals>.SN)__name__
__module____qualname__r   r   r   r   SU   s   r0   )	metaclassc               @   s   e Zd ZdS )ztest_make_sentinel.<locals>.S2N)r-   r.   r/   r   r   r   r   S2^   s   r2   )r   reprr   r   r-   )r0   r2   r   r   r   test_make_sentinelT   s    r4   c            	   C   st   t ddkstt tddks$tt ddks4ttt t d W d Q R X tt t d W d Q R X d S )Ns   123Z123u   ሴr)   )r   r   	bytearrayr   r   UnicodeEncodeErrorr   r   r   r   r   test_bytesifyg   s    r7   )r#   r   r   typingr   r   Z_utilr   r   r   r   r   r	   r   r    r'   r,   r4   r7   r   r   r   r   <module>   s    
