
    `N`
                         d Z ddlZddlZddlZddlZddlZej        d             Zej        	 	 	 	 	 	 	 	 	 dd            Zej        	 	 	 dd
            Z	dS )zUtilities for tests.    Nc              #   ~   K   t           j        }| t           _        	 d V  |t           _        d S # |t           _        w xY w)N)sysstdout)stream
old_stdouts     /lib/python3.11/site-packages/yapftests/utils.pystdout_redirectorr	      s@      z*#*	EEECJJJCJs   . <w+bFc	              #      K   t           j        dk     r|d}|d}t          j        ||||          \  }	}
t	          j        |	| ||||          }||
fV  |                                 t          j        |
           dS )z;Context manager creating a new temporary file in text mode.)      N tmp)suffixprefixdirtext)mode	bufferingencodingerrorsnewline)	r   version_infotempfilemkstempioopencloseosremove)r   r   r   r   r   r   r   dirnamer   fdfnamefs               r   NamedTempFiler&   ,   s       	~f~f Fd< < <+2ug  ! 	
5...''))))E    utf-8r   c              #      K   t          | d|||          5 \  }}|                    |           |                                 |V  d d d            d S # 1 swxY w Y   d S )Nw)r"   r   r   r   r   )r&   writeflush)r"   contentsr   r   r   r%   r$   s          r   TempFileContentsr.   J   s          
 #EGGHGGIII
KKK                 s   1AAA)	r
   r   NNNNNNF)r(   r   N)
__doc__
contextlibr   r    r   r   contextmanagerr	   r&   r.    r'   r   <module>r3      s          				 				 



    &    :  & 	     r'   