3
Nd                 @   s>   d dl Z d dlZd dlmZmZ edZG dd dejZdS )    N)clean_filenameclean_timestampz&-0123456789_abcdefghijklmnopqrstuvwxyzc               @   sD   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dS )TestCleanStringsc             C   sV   dddddg}xB|D ]:}| j t t|d}W d Q R X | j| | j|d qW d S )Nz!!!  z	/
z^!+zdefault-output)assertWarnsDeprecationWarningr   check_outputassertEqual)selftest_stringstest_stringsafe_string r   X/var/www/html/virt/lib64/python3.6/site-packages/traits/util/tests/test_clean_strings.pytest_clean_filename_default   s    

z,TestCleanStrings.test_clean_filename_defaultc          &   C   s   | j t | jtdd W d Q R X | j t | jtdd W d Q R X | j t | jtdd W d Q R X | j t | jtdd W d Q R X | j t | jtdd W d Q R X d S )Nz abc abcz 		abc    
z	well namez	well-namezwell 
 namezwell - name)r   r   r
   r   )r   r   r   r   'test_clean_filename_whitespace_handling#   s    z8TestCleanStrings.test_clean_filename_whitespace_handlingc          
   C   s@   d}| j t t|}W d Q R X | j||j  | j| d S )NZABCdefGHI123)r   r   r   r
   lowerr	   )r   r   r   r   r   r   +test_clean_filename_conversion_to_lowercase2   s
    z<TestCleanStrings.test_clean_filename_conversion_to_lowercasec             C   sN   ddg}x@|D ]8}| j t t|}W d Q R X | j| | j|d qW d S )Nu	   äbçdèfu   äbçdèfZabcdef)r   r   r   r	   r
   )r   r   r   r   r   r   r   "test_clean_filename_accented_chars9   s    

z3TestCleanStrings.test_clean_filename_accented_charsc          
   C   s   dj dd tdD dj dd tdD d dj dd ttdD g}x4|D ],}| jt t|}W d Q R X | j| qTW d S )Nr   c             s   s   | ]}t |V  qd S )N)chr).0nr   r   r   	<genexpr>F   s    zATestCleanStrings.test_clean_filename_all_chars.<locals>.<genexpr>i'  c             s   s   | ]}t |V  qd S )N)r   )r   r   r   r   r   r   G   s       c             s   s   | ]}t |V  qd S )N)r   )r   r   r   r   r   r   H   s    )joinrangereversedr   r   r   r	   )r   r   r   r   r   r   r   test_clean_filename_all_charsD   s    
z.TestCleanStrings.test_clean_filename_all_charsc          	   C   s(   | j t ttjj  W d Q R X d S )N)r   r   r   datetimenow)r   r   r   r    test_clean_timestamp_deprecationO   s    z1TestCleanStrings.test_clean_timestamp_deprecationc             C   s$   | j |t t|}| j|t dS )zG
        Check that a supposedly safe string is actually safe.
        N)ZassertIsInstancestrsetZassertLessEqualLEGAL_CHARS)r   r   Zchars_in_stringr   r   r   r	   S   s    zTestCleanStrings.check_outputN)
__name__
__module____qualname__r   r   r   r   r   r"   r	   r   r   r   r   r      s   r   )	r    ZunittestZtraits.util.clean_stringsr   r   r$   r%   ZTestCaser   r   r   r   r   <module>   s   