
    R?g                         S SK r S SKrS SKrS SKrS SKrS SKrS SKJrJ	r	  S SK
Jr   " S S\R                  5      r " S S\R                  5      r " S S	\R                  5      rg)
    N)utf8
to_unicode)unicode_typec                   @    \ rS rSr/ SQrS rS rS rS rS r	S r
S	rg
)TranslationLoaderTest   )_translations_supported_locales_use_gettextc                 B    0 [         R                  R                  l        g N)tornadolocaleLocale_cache)selfs    :/usr/lib/python3/dist-packages/tornado/test/locale_test.pyclear_locale_cache(TranslationLoaderTest.clear_locale_cache   s    ')$    c                     0 U l         [        R                   H*  n[        [        R
                  U5      U R                   U'   M,     U R                  5         g r   )savedr   	SAVE_VARSgetattrr   r   r   )r   vars     r   setUpTranslationLoaderTest.setUp   s=    
(22C%gnnc:DJJsO 3!r   c                     U R                   R                  5        H  u  p[        [        R                  X5        M!     U R                  5         g r   )r   itemssetattrr   r   r   )r   kvs      r   tearDownTranslationLoaderTest.tearDown   s5    JJ$$&DAGNNA) '!r   c                    [         R                  R                  [        R                  R                  [        R                  R                  [        5      S5      5        [         R                  R                  S5      nU R                  [        U[         R                  R                  5      5        U R                  UR                  S5      S5        g )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_csvTranslationLoaderTest.test_csv   s    ((GGLL24FG	
 ##G,
67>>+C+CDE))(3\Br   c                    [        [        R                  R                  [        R                  R	                  [
        5      SS5      S5       n[        UR                  5       5      nS S S 5        S GH  n[        R                  " 5       n [        [        R                  R                  US5      S5       nUR                  WR                  U5      5        S S S 5        [        R                  R                  U5        [        R                  R                  S5      nU R!                  U[        R                  R"                  5        U R%                  UR'                  S5      S5        [(        R*                  " U5        GM     g ! , (       d  f       GN#= f! , (       d  f       N= f! [(        R*                  " U5        f = f)	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*   r0   assertIsInstancer3   r4   r5   shutilrmtree)r   f	char_dataencodingtmpdirr   s         r   test_csv_bom"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   F*F&5!FBF&
F
F#	F&&F>c                 P   [         R                  R                  [        R                  R                  [        R                  R                  [        5      S5      S5        [         R                  R                  S5      nU R                  [        U[         R                  R                  5      5        U R                  UR                  S5      S5        U R                  UR                  SS5      S5        U R                  UR                  S	S5      S
5        U R                  UR                  SSSS5      S5        U R                  UR                  SSSS5      S5        U R                  UR                  SSSS5      S5        U R                  UR                  SSSS5      S5        g )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/   r0   r1   r2   GettextLocaler4   r5   pgettextr6   s     r   test_gettext"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   )r   N)__name__
__module____qualname____firstlineno__r   r   r   r#   r7   rI   rZ   __static_attributes__ r   r   r   r      s'    GI*""
C&,Xr   r   c                       \ rS rSrS rSrg)LocaleDataTestN   c                     [         R                  R                  S   S   nU R                  [	        U[
        5      5        U R                  US5        U R                  [        U5      S5        g )Nes_LAnameu   Españols   Español)r   r   LOCALE_NAMESr1   r2   r   r4   r   )r   rg   s     r   test_non_ascii_name"LocaleDataTest.test_non_ascii_nameO   sS    ~~**73F;
467~.d%67r   ra   N)r\   r]   r^   r_   ri   r`   ra   r   r   rc   rc   N   s    8r   rc   c                   ,    \ rS rSrS rS rS rS rSrg)EnglishTestV   c                    [         R                  R                  S5      n[        R                  " SSSSS5      nU R	                  UR                  USS9S	5        [        R                  R                  [        R                  R                  5      nUR                  S S
9nX4S.R                  5        GH  u  pVU R                  US9   U R	                  UR                  U[        R                  " SS9-
  SS9S5        U R	                  UR                  U[        R                  " SS9-
  SS9S5        U R	                  UR                  U[        R                  " SS9-
  SS9S5        U R	                  UR                  U[        R                  " SS9-
  SSS9S5        U[        R                  " SS9-
  nU R	                  UR                  USSS9UR                  UR                  5          5        U[        R                  " SS9-
  nU R	                  UR                  USSS9SUR                  UR                   S-
     UR"                  4-  5        U[        R                  " SS9-
  nU R	                  UR                  USSS9SUR                  UR                   S-
     UR"                  UR$                  4-  5        S S S 5        GM     g ! , (       d  f       GM)  = f)Nen_US           #   T)full_formatzApril 28, 2013 at 6:35 pm)tzinfo)awarenaive)dtrU   )secondsFz2 seconds ago)minutesz2 minutes ago)hoursz2 hours agorT   )days)ru   shorter	yesterdayi,  z%s %di  z	%s %d, %d)r   r   r0   datetimer4   format_datenowtimezoneutcreplacer   subTest	timedelta	_weekdaysweekday_monthsmonthdayyear)r   r   dateaware_dtnaive_dtrg   r   s          r   test_format_dateEnglishTest.test_format_dateW   s   ##G,  q"b"5t68S	
 $$(():):)>)>?##4#0#+?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   G6K
K	c                     [         R                  R                  S5      nU R                  UR	                  S5      S5        g )Nro   i@B z	1,000,000)r   r   r0   r4   friendly_numberr6   s     r   test_friendly_number EnglishTest.test_friendly_number   s1    ##G,//8+Fr   c                 T   [         R                  R                  S5      nU R                  UR	                  / 5      S5        U R                  UR	                  S/5      S5        U R                  UR	                  SS/5      S5        U R                  UR	                  / SQ5      S5        g )Nro    ABzA and B)r   r   Cz
A, B and C)r   r   r0   r4   listr6   s     r   	test_listEnglishTest.test_list   s    ##G,R"-cU+S1c3Z0)<_5|Dr   c                     [         R                  R                  S5      n[        R                  " SSSSS5      nU R	                  UR                  USS9S	5        U R	                  UR                  US
S9S5        g )Nro   rp   rq   rr   rs   rt   T)r   dowzSunday, April 28FzApril 28)r   r   r0   r   r4   
format_day)r   r   r   s      r   test_format_dayEnglishTest.test_format_day   so    ##G,  q"b"5**$*?AST**%*@*Mr   ra   N)	r\   r]   r^   r_   r   r   r   r   r`   ra   r   r   rl   rl   V   s    7rGENr   rl   )r   r+   rC   r>   unittesttornado.localer   tornado.escaper   r   tornado.utilr   TestCaser   rc   rl   ra   r   r   <module>r      sZ     	     + %?XH-- ?XD8X&& 8IN(## INr   