ó
ø¢TQc           @  sP  d  d l  m Z d  d l Z y d  d l Z Wn e k
 rE d Z n Xd  d l m Z d  d l m	 Z	 d  d l
 m Z m Z m Z d  d l m Z d  d l m Z d  d l m Z d  d	 l m Z d  d
 l m Z d  d l m Z d  d l m Z d  d l m Z e j d d d d d ƒ Z d e j f d „  ƒ  YZ d e f d „  ƒ  YZ  d S(   iÿÿÿÿ(   t   unicode_literalsN(   t   settings(   t   humanize(   t   Templatet   Contextt   defaultfilters(   t   TestCase(   t   override_settings(   t   escape(   t   utc(   t   translation(   t   ugettext(   t   tzinfo(   t   skipIfiÜ  i   i	   i   i   t   MockDateTimec           B  s   e  Z e d d  „ ƒ Z RS(   c         C  sF   | d  k s! | j t ƒ d  k r% t St j d | ƒ | j t ƒ Sd  S(   NR   (   t   Nonet	   utcoffsett   nowt   replace(   t   selft   tz(    (    s6   ../Django//lib/python/django/contrib/humanize/tests.pyR      s    !N(   t   __name__t
   __module__t   classmethodR   R   (    (    (    s6   ../Django//lib/python/django/contrib/humanize/tests.pyR      s   t   HumanizeTestsc           B  s¡   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z e e j d k o„ e d k d ƒ d „  ƒ Z d „  Z RS(   c      	   C  s{   xt t  | | ƒ D]c \ } } t d | ƒ } | j t t ƒ  ƒ ƒ j ƒ  } |  j | t | ƒ d d | | | f ƒq Wd  S(   Nu*   {%% load humanize %%}{{ test_content|%s }}t   msgu6   %s test failed, produced '%s', should've produced '%s'(   t   zipR   t   renderR   t   localst   stript   assertEqualR   (   R   t	   test_listt   result_listt   methodt   test_contentt   resultt   tt   rendered(    (    s6   ../Django//lib/python/django/contrib/humanize/tests.pyt   humanize_tester(   s
    c         C  s#   d } d } |  j | | d ƒ d  S(   Nu   1u   2u   3u   4u   11u   12u   13u   101u   102u   103u   111u   something elseu   1stu   2ndu   3rdu   4thu   11thu   12thu   13thu   101stu   102ndu   103rdu   111thu   ordinal(   u   1u   2u   3u   4u   11u   12u   13u   101u   102u   103u   111u   something elseN(   u   1stu   2ndu   3rdu   4thu   11thu   12thu   13thu   101stu   102ndu   103rdu   111thu   something elseN(   R   R&   (   R   R   R    (    (    s6   ../Django//lib/python/django/contrib/humanize/tests.pyt   test_ordinal1   s        c         C  s#   d } d } |  j | | d ƒ d  S(   Nid   iè  i‹'  iG(  i@B g   @‡Ö2Au   100u   1000u   10123u   10311u   1000000u   1234567.1234567u   1,000u   10,123u   10,311u	   1,000,000u   1,234,567.25u   1,234,567.1234567u   intcomma(   id   iè  i‹'  iG(  i@B g   @‡Ö2Au   100u   1000u   10123u   10311u   1000000u   1234567.1234567N(   u   100u   1,000u   10,123u   10,311u	   1,000,000u   1,234,567.25u   100u   1,000u   10,123u   10,311u	   1,000,000u   1,234,567.1234567N(   R   R&   (   R   R   R    (    (    s6   ../Django//lib/python/django/contrib/humanize/tests.pyt   test_intcomma;   s        c         C  sB   d } d } |  j d t d t ƒ  |  j | | d ƒ Wd  QXd  S(   Nid   iè  i‹'  iG(  i@B g   @‡Ö2Au   100u   1000u   10123u   10311u   1000000u   1234567.1234567u   1,000u   10,123u   10,311u	   1,000,000u   1,234,567.25u   1,234,567.1234567t   USE_L10Nt   USE_THOUSAND_SEPARATORu   intcomma(   id   iè  i‹'  iG(  i@B g   @‡Ö2Au   100u   1000u   10123u   10311u   1000000u   1234567.1234567N(   u   100u   1,000u   10,123u   10,311u	   1,000,000u   1,234,567.25u   100u   1,000u   10,123u   10,311u	   1,000,000u   1,234,567.1234567N(   R   R   t   Truet   FalseR&   (   R   R   R    (    (    s6   ../Django//lib/python/django/contrib/humanize/tests.pyt   test_l10n_intcommaE   s        c         C  sL   t  j d ƒ 7 |  j d t ƒ  |  j d g d g d ƒ Wd  QXWd  QXd  S(   Nu   jaR)   id   u   100u   intcomma(   R
   t   overrideR   R+   R&   (   R   (    (    s6   ../Django//lib/python/django/contrib/humanize/tests.pyt%   test_intcomma_without_number_groupingP   s    c         C  s#   d } d } |  j | | d ƒ d  S(   Nu   100u   1000000u   1200000u   1290000u
   1000000000u
   2000000000u   6000000000000u   1300000000000000u   3500000000000000000000u"   8100000000000000000000000000000000u   1.0 millionu   1.2 millionu   1.3 millionu   1.0 billionu   2.0 billionu   6.0 trillionu   1.3 quadrillionu   3.5 sextillionu   8.1 decillionu   intword(   u   100u   1000000u   1200000u   1290000u
   1000000000u
   2000000000u   6000000000000u   1300000000000000u   3500000000000000000000u"   8100000000000000000000000000000000N(   u   100u   1.0 millionu   1.2 millionu   1.3 millionu   1.0 billionu   2.0 billionu   6.0 trillionu   1.3 quadrillionu   3.5 sextillionu   8.1 decillionN(   R   R&   (   R   R   R    (    (    s6   ../Django//lib/python/django/contrib/humanize/tests.pyt   test_intwordV   s          c         C  sX   d } d } |  j d t d t ƒ . t j d ƒ  |  j | | d ƒ Wd  QXWd  QXd  S(   Nid   iè  i‹'  iG(  i@B g   @‡Ö2Au   100u   1000u   10123u   10311u   1000000u   1.000u   10.123u   10.311u	   1.000.000u   1.234.567,25R)   R*   u   deu   intcomma(   id   iè  i‹'  iG(  i@B g   @‡Ö2Au   100u   1000u   10123u   10311u   1000000N(   u   100u   1.000u   10.123u   10.311u	   1.000.000u   1.234.567,25u   100u   1.000u   10.123u   10.311u	   1.000.000N(   R   R   R+   R
   R.   R&   (   R   R   R    (    (    s6   ../Django//lib/python/django/contrib/humanize/tests.pyt   test_i18n_intcommaa   s      c         C  sX   d } d } |  j  d t d t ƒ . t j d ƒ  |  j | | d ƒ Wd  QXWd  QXd  S(   Nu   100u   1000000u   1200000u   1290000u
   1000000000u
   2000000000u   6000000000000u   1,0 Millionu   1,2 Millionenu   1,3 Millionenu   1,0 Milliardeu   2,0 Milliardenu   6,0 BillionenR)   R*   u   deu   intword(   u   100u   1000000u   1200000u   1290000u
   1000000000u
   2000000000u   6000000000000(   u   100u   1,0 Millionu   1,2 Millionenu   1,3 Millionenu   1,0 Milliardeu   2,0 Milliardenu   6,0 Billionen(   R   R+   R
   R.   R&   (   R   R   R    (    (    s6   ../Django//lib/python/django/contrib/humanize/tests.pyt   test_i18n_intwordj   s      c         C  sR   g  t  d d ƒ D] } t | ƒ ^ q } | j d  ƒ d } |  j | | d ƒ d  S(   Ni   i   u   oneu   twou   threeu   fouru   fiveu   sixu   sevenu   eightu   nineu   10u   apnumber(   u   oneu   twou   threeu   fouru   fiveu   sixu   sevenu   eightu   nineu   10N(   t   ranget   strt   appendR   R&   (   R   t   xR   R    (    (    s6   ../Django//lib/python/django/contrib/humanize/tests.pyt   test_apnumbers   s
    ( c   	      C  s¿   t  j j ƒ  } | t  j d d ƒ } | t  j d d ƒ } | t  j d d ƒ } d } | | | | | d  f } t j | ƒ } t d ƒ t d ƒ t d ƒ | d d  f } |  j | | d ƒ d  S(	   Nt   daysi   i
   u   I'm not a date valueu   todayu	   yesterdayu   tomorrowu
   naturalday(   t   datetimet   datet   todayt	   timedeltaR   R   t   _R&   (	   R   R;   t	   yesterdayt   tomorrowt   somedayt   notdateR   t   someday_resultR    (    (    s6   ../Django//lib/python/django/contrib/humanize/tests.pyt   test_naturalday{   s    c         C  s¿   t  j j ƒ  } t j t  j d d ƒ ƒ } t j t  j d d ƒ ƒ } t  j  | j | j | j d | ƒ} t	 j
 | ƒ } t  j  | j | j | j d | ƒ} t	 j
 | ƒ } |  j | | ƒ d  S(   Nt   hoursiôÿÿÿi   R   (   R9   R:   R;   R   t   FixedOffsetR<   t   yeart   montht   dayR   t
   naturaldayt   assertNotEqual(   R   R;   t   tz_onet   tz_twot   date_onet   naturalday_onet   date_twot   naturalday_two(    (    s6   ../Django//lib/python/django/contrib/humanize/tests.pyt   test_naturalday_tzˆ   s    $$u   America/Chicagou;   this test requires pytz when a non-default time zone is setc         C  s~   t  j  d d d d d d t ƒ} t j  t } t _  z9 t d d d	 t ƒ  |  j | g d
 g d ƒ Wd  QXWd  | t _  Xd  S(   NiÜ  i   i	   i   i   R   t	   TIME_ZONEu   America/Chicagot   USE_TZu	   yesterdayu
   naturalday(   R9   R	   R   R   R   R+   R&   (   R   t   dtt   orig_humanize_datetime(    (    s6   ../Django//lib/python/django/contrib/humanize/tests.pyt   test_naturalday_uses_localtime—   s    !#c         C  s™  d t  j f d „  ƒ  Y} t t t  j d d ƒ t t  j d d ƒ t t  j d d d d ƒ t t  j d d ƒ t t  j d d d d d d ƒ t t  j d d	 d d
 d d
 ƒ t t  j d d ƒ t t  j d d ƒ t t  j d d ƒ t t  j d d ƒ t t  j d d d d ƒ t t  j d d ƒ t t  j d d d d d d ƒ t t  j d d	 d d
 d d
 ƒ t t  j d d ƒ t t  j d d d d ƒ t t  j d d ƒ t j d | ƒ  ƒ t j d t ƒ g } d d d d d d d d d d d d d d d d d d  d d g } | } | d! d k s't ‚ | d! d" k t j  t } t _  z@ |  j	 | | d# ƒ t
 d$ t ƒ  |  j	 | | d# ƒ Wd  QXWd  | t _  Xd  S(%   Nt   naivec           B  s   e  Z d  „  Z RS(   c         S  s   d  S(   N(   R   (   R   RT   (    (    s6   ../Django//lib/python/django/contrib/humanize/tests.pyR   §   s    (   R   R   R   (    (    (    s6   ../Django//lib/python/django/contrib/humanize/tests.pyRW   ¦   s   t   secondsi   i   t   minutesi   RD   i   i2   R8   iô  i   R   u   nowu   a second agou   30 seconds agou   a minute agou   2 minutes agou   an hour agou   23 hours agou	   1 day agou   1 year, 4 months agou   a second from nowu   30 seconds from nowu   a minute from nowu   2 minutes from nowu   an hour from nowu   23 hours from nowu   1 day from nowu   2 days, 6 hours from nowu   1 year, 4 months from nowiüÿÿÿu   2 days, 5 hours from nowu   naturaltimeRS   (   R9   R   R   R<   R   R	   t   AssertionErrorR   R   R&   R   R+   (   R   RW   R   R    t   result_list_with_tz_supportRU   (    (    s6   ../Django//lib/python/django/contrib/humanize/tests.pyt   test_naturaltime¥   sd    	N(   R   R   R&   R'   R(   R-   R/   R0   R1   R2   R7   RC   RQ   R   R   RR   t   pytzR   RV   R\   (    (    (    s6   ../Django//lib/python/django/contrib/humanize/tests.pyR   &   s   			
	
										(!   t
   __future__R    R9   R]   t   ImportErrorR   t   django.confR   t$   django.contrib.humanize.templatetagsR   t   django.templateR   R   R   t   django.testR   t   django.test.utilsR   t   django.utils.htmlR   t   django.utils.timezoneR	   t   django.utilsR
   t   django.utils.translationR   R=   R   t   django.utils.unittestR   R   R   R   (    (    (    s6   ../Django//lib/python/django/contrib/humanize/tests.pyt   <module>   s&   

