
s7Mc           @   s  d  d k  Z  d  d k Z d  d k l Z l Z d  d k l Z l Z d  d k l	 Z	 d  d k
 l Z d  d k l Z d  d k l Z d  d k l Z d  d	 k l Z l Z l Z l Z l Z d  d
 k l Z d  d k l Z d  d k l Z d  d k l  Z  l! Z! d  d k" l# Z# l$ Z% d  d k& l' Z' d  d k( l) Z) d d d d d d f Z* y e+ Wn# e, j
 o d  d k- l+ Z+ n Xd   Z. d   Z/ d   Z0 e i1 Z2 e i3 Z4 e i5 Z6 e i7 Z8 e i9 Z: d   Z; d   Z< d   Z= d e i> f d     YZ> d e i? f d     YZ? d  e@ f d!     YZA d e% iB f d"     YZC d#   ZD d eC f d$     YZB d%   ZE d&   ZF d'   ZG d S((   iN(   t   urlsplitt
   urlunsplit(   t   parseStringt   Node(   t   settings(   t   mail(   t   call_command(   t   request_started(   t   clear_url_caches(   t   transactiont
   connectiont   connectionst   DEFAULT_DB_ALIASt   reset_queries(   t	   QueryDict(   t   _doctest(   t   Client(   t   get_warnings_statet   restore_warnings_state(   t
   simplejsont   unittest(   t	   smart_str(   t   wrapst   DocTestRunnert   OutputCheckert   TestCaset   TransactionTestCaset   skipIfDBFeaturet   skipUnlessDBFeature(   t   allc         C   s   t  i d  d |   S(   s   (?<![\w])(\d+)L(?![\w])s   \1(   t   ret   sub(   t   s(    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyt   <lambda>   s    c         C   s   t  i d  d   |   S(   s   Decimal\('(\d+(\.\d*)?)'\)c         S   s   d  |  i    d S(   s   Decimal("%s")i    (   t   groups(   t   m(    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyR!      s    (   R   R   (   R    (    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyR!      s    c         C   s8   |  d j o
 g  }  n t |  t  p |  g }  n |  S(   se   
    Puts value into a list if it's not already one.
    Returns an empty list if value is None.
    N(   t   Nonet
   isinstancet   list(   t   value(    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyt   to_list"   s
    
c          O   s   d  S(   N(    (   t   argst   kwargs(    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyt   nop3   s    c           C   s1   t  t _ t  t _ t  t _ t  t _ t  t _ d  S(   N(   R+   R	   t   committ   rollbackt   enter_transaction_managementt   leave_transaction_managementt   managed(    (    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyt   disable_transaction_methods6   s
    				c           C   s1   t  t _ t t _ t t _ t t _ t	 t _
 d  S(   N(   t   real_commitR	   R,   t   real_rollbackR-   t!   real_enter_transaction_managementR.   t!   real_leave_transaction_managementR/   t   real_managedR0   (    (    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyt   restore_transaction_methods=   s
    				c           B   s>   e  Z d    Z d   Z d   Z d   Z d   Z d   Z RS(   c         C   sK   |  i  |  i |  i |  i f } x& | D] } | | | |  o t Sq% Wt S(   sT   The entry method for doctest output checking. Defers to a sequence of child checkers(   t   check_output_defaultt   check_output_numerict   check_output_xmlt   check_output_jsont   Truet   False(   t   selft   wantt   gott   optionflagst   checkst   check(    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyt   check_outputE   s     	c         C   s   t  i i |  | | |  S(   sT   The default comparator provided by doctest - not perfect, but good for most purposes(   t   doctestR   RD   (   R>   R?   R@   RA   (    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyR8   P   s    c         C   s1   t  i i |  t t |   t t |   |  S(   sX  Doctest does an exact string comparison of output, which means that
        some numerically equivalent values aren't equal. This check normalizes
         * long integers (22L) so that they equal normal integers. (22)
         * Decimals so that they are comparable, regardless of the change
           made to __repr__ in Python 2.6.
        (   RE   R   RD   t   normalize_decimalst   normalize_long_ints(   R>   R?   R@   RA   (    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyR9   T   s    c      	      s  t  i d    f d    d    d      f d    d          f d    |  i | |  \ } } | i d d	  } | i d d	  } | i d
  p d } | | } | | } n y" t |  i } t |  i } Wn t SX | |  S(   s
  Tries to do a 'xml-comparision' of want and got.  Plain string
        comparision doesn't always work because, for example, attribute
        ordering should not be important.

        Based on http://codespeak.net/svn/lxml/trunk/src/lxml/doctestcompare.py
        s   [ \t\n][ \t\n]+c            s     i  d |   S(   Nt    (   R   (   t   v(   t   _norm_whitespace_re(    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyt   norm_whitespaceh   s    c         S   sE   d i  g  } |  i D]' } | i t i j o | | i q q ~  S(   Nt    (   t   joint
   childNodest   nodeTypeR   t	   TEXT_NODEt   data(   t   elementt   _[1]t   c(    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyt
   child_textk   s    c         S   s9   g  } |  i  D]$ } | i t i j o | | q q ~ S(   N(   RN   RO   R   t   ELEMENT_NODE(   RR   RS   RT   (    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyt   childreno   s    c            s      |    S(   N(    (   RR   (   RK   RU   (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyt   norm_child_texts   s    c         S   s   t  |  i i    S(   N(   t   dictt
   attributest   items(   RR   (    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyt
   attrs_dictv   s    c            s   |  i  | i  j o t S  |     |  j o t S |    |  j o t S |   }  |  } t |  t |  j o t Sx2 t | |  D]! \ } }  | |  p t Sq Wt S(   N(   t   tagNameR=   t   lent   zipR<   (   t   want_elementt   got_elementt   want_childrent   got_childrenR?   R@   (   RX   R\   t   check_elementRW   (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyRd   y   s     	s   \ns   
s   <?xmls   <root>%s</root>(   R   t   compilet   _strip_quotest   replacet
   startswithR   t
   firstChildR=   (   R>   R?   R@   t   optionsflagst   wrappert	   want_roott   got_root(    (   R\   RJ   RX   RK   Rd   RW   RU   s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyR:   `   s(    			
c         C   sO   |  i  | |  \ } } y" t i |  } t i |  } Wn t SX| | j S(   s?   Tries to compare want and got as if they were JSON-encoded data(   Rf   R   t   loadsR=   (   R>   R?   R@   Rj   t	   want_jsont   got_json(    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyR;      s    c         C   s   d   } d   } | |  o7 | |  o* | i    d d !} | i    d d !} nE | |  o7 | |  o* | i    d d !} | i    d d !} n | | f S(   s(  
        Strip quotes of doctests output values:

        >>> o = OutputChecker()
        >>> o._strip_quotes("'foo'")
        "foo"
        >>> o._strip_quotes('"foo"')
        "foo"
        >>> o._strip_quotes("u'foo'")
        "foo"
        >>> o._strip_quotes('u"foo"')
        "foo"
        c         S   sB   |  i    }  t |   d j o# |  d |  d j o |  d d j S(   Ni   i    it   "t   '(   Rq   Rr   (   t   stripR^   (   R    (    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyt   is_quoted_string   s    c         S   sS   |  i    }  t |   d j o4 |  d d j o# |  d |  d j o |  d d j S(	   Ni   i    t   ui   iRq   Rr   (   Rq   Rr   (   Rs   R^   (   R    (    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyt   is_quoted_unicode   s
    i   ii   (   Rs   (   R>   R?   R@   Rt   Rv   (    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyRf      s    		(   t   __name__t
   __module__RD   R8   R9   R:   R;   Rf   (    (    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyR   D   s   				<	
c           B   s   e  Z d    Z d   Z RS(   c         O   s&   t  i i |  | |  t  i |  _ d  S(   N(   RE   R   t   __init__t   ELLIPSISRA   (   R>   R)   R*   (    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyRy      s    c         C   sA   t  i i |  | | | |  x t D] } t i d |  q# Wd  S(   Nt   using(   RE   R   t   report_unexpected_exceptionR   R	   t   rollback_unless_managed(   R>   t   outt   testt   examplet   exc_infot   conn(    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyR|      s
    
 (   Rw   Rx   Ry   R|   (    (    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyR      s   	t   _AssertNumQueriesContextc           B   s#   e  Z d    Z d   Z d   Z RS(   c         C   s   | |  _  | |  _ | |  _ d  S(   N(   t	   test_caset   numR
   (   R>   R   R   R
   (    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyRy      s    		c         C   sA   |  i  i |  _ t |  i  _ t |  i  i  |  _ t i t	  |  S(   N(
   R
   t   use_debug_cursort   old_debug_cursorR<   R^   t   queriest   starting_queriesR   t
   disconnectR   (   R>   (    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyt	   __enter__   s
    c         C   sw   |  i  |  i _ t i t  | d  j	 o d  St |  i i  } | |  i	 } |  i
 i | |  i d | |  i f  d  S(   Ns    %d queries executed, %d expected(   R   R
   R   R   t   connectR   R$   R^   R   R   R   t   assertEqualR   (   R>   t   exc_typet	   exc_valuet	   tracebackt   final_queriest   executed(    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyt   __exit__   s    	(   Rw   Rx   Ry   R   R   (    (    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyR      s   		c           B   s   e  Z e Z d    Z d   Z d   Z d d  Z d   Z	 d   Z
 d   Z d   Z d   Z d	 d
 d d d  Z d d
 d d  Z d
 d d  Z d d  Z d d  Z d d  Z e d  Z d d  Z RS(   c         C   s!   |  i    |  i   g  t _ d S(   s\  Performs any pre-test setup. This includes:

            * Flushing the database.
            * If the Test Case class has a 'fixtures' member, installing the
              named fixtures.
            * If the Test Case class has a 'urls' member, replace the
              ROOT_URLCONF with it.
            * Clearing the mail test outbox.
        N(   t   _fixture_setupt   _urlconf_setupR   t   outbox(   R>   (    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyt
   _pre_setup   s    


c      	   C   s   t  |  d t  o
 t } n
 t g } x_ | D]W } t d d d d t d | t |  d  o% t d |  i h d d 6| d 6 q- q- Wd  S(	   Nt   multi_dbt   flusht	   verbosityi    t   interactivet   databaset   fixturest   loaddata(   t   getattrR=   R   R   R   t   hasattrR   (   R>   t	   databasest   db(    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyR     s    
	 c         C   s7   t  |  d  o# t i |  _ |  i t _ t   n d  S(   Nt   urls(   R   R   t   ROOT_URLCONFt   _old_root_urlconfR   R   (   R>   (    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyR     s    c      	   C   s   |  i    |  _ y |  i   WnQ t t f j
 o
   n7 t j
 o* d d k } | i |  | i    d SXt	 t
 |   i |  y |  i   WnQ t t f j
 o
   n7 t j
 o* d d k } | i |  | i    d SXd S(   s   
        Wrapper around default __call__ method to perform common Django test
        set up. This means that user-defined Test Cases aren't required to
        include a call to super().setUp().
        iN(   t   client_classt   clientR   t   KeyboardInterruptt
   SystemExitt	   Exceptiont   syst   addErrorR   t   superR   t   __call__t   _post_teardown(   R>   t   resultR   (    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyR     s$    c         C   s9   |  i    |  i   x t i   D] } | i   q! Wd S(   s    Performs any post-test things. This includes:

            * Putting back the original ROOT_URLCONF if it was changed.
            * Force closing the connection, so that the next test gets
              a clean cursor.
        N(   t   _fixture_teardownt   _urlconf_teardownR   R   t   close(   R>   R
   (    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyR   5  s
    

 c         C   s   d  S(   N(    (   R>   (    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyR   H  s    c         C   s+   t  |  d  o |  i t _ t   n d  S(   NR   (   R   R   R   R   R   (   R>   (    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyR   K  s    c         C   s   t    |  _ d S(   s8   
        Saves the state of the warnings module
        N(   R   t   _warnings_state(   R>   (    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyt   save_warnings_stateP  s    c         C   s   t  |  i  d S(   sn   
        Restores the sate of the warnings module to the state
        saved by save_warnings_state()
        N(   R   R   (   R>   (    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyR   V  s    i.  i   RL   c         C   s  | o | d 7} n t  | d  o |  i t | i  d j | d | i | f  |  i | i d d | | d | i d d | f  | i d \ } } |  i | i | | d | i | f  n |  i | i | | d | i | f  | d	 } t |  \ } }	 }
 } } | i i |
 t	 |   } |  i | i | | d
 |
 | i | f  t |  \ } } } } } | p | p& t
 d | p d | | | f  } n |  i | | | d | | f  d S(   s   Asserts that a response redirected to a specific URL, and that the
        redirect URL can be loaded.

        Note that assertRedirects won't work for external links since it uses
        TestClient to do a request.
        s   : t   redirect_chaini    sH   Response didn't redirect as expected: Response code was %d (expected %d)i   sP   Initial response didn't redirect as expected: Response code was %d (expected %d)isN   Response didn't redirect as expected: Final Response code was %d (expected %d)t   LocationsK   Couldn't retrieve redirection page '%s': response code was %d (expected %d)t   httpt
   testservers*   Response redirected to '%s', expected '%s'N(   R   t
   assertTrueR^   R   t   status_codeR   R    R   t   getR   R   (   R>   t   responset   expected_urlR   t   target_status_codet   hostt
   msg_prefixt   urlt   schemet   netloct   patht   queryt   fragmentt   redirect_responset   e_schemet   e_netloct   e_patht   e_queryt
   e_fragment(    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyt   assertRedirects]  s:    
c         C   s   | o | d 7} n |  i  | i | | d | i | f  t | | i  } | i i |  } | d j	 o( |  i  | | | d | | | f  n |  i | d j | d |  d S(   sq  
        Asserts that a response indicates that some content was retrieved
        successfully, (i.e., the HTTP status code was as expected), and that
        ``text`` occurs ``count`` times in the content of the response.
        If ``count`` is None, the count doesn't matter - the assertion is true
        if the text occurs at least once in the response.
        s   : s=   Couldn't retrieve content: Response code was %d (expected %d)s4   Found %d instances of '%s' in response (expected %d)i    s   Couldn't find '%s' in responseN(   R   R   R   t   _charsett   contentt   countR$   R   (   R>   R   t   textR   R   R   t
   real_count(    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyt   assertContains  s    	c         C   sy   | o | d 7} n |  i  | i | | d | i | f  t | | i  } |  i  | i i |  d | d |  d S(   s   
        Asserts that a response indicates that some content was retrieved
        successfully, (i.e., the HTTP status code was as expected), and that
        ``text`` doesn't occurs in the content of the response.
        s   : s=   Couldn't retrieve content: Response code was %d (expected %d)i    s    Response should not contain '%s'N(   R   R   R   R   R   R   (   R>   R   R   R   R   (    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyt   assertNotContains  s    c         C   s  | o | d 7} n t  | i  } | p |  i | d  n t  |  } t } x:t |  D],\ } }	 | |	 j o q_ n t } x| D] }
 | o | |	 | i j oH |	 | i | } |  i |
 | j | d | | | |
 t |  f  q| |	 | i	 j o" |  i | d | | | f  q|  i | d | | | f  q |	 | i
   } |  i |
 | j | d | | |
 | f  q Wq_ W| p |  i | d |  n d S(	   se   
        Asserts that a form used to render the response has a specific field
        error.
        s   : s8   Response did not use any contexts to render the responses]   The field '%s' on form '%s' in context %d does not contain the error '%s' (actual errors: %s)s<   The field '%s' on form '%s' in context %d contains no errorss;   The form '%s' in context %d does not contain the field '%s'sY   The form '%s' in context %d does not contain the non-field error '%s' (actual errors: %s)s1   The form '%s' was not used to render the responseN(   R(   t   contextt   failR=   t	   enumerateR<   t   errorsR   t   reprt   fieldst   non_field_errors(   R>   R   t   formt   fieldR   R   t   contextst
   found_formt   iR   t   errt   field_errorsR   (    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyt   assertFormError  s@      "c      	   C   s   | o | d 7} n g  } | i  D] } | | i q# ~ } | p |  i | d  n |  i | | j | d | d i |  f  d S(   sn   
        Asserts that the template with the provided name was used in rendering
        the response.
        s   : s(   No templates used to render the responsesY   Template '%s' was not a template used to render the response. Actual template(s) used: %su   , N(   t	   templatest   nameR   R   RM   (   R>   R   t   template_nameR   RS   t   tt   template_names(    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyt   assertTemplateUsed  s    'c         C   s^   | o | d 7} n g  } | i  D] } | | i q# ~ } |  i | | j | d |  d S(   sr   
        Asserts that the template with the provided name was NOT used in
        rendering the response.
        s   : s=   Template '%s' was used unexpectedly in rendering the responseN(   R   R   t   assertFalse(   R>   R   R   R   RS   R   R   (    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyt   assertTemplateNotUsed  s    'c         C   s   |  i  t | |  |  S(   N(   R   t   map(   R>   t   qst   valuest	   transform(    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyt   assertQuerysetEqual  s    c         O   s   | i  d t  } t | } t |  | |  } | d  j o | S| i   y | | |   Wn | i t i       n X| i t i     d  S(   NR{   (	   t   popR   R   R   R$   R   R   R   R   (   R>   R   t   funcR)   R*   R{   R
   R   (    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyt   assertNumQueries  s    

N(   Rw   Rx   R   R   R   R   R   R$   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   (    (    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyR      s*   								93c           C   s   t  d   t i    D  S(   sz   
    Returns True if all connections support transactions.  This is messy
    because 2.4 doesn't support any or all.
    c         s   s   x |  ] } | i  i Vq Wd  S(   N(   t   featurest   supports_transactions(   t   .0R   (    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pys	   <genexpr>,  s   	(   R   R   (    (    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyt    connections_support_transactions'  s    	c           B   s    e  Z d  Z d   Z d   Z RS(   sK  
    Does basically the same as TransactionTestCase, but surrounds every test
    with a transaction, monkey-patches the real transaction management routines to
    do nothing, and rollsback the test transaction at the end of the test. You have
    to use TransactionTestCase, if you need transaction management inside a test.
    c      
   C   s   t    p t t |   i   St |  d t  o
 t } n
 t g } x1 | D]) } t i	 d |  t i
 t d | qK Wt   d d k l } | i i   xJ | D]B } t |  d  o, t d |  i h d d 6t d	 6| d
 6 q q Wd  S(   NR   R{   i(   t   SiteR   R   i    R   R,   R   (   R   R   R   R   R   R=   R   R   R	   R.   R0   R<   R1   t   django.contrib.sites.modelsR   t   objectst   clear_cacheR   R   R   (   R>   R   R   R   (    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyR   7  s&    

	  c         C   s   t    p t t |   i   St |  d t  o
 t } n
 t g } t   x. | D]& } t	 i
 d |  t	 i d |  qR Wd  S(   NR   R{   (   R   R   R   R   R   R=   R   R   R7   R	   R-   R/   (   R>   R   R   (    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyR   R  s    

	 (   Rw   Rx   t   __doc__R   R   (    (    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyR   /  s   	c            s      f d   } | S(   Nc            s^   t    t  o t   t  p+ t        f d    } | } n   }  | _ | S(   Nc             s*      o t  i    n   |  |   S(   N(   t   ut2t   SkipTest(   R)   R*   (   t	   test_funct   reasont	   condition(    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyt   skip_wrappere  s    
(   R%   t   typet
   issubclassR   R   t   __unittest_skip_why__(   R   R  t	   test_item(   R  R  (   R   s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyt	   decoratorc  s     !
	(    (   R  R  R  (    (   R  R  s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyt   _deferredSkipb  s    c            s   t    f d   d    S(   s/   Skip a test if a database has the named featurec              s   t  t i    S(    (   R   R
   R   (    (   t   feature(    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyR!   s  s    s   Database has feature %s(   R	  (   R
  (    (   R
  s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyR   q  s    c            s   t    f d   d    S(   s3   Skip a test unless a database has the named featurec              s   t  t i    S(    (   R   R
   R   (    (   R
  (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyR!   x  s    s#   Database doesn't support feature %s(   R	  (   R
  (    (   R
  s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyR   v  s    (H   R   R   t   urlparseR    R   t   xml.dom.minidomR   R   t   django.confR   t   django.coreR   t   django.core.managementR   t   django.core.signalsR   t   django.core.urlresolversR   t	   django.dbR	   R
   R   R   R   t   django.httpR   t   django.testR   RE   t   django.test.clientR   t   django.test.utilsR   R   t   django.utilsR   R   R   t   django.utils.encodingR   t   django.utils.functionalR   t   __all__R   t	   NameErrort   django.utils.itercompatRG   RF   R(   R,   R2   R-   R3   R.   R4   R/   R5   R0   R6   R+   R1   R7   R   R   t   objectR   R   R   R   R	  R   R   (    (    (    s?   /usr/local/lib/python2.6/dist-packages/django/test/testcases.pyt   <module>   sV   (											 4	3		