a
    Šxd\  ã                   @   s†   d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZm	Z	 d dl
mZ G dd„ dejƒZG dd„ dejƒZG dd	„ d	ejƒZdS )
é    N)Úutf8Ú
to_unicode)Úunicode_typec                   @   sD   e Zd Zg d¢Zdd„ Zdd„ Zdd„ Zdd	„ Zd
d„ Zdd„ Z	dS )ÚTranslationLoaderTest)Ú_translationsZ_supported_localesZ_use_gettextc                 C   s   i t jj_d S ©N)ÚtornadoÚlocaleZLocaleÚ_cache)Úself© r   úP/var/www/html/Ranjet/env/lib/python3.9/site-packages/tornado/test/locale_test.pyÚclear_locale_cache   s    z(TranslationLoaderTest.clear_locale_cachec                 C   s0   i | _ tjD ]}ttj|ƒ| j |< q|  ¡  d S r   )Úsavedr   Ú	SAVE_VARSÚgetattrr   r	   r   )r   Úvarr   r   r   ÚsetUp   s    
zTranslationLoaderTest.setUpc                 C   s.   | j  ¡ D ]\}}ttj||ƒ q
|  ¡  d S r   )r   ÚitemsÚsetattrr   r	   r   )r   ÚkÚvr   r   r   ÚtearDown   s    zTranslationLoaderTest.tearDownc                 C   sT   t j tj tj t¡d¡¡ t j d¡}|  	t
|t jjƒ¡ |  | d¡d¡ d S )NÚcsv_translationsÚfr_FRÚschoolõ   Ã©cole)r   r	   Úload_translationsÚosÚpathÚjoinÚdirnameÚ__file__ÚgetÚ
assertTrueÚ
isinstanceÚ	CSVLocaleÚassertEqualÚ	translate©r   r	   r   r   r   Útest_csv   s    ÿzTranslationLoaderTest.test_csvc              
   C   sú   t tj tj t¡dd¡dƒ}t| ¡ ƒ}W d   ƒ n1 s@0    Y  dD ]¦}t 	¡ }zŒt tj |d¡dƒ }| 
| |¡¡ W d   ƒ n1 s–0    Y  tj |¡ tj d¡}|  |tjj¡ |  | d¡d¡ W t |¡ qNt |¡ 0 qNd S )	Nr   z	fr_FR.csvÚrb)z	utf-8-sigzutf-16Úwbr   r   r   )Úopenr   r   r    r!   r"   r   ÚreadÚtempfileÚmkdtempÚwriteÚencoder   r	   r   r#   ZassertIsInstancer&   r'   r(   ÚshutilÚrmtree)r   ÚfZ	char_dataÚencodingZtmpdirr	   r   r   r   Útest_csv_bom&   s     þ*.z"TranslationLoaderTest.test_csv_bomc                 C   sÞ   t j tj tj t¡d¡d¡ t j d¡}|  	t
|t jjƒ¡ |  | d¡d¡ |  | dd¡d¡ |  | d	d¡d
¡ |  | dddd¡d¡ |  | dddd¡d¡ |  | dddd¡d¡ |  | dddd¡d¡ d S )NZgettext_translationsZtornado_testr   r   r   ZlawÚrightzle droitZgoodzle bienZorganizationZclubÚclubsé   zle clubé   z	les clubsZsticku	   le bÃ¢tonu   les bÃ¢tons)r   r	   Zload_gettext_translationsr   r   r    r!   r"   r#   r$   r%   ZGettextLocaler'   r(   Úpgettextr)   r   r   r   Útest_gettext<   s    þÿz"TranslationLoaderTest.test_gettextN)
Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r*   r7   r=   r   r   r   r   r      s   r   c                   @   s   e Zd Zdd„ ZdS )ÚLocaleDataTestc                 C   s@   t jjd d }|  t|tƒ¡ |  |d¡ |  t|ƒd¡ d S )NZes_LAÚnameu   EspaÃ±ols   EspaÃ±ol)r   r	   ZLOCALE_NAMESr$   r%   r   r'   r   )r   rB   r   r   r   Útest_non_ascii_nameO   s    z"LocaleDataTest.test_non_ascii_nameN)r>   r?   r@   rC   r   r   r   r   rA   N   s   rA   c                   @   s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
ÚEnglishTestc                 C   s~  t j d¡}t ddddd¡}|  |j|ddd	¡ tj ¡ }|  |j|tjd
d ddd¡ |  |j|tjd
d ddd¡ |  |j|tjd
d ddd¡ |  |j|tjdd dddd¡ |tjd
d }|  |j|ddd|j| 	¡  ¡ |tjdd }|  |j|dddd|j
|jd  |jf ¡ |tjdd }|  |j|dddd|j
|jd  |j|jf ¡ d S )NÚen_USéÝ  é   é   é   é#   T)Úfull_formatzApril 28, 2013 at 6:35 pmr;   )ÚsecondsFz2 seconds ago)Úminutesz2 minutes ago)Úhoursz2 hours agor:   )Údays)rK   ZshorterZ	yesterdayi,  z%s %diô  z	%s %d, %d)r   r	   r#   Údatetimer'   Zformat_dateÚutcnowÚ	timedeltaZ	_weekdaysÚweekdayÚ_monthsÚmonthÚdayÚyear)r   r	   ÚdateÚnowr   r   r   Útest_format_dateW   sN    ÿ
þþþÿüþþþzEnglishTest.test_format_datec                 C   s"   t j d¡}|  | d¡d¡ d S )NrE   i@B z	1,000,000)r   r	   r#   r'   Zfriendly_numberr)   r   r   r   Útest_friendly_number†   s    z EnglishTest.test_friendly_numberc                 C   sb   t j d¡}|  | g ¡d¡ |  | dg¡d¡ |  | ddg¡d¡ |  | g d¢¡d¡ d S )NrE   Ú ÚAÚBzA and B)r]   r^   ÚCz
A, B and C)r   r	   r#   r'   Úlistr)   r   r   r   Ú	test_listŠ   s
    zEnglishTest.test_listc                 C   sN   t j d¡}t ddddd¡}|  |j|ddd	¡ |  |j|d
dd¡ d S )NrE   rF   rG   rH   rI   rJ   T)rX   ZdowzSunday, April 28FzApril 28)r   r	   r#   rP   r'   Z
format_day)r   r	   rX   r   r   r   Útest_format_day‘   s    zEnglishTest.test_format_dayN)r>   r?   r@   rZ   r[   ra   rb   r   r   r   r   rD   V   s   /rD   )rP   r   r3   r/   ZunittestZtornado.localer   Ztornado.escaper   r   Ztornado.utilr   ZTestCaser   rA   rD   r   r   r   r   Ú<module>   s   B