a
    6RhU                     @   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   sB   t  }t| dd}|| W d    n1 s40    Y  |S )Nutf-8encoding)configparserConfigParseropen	read_file)filenameparserreader r   R/opt/python-3.9.24/usr/lib/python3.9/site-packages/setuptools/tests/test_setopt.pyparse_config   s    (zTestEdit.parse_configc                 C   s>   t | d }||d W d    n1 s00    Y  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sXJ |dd	dkslJ 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)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|v sNJ d	|v sZJ 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_text)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   