ó
øĒTQc           @  s   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 d d	  d
 e	 f d     Y Z d S(   iĸĸĸĸ(   t   unicode_literals(   t   settings(   t   FlatpageForm(   t   FlatPage(   t   TestCase(   t   override_settings(   t   translationt   SITE_IDi   t   FlatpageAdminFormTestsc           B  s   e  Z d  g Z d   Z d   Z d   Z e d e d d  d    Z e d e	 d d  d    Z
 d	   Z d
   Z d   Z RS(   u   example_sitec         C  s(   i d d 6d d 6t  j g d 6|  _ d  S(   Nu   A test pageu   titleu   This is a testu   contentu   sites(   R   R   t	   form_data(   t   self(    (    s=   ../Django//lib/python/django/contrib/flatpages/tests/forms.pyt   setUp   s    c         C  s\  |  j  t d t d d |  j   j    |  j  t d t d d |  j   j    |  j  t d t d d |  j   j    |  j t d t d d |  j   j    |  j t d t d d |  j   j    |  j t d t d d |  j   j    |  j t d t d d	 |  j   j    |  j t d t d d
 |  j   j    d S(   u0   The flatpage admin form correctly validates urlst   datat   urlu   /new_flatpage/u   /some.special~chars/u   /some.very_special~chars-here/u	   /a space/u
   /a % char/u
   /a ! char/u
   /a & char/u
   /a ? char/N(   t
   assertTrueR   t   dictR	   t   is_validt   assertFalse(   R
   (    (    s=   ../Django//lib/python/django/contrib/flatpages/tests/forms.pyt'   test_flatpage_admin_form_url_validation   s    +++++++c         C  se   t  d t d d |  j   } t j d  2 |  j | j    |  j | j d d g  Wd  QXd  S(   NR   R   u   no_leading_slash/u   enu   urlu   URL is missing a leading slash.(	   R   R   R	   R   t   overrideR   R   t   assertEqualt   errors(   R
   t   form(    (    s=   ../Django//lib/python/django/contrib/flatpages/tests/forms.pyt$   test_flatpage_requires_leading_slash!   s    t   APPEND_SLASHt   MIDDLEWARE_CLASSESu)   django.middleware.common.CommonMiddlewarec         C  se   t  d t d d |  j   } t j d  2 |  j | j    |  j | j d d g  Wd  QXd  S(   NR   R   u   /no_trailing_slashu   enu   urlu    URL is missing a trailing slash.(	   R   R   R	   R   R   R   R   R   R   (   R
   R   (    (    s=   ../Django//lib/python/django/contrib/flatpages/tests/forms.pyt7   test_flatpage_requires_trailing_slash_with_append_slash'   s    c         C  s5   t  d t d d |  j   } |  j | j    d  S(   NR   R   u   /no_trailing_slash(   R   R   R	   R   R   (   R
   R   (    (    s=   ../Django//lib/python/django/contrib/flatpages/tests/forms.pytA   test_flatpage_doesnt_requires_trailing_slash_without_append_slash/   s    c         C  sk   t  d d |  j  } t d |  j   t d |  } |  j | j    |  j | j i d g d 6 d S(   uZ   The flatpage admin form correctly enforces url uniqueness among flatpages of the same siteR   u   /myflatpage1/R   uC   Flatpage with url /myflatpage1/ already exists for site example.comu   __all__N(   R   R	   R   t   saveR   R   R   R   (   R
   R   t   f(    (    s=   ../Django//lib/python/django/contrib/flatpages/tests/forms.pyt2   test_flatpage_admin_form_url_uniqueness_validation5   s    c         C  s   t  j j d d d d d d  } | j j t j  t d d |  j  } t	 d | d |  } |  j
 | j   | j  | j   } |  j | j d	  d
 S(   u   
        Existing flatpages can be edited in the admin form without triggering
        the url-uniqueness validation.

        R   u   /myflatpage1/t   titleu	   Some paget   contentu   The contentR   t   instanceu   A test pageN(   R   t   objectst   createt   sitest   addR   R   R   R	   R   R   R   R   R   R   R   (   R
   t   existingR   R   t   updated(    (    s=   ../Django//lib/python/django/contrib/flatpages/tests/forms.pyt   test_flatpage_admin_form_editC   s    c         C  su   t  d d |  j  } | j i d d 6 t d |  } |  j | j    |  j | j i t j	 d  g d 6 d  S(   NR   u   /myflatpage1/u    u   sitesR   u   This field is required.(
   R   R	   t   updateR   R   R   R   R   R   t   ugettext(   R
   R   R   (    (    s=   ../Django//lib/python/django/contrib/flatpages/tests/forms.pyt   test_flatpage_nositesW   s    (   u)   django.middleware.common.CommonMiddleware(   u)   django.middleware.common.CommonMiddleware(   t   __name__t
   __module__t   fixturesR   R   R   R   t   TrueR   t   FalseR   R   R(   R+   (    (    (    s=   ../Django//lib/python/django/contrib/flatpages/tests/forms.pyR   
   s   						N(   t
   __future__R    t   django.confR   t   django.contrib.flatpages.formsR   t   django.contrib.flatpages.modelsR   t   django.testR   t   django.test.utilsR   t   django.utilsR   R   (    (    (    s=   ../Django//lib/python/django/contrib/flatpages/tests/forms.pyt   <module>   s   