U
    œËúgþ  ã                   @  sb   U d dl mZ d dlZddlmZ e d¡Zded< ddœd	d
„Zddœdd„Z	ddœdd„Z
dS )é    )ÚannotationsNé   )Ú_coreÚtrio_testing_contextvarzcontextvars.ContextVar[str]ÚNone©Úreturnc               
   ƒ  s^   t  d¡ g ‰ ddœ‡ fdd„} t ¡ 4 I d H š}| | ¡ W 5 Q I d H R X ˆ dgksZt‚d S )NÚmainr   r   c                  “  s   t  ¡ } ˆ  | ¡ d S ©N©r   ÚgetÚappend©Úvalue©Úrecord© ú@/tmp/pip-unpacked-wheel-ks04xdmi/trio/_tests/test_contextvars.pyÚchild   s    z'test_contextvars_default.<locals>.child)r   Úsetr   Úopen_nurseryÚ
start_soonÚAssertionError)r   Únurseryr   r   r   Útest_contextvars_default   s    
r   c               
   ƒ  sr   t  d¡ g ‰ ddœ‡ fdd„} t ¡ 4 I d H š}| | ¡ W 5 Q I d H R X t  ¡ }ˆ dgksbt‚|dksnt‚d S )Nr	   r   r   c                  “  s    t  d¡ t  ¡ } ˆ  | ¡ d S )Nr   )r   r   r   r   r   r   r   r   r      s    
z#test_contextvars_set.<locals>.childr   )r   r   r   r   r   r   r   )r   r   r   r   r   r   Útest_contextvars_set   s    
r   c               
   ƒ  s˜   t  d¡ t ¡ } t  d¡ g ‰ ddœ‡ fdd„}t ¡ 4 I d H š}|  |j|¡ | |¡ W 5 Q I d H R X t  ¡ }tˆ ƒddhksˆt	‚|dks”t	‚d S )Nr	   Zsecond_mainr   r   c                  “  s   t  ¡ } ˆ  | ¡ d S r
   r   r   r   r   r   r   /   s    z$test_contextvars_copy.<locals>.child)
r   r   ÚcontextvarsZcopy_contextr   r   Úrunr   r   r   )Úcontextr   r   r   r   r   r   Útest_contextvars_copy)   s    

r   )Ú
__future__r   r   Ú r   Z
ContextVarr   Ú__annotations__r   r   r   r   r   r   r   Ú<module>   s    ÿ