
    g                         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ej                        Z G d dej                        Z G d d	ej                        Zy)
    N)utf8
to_unicode)unicode_typec                   8    e Zd Zg dZd Zd Zd Zd Zd Zd Z	y)	TranslationLoaderTest)_translations_supported_locales_use_gettextc                 B    i t         j                  j                  _        y N)tornadolocaleLocale_cache)selfs    M/var/www/openai/venv/lib/python3.12/site-packages/tornado/test/locale_test.pyclear_locale_cachez(TranslationLoaderTest.clear_locale_cache   s    ')$    c                     i | _         t        j                  D ])  }t        t        j
                  |      | j                   |<   + | j                          y r   )savedr   	SAVE_VARSgetattrr   r   r   )r   vars     r   setUpzTranslationLoaderTest.setUp   s=    
(22C%gnnc:DJJsO 3!r   c                     | j                   j                         D ]   \  }}t        t        j                  ||       " | j                          y r   )r   itemssetattrr   r   r   )r   kvs      r   tearDownzTranslationLoaderTest.tearDown   s9    JJ$$&DAqGNNAq) '!r   c                    t         j                  j                  t        j                  j                  t        j                  j                  t              d             t         j                  j                  d      }| j                  t        |t         j                  j                               | j                  |j                  d      d       y )Ncsv_translationsfr_FRschool   école)r   r   load_translationsospathjoindirname__file__get
assertTrue
isinstance	CSVLocaleassertEqual	translater   r   s     r   test_csvzTranslationLoaderTest.test_csv   s    ((GGLL24FG	
 ##G,
67>>+C+CDE))(3\Br   c                 d   t        t        j                  j                  t        j                  j	                  t
              dd      d      5 }t        |j                               }d d d        dD ]	  }t        j                         }	 t        t        j                  j                  |d      d      5 }|j                  j                  |             d d d        t        j                  j                  |       t        j                  j                  d      }| j!                  |t        j                  j"                         | j%                  |j'                  d      d       t)        j*                  |        y # 1 sw Y   xY w# 1 sw Y   xY w# t)        j*                  |       w xY w)	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,   assertIsInstancer/   r0   r1   shutilrmtree)r   f	char_dataencodingtmpdirr   s         r   test_csv_bomz"TranslationLoaderTest.test_csv_bom&   s+   GGLL24FT
 "1668,I	
 0H%%'F&"'',,v{;TBaGGI,,X67 C008 ++G4%%fgnn.F.FG  !1!1(!;\Jf% 0
 
 CB f%s1   E?
*F4!FBF?F	F	FF/c                 P   t         j                  j                  t        j                  j                  t        j                  j                  t              d      d       t         j                  j                  d      }| j                  t        |t         j                  j                               | j                  |j                  d      d       | j                  |j                  dd      d       | j                  |j                  d	d      d
       | j                  |j                  dddd      d       | j                  |j                  dddd      d       | j                  |j                  dddd      d       | j                  |j                  dddd      d       y )Ngettext_translationstornado_testr#   r$   r%   lawrightzle droitgoodzle bienorganizationclubclubs   zle club   z	les clubssticku	   le bâtonu   les bâtons)r   r   load_gettext_translationsr'   r(   r)   r*   r+   r,   r-   r.   GettextLocaler0   r1   pgettextr2   s     r   test_gettextz"TranslationLoaderTest.test_gettext<   s<   00GGLL24JK	
 ##G,
67>>+G+GHI))(3\B8*E99E!LiXOONFGQ?	
 	&'1E}U&'1EWr   N)
__name__
__module____qualname__r   r   r   r    r3   rD   rT    r   r   r   r      s'    GI*""
C&,Xr   r   c                       e Zd Zd Zy)LocaleDataTestc                     t         j                  j                  d   d   }| j                  t	        |t
                     | j                  |d       | j                  t        |      d       y )Nes_LAnameu   Españols   Español)r   r   LOCALE_NAMESr-   r.   r   r0   r   )r   r]   s     r   test_non_ascii_namez"LocaleDataTest.test_non_ascii_nameO   sS    ~~**73F;
467~.d%67r   N)rU   rV   rW   r_   rX   r   r   rZ   rZ   N   s    8r   rZ   c                   $    e Zd Zd Zd Zd Zd Zy)EnglishTestc           
         t         j                  j                  d      }t        j                  ddddd      }| j	                  |j                  |d      d	       t        j                  j                  t        j                  j                        }|j                  d 
      }||dj                         D ]9  \  }}| j                  |      5  | j	                  |j                  |t        j                  d      z
  d      d       | j	                  |j                  |t        j                  d      z
  d      d       | j	                  |j                  |t        j                  d      z
  d      d       | j	                  |j                  |t        j                  d      z
  dd      d       |t        j                  d      z
  }| j	                  |j                  |dd      |j                  |j                                   |t        j                  d      z
  }| j	                  |j                  |dd      d|j                  |j                   dz
     |j"                  fz         |t        j                  d      z
  }| j	                  |j                  |dd      d|j                  |j                   dz
     |j"                  |j$                  fz         d d d        < y # 1 sw Y   HxY w)Nen_US           #   T)full_formatzApril 28, 2013 at 6:35 pm)tzinfo)awarenaive)dtrO   )secondsFz2 seconds ago)minutesz2 minutes ago)hoursz2 hours agorN   )days)ri   shorter	yesterdayi,  z%s %di  z	%s %d, %d)r   r   r,   datetimer0   format_datenowtimezoneutcreplacer   subTest	timedelta	_weekdaysweekday_monthsmonthdayyear)r   r   dateaware_dtnaive_dtr]   rv   s          r   test_format_datezEnglishTest.test_format_dateW   s   ##G,  q"b"5t68S	
 $$(():):)>)>?##4#0#+h?EEGID#&  &&h00;; '  $	   &&h00;; '  $	   &&h00q99u '  "	   &&h00a88$) $ ' 
   X//Q77  &&t&M$$T\\^4
 X//S99  &&t&Mv~~djj1n=txxHH
 X//S99  &&t&M6>>$**q.#A488TYY"WWU '& H&&s   HK66L 	c                     t         j                  j                  d      }| j                  |j	                  d      d       y )Nrc   i@B z	1,000,000)r   r   r,   r0   friendly_numberr2   s     r   test_friendly_numberz EnglishTest.test_friendly_number   s1    ##G,//8+Fr   c                 T   t         j                  j                  d      }| j                  |j	                  g       d       | j                  |j	                  dg      d       | j                  |j	                  ddg      d       | j                  |j	                  g d      d       y )Nrc    ABzA and B)r   r   Cz
A, B and C)r   r   r,   r0   listr2   s     r   	test_listzEnglishTest.test_list   s    ##G,R"-cU+S1c3Z0)<_5|Dr   c                     t         j                  j                  d      }t        j                  ddddd      }| j	                  |j                  |d      d	       | j	                  |j                  |d
      d       y )Nrc   rd   re   rf   rg   rh   T)r   dowzSunday, April 28FzApril 28)r   r   r,   rt   r0   
format_day)r   r   r   s      r   test_format_dayzEnglishTest.test_format_day   so    ##G,  q"b"5**$*?AST**%*@*Mr   N)rU   rV   rW   r   r   r   r   rX   r   r   ra   ra   V   s    7rGENr   ra   )rt   r'   r>   r9   unittesttornado.localer   tornado.escaper   r   tornado.utilr   TestCaser   rZ   ra   rX   r   r   <module>r      sZ     	     + %?XH-- ?XD8X&& 8IN(## INr   