o
    US`c                     @   s^   d dl Z ddlmZ ddlmZmZmZmZmZ ddl	m
Z
 dddZdd	d
ZdddZdS )    N   )Request)get_comma_headerhas_expect_100_continueHeadersnormalize_and_validateset_comma_header)LocalProtocolErrorreturnc                  C   s  t dgdgks
J t dgdgksJ tt t dg W d    n1 s)w   Y  tt t dg W d    n1 sCw   Y  tt} t dg W d    n1 s]w   Y  dt| jv skJ tt t dg W d    n1 sw   Y  tt t dg W d    n1 sw   Y  tt t d	g W d    n1 sw   Y  tt} t d
g W d    n1 sw   Y  dt| jv sJ tt t dg W d    n1 sw   Y  tt t dg W d    n	1 sw   Y  tt t dg W d    n	1 s'w   Y  tt t dg W d    n	1 sBw   Y  tt t dg W d    n	1 s]w   Y  tt t dg W d    n	1 sxw   Y  t dgdgksJ tt t dg W d    n	1 sw   Y  tt t dg W d    n	1 sw   Y  tt t ddg W d    n	1 sw   Y  t ddgdgksJ t dgdgksJ tt t g d W d    n	1 sw   Y  tt t dg W d    n	1 s#w   Y  t dgdgks3J t dgdgks>J tt} t dg W d    n	1 sTw   Y  | jjd ksbJ tt} t ddg W d    n	1 syw   Y  | jjd ksJ d S )!N)foobar)   foo   bar)s   foo r   )s    foor   )s   foo bar   bazzfoo bar)s   foo barr   )s   foobarr   )s   foobarr   )r   zbarbazzbar\rbaz)r   zbar
baz)r   zbar baz)r   zbarbaz  )r   z  barbaz)r   zbarbaz	)r   z	barbazContent-Length1)   content-length   1)r   Zasdf)r   Z1xr   2)r   0)r      0)r   z0 , 0)r   r   r   )r   z1 , 1,2)Transfer-Encodingchunked)s   transfer-encodings   chunked)r   ZcHuNkEd)r   gzipi  )r   pytestraisesr	   strvalueZerror_status_hint)excinfo r!   A/usr/local/lib/python3.10/dist-packages/h11/tests/test_headers.pytest_normalize_and_validate   s   
r#   c                  C   s   t g d} t| dg dksJ t| dddg} tt t| dddg W d    n1 s1w   Y  | g dks>J t| d	d
g} | g dksMJ d S )N))
Connectionclose)ZwhateverZ	something)Z
connectiONzfOo,, , BAR
   connection)   closer   r      newthingabz  a)r&   r'   )   whatevers	   somethingr&   s   fOo,, , BARr(      ar(      br,   zdifferent thing)r+   r-   r.   r0   )r,   s   different thing)r   r   r   r   r   r	   )headersr!   r!   r"   test_get_set_comma_header_   s   r3   c                   C   sl   t tddddgdsJ t tdddgdrJ t tddddgds&J t tddddgddr4J d S )	NGET/)Hostzexample.com)Expectz100-continue)methodtargetr2   )r7   z100-Continuez1.0)r8   r9   r2   http_version)r   r   r!   r!   r!   r"   test_has_100_continue   s2   r;   )r
   N)r   Z_eventsr   _headersr   r   r   r   r   Z_utilr	   r#   r3   r;   r!   r!   r!   r"   <module>   s    

Q#