U
    ʼb                     @   s<   d dl Z ddlmZ ddlmZ ddlT dd Zdd	 ZdS )
    N   )LocalProtocolError)_events)*c               	   C   s  G dd dt j} | ddd}t|dks.t|| dddksBt|| dddkrVt|| dddkrjt|| dddks~ttt t| W 5 Q R X | dd	}|jdkst|j	dksttt | d W 5 Q R X tt | dddd W 5 Q R X tt | dddd
 W 5 Q R X tt}| dd W 5 Q R X dt
|ksZttt | ddd W 5 Q R X d S )Nc                   @   s$   e Zd ZddgZddiZdd ZdS )ztest_event_bundle.<locals>.Tab   c                 S   s   | j dkrtd S )Nr   )r   
ValueError)self r   9/tmp/pip-unpacked-wheel-rko__zic/h11/tests/test_events.py	_validate   s    
z&test_event_bundle.<locals>.T._validateN)__name__
__module____qualname___fields	_defaultsr   r   r   r   r   T   s   r   r   r   r   r   zT(a=1, b=0)r   
   )r   )r   r   c)r   zkwarg a)r   Z_EventBundlereprAssertionErrorpytestraises	TypeErrorhashr   r   strr	   )r   texcr   r   r   test_event_bundle   s.    	
r    c               	   C   sr  t t tdddgdd} W 5 Q R X tdddgdd} | jdksHt| jdksVt| jd	gksft| jd
kstttddddgdd} | jd	dgkstt t tddddgdd} W 5 Q R X t t tddddgdd} W 5 Q R X t t tddddgdd} W 5 Q R X t	ddgd}|j
dks6t|jdgksHt|jdksXtt t t	ddgd W 5 Q R X tdg dd}|j
dkst|jg kst|jd
kstt t tdg dd}W 5 Q R X t t tdg dd W 5 Q R X t t t	dg dd W 5 Q R X tdd}|jdks@tt }|jg ksVtt }t|dksntd S )NGET/r   z1.1)methodtargetheadershttp_versionz1.0s   GET   /)   a   bs   1.0)ZhOStzexample.com)   hosts   example.com)Hostr   )ZFooz  asd d   )status_coder%   )r*   r(   s   1.1      )r-   r%   r&   Z100s   100s   asdf)datazConnectionClosed())r   r   r   Requestr#   r   r$   r%   r&   ZInformationalResponser-   ResponseDatar0   ZEndOfMessageZConnectionClosedr   )reqZirrespdZeomccr   r   r   test_events4   sp    

 
r8   )r   Z_utilr    r   r    r8   r   r   r   r   <module>   s
   -