U
    uiU                     @   s&   d dl Z d dlmZ G dd dZdS )    N)setoptc                   @   s4   e Zd Zedd Zedd Zdd Zdd Zd	S )
TestEditc              	   C   s.   t  }t| dd}|| W 5 Q R X |S )Nutf-8encoding)configparserConfigParseropen	read_file)filenameparserreader r   @/tmp/pip-unpacked-wheel-9osl9suo/setuptools/tests/test_setopt.pyparse_config   s    zTestEdit.parse_configc              	   C   s*   t | d}||d W 5 Q R X d S )Nwbr   )r	   writeencode)filecontentstrmr   r   r   
write_text   s    zTestEdit.write_textc                 C   sp   | d}| t|d tt|ttddd | t|}|dddksXt|dd	dksltd
S )zh
        When editing a file, non-ASCII characters encoded in
        UTF-8 should be retained.
        	setup.cfgu   [names]
jaraco=джаракоyes)othernamesr   Zjaracou   джаракоr   N)	joinr   strr   edit_configdictr   getAssertionError)selftmpdirconfigr   r   r   r   test_utf8_encoding_retained   s    
z$TestEdit.test_utf8_encoding_retainedc                 C   s^   | d}| t|d tt|ttddd |jdd}d|ksNtd	|ksZtd
S )zG
        When editing a file, case of keys should be retained.
        r   z[names]
FoO=bArr   )oTherr   asciir   ZFoOr'   N)r   r   r   r   r   r    	read_textr"   )r#   r$   r%   actualr   r   r   test_case_retained   s    
zTestEdit.test_case_retainedN)__name__
__module____qualname__staticmethodr   r   r&   r+   r   r   r   r   r      s   

r   )r   Zsetuptools.commandr   r   r   r   r   r   <module>   s   