ó
!`¾Tc           @   s®   d  d l  Z  d  d l Z d  d l Z d  d l m Z m Z m Z d  d l m Z d e j	 f d „  ƒ  YZ
 d e j	 f d „  ƒ  YZ d „  Z e d	 k rª e j d
 d ƒ n  d S(   iÿÿÿÿN(   t   Markupt   escapet   escape_silent(   t	   text_typet   MarkupTestCasec           B   s¡   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 e
 j d k ri d
 „  Z n  d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   sB   d } t  d ƒ } | | t t | ƒ ƒ t | ƒ k s> t ‚ d  S(   Ns?   <script type="application/x-some-script">alert("foo");</script>s   <em>username</em>(   R    R   R   t   AssertionError(   t   selft   unsafet   safe(    (    sV   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/markupsafe/tests.pyt   test_adding   s    c         C   s{   t  d ƒ d d k s t ‚ t  d ƒ i d d 6d k s? t ‚ t  d ƒ d d k s[ t ‚ t  d	 ƒ d d
 k sw t ‚ d  S(   Ns   <em>%s</em>s
   <bad user>s   <em>&lt;bad user&gt;</em>s   <em>%(username)s</em>t   usernames   %ig…ëQ¸	@t   3s   %.2fs   3.14(   R    R   (   R   (    (    sV   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/markupsafe/tests.pyt   test_string_interpolation   s    c         C   sJ   t  t d ƒ d ƒ t k s" t ‚ t d ƒ } | j ƒ  | k sF t ‚ d  S(   Nt   foot   bar(   t   typeR    R   t   __html__(   R   t   x(    (    sV   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/markupsafe/tests.pyt   test_type_behavior   s    "c         C   sT   d t  f d „  ƒ  Y} t | ƒ  ƒ d k s1 t ‚ t d ƒ | ƒ  d k sP t ‚ d  S(   Nt   Fooc           B   s    e  Z d  „  Z d „  Z e Z RS(   c         S   s   d S(   Ns   <em>awesome</em>(    (   R   (    (    sV   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/markupsafe/tests.pyR   '   s    c         S   s   d S(   Nt   awesome(    (   R   (    (    sV   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/markupsafe/tests.pyt   __unicode__)   s    (   t   __name__t
   __module__R   R   t   __str__(    (    (    sV   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/markupsafe/tests.pyR   &   s   		s   <em>awesome</em>s   <strong>%s</strong>s!   <strong><em>awesome</em></strong>(   t   objectR    R   (   R   R   (    (    sV   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/markupsafe/tests.pyt   test_html_interop$   s    c         C   s$   |  j  t d ƒ d t d ƒ ƒ d  S(   Ns   <em>%s:%s</em>s   <foo>s   <bar>u    <em>&lt;foo&gt;:&lt;bar&gt;</em>(   s   <foo>s   <bar>(   t   assertEqualR    (   R   (    (    sV   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/markupsafe/tests.pyt   test_tuple_interpol0   s     c         C   sY   |  j  t d ƒ i d d 6t d ƒ ƒ |  j  t d ƒ i d d 6d d 6t d ƒ ƒ d  S(	   Ns   <em>%(foo)s</em>s   <foo>R   u   <em>&lt;foo&gt;</em>s   <em>%(foo)s:%(bar)s</em>s   <bar>R   u    <em>&lt;foo&gt;:&lt;bar&gt;</em>(   R   R    (   R   (    (    sV   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/markupsafe/tests.pyt   test_dict_interpol6   s    c         C   sX   t  d ƒ d k s t ‚ t d ƒ j ƒ  d k s6 t ‚ t d ƒ j ƒ  d k sT t ‚ d  S(   Ns   "<>&'s   &#34;&lt;&gt;&amp;&#39;s   <em>Foo &amp; Bar</em>s	   Foo & Bars   &lt;test&gt;s   <test>(   R   R   R    t	   striptagst   unescape(   R   (    (    sV   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/markupsafe/tests.pyt   test_escaping?   s    c      
   C   sá   xÚ t  d ƒ d d f t  d ƒ d d f t  d ƒ d d f t  d ƒ j d d ƒ d f t  d ƒ j d i d d 6g ƒ d f t  d ƒ j d i t  d ƒ d 6g ƒ d f f D]. \ } } | | k s« t d | | f ƒ ‚ q« Wd  S(   Ns   %ig…ëQ¸	@R   s   %.2fgn†ðù!	@s   3.14s   %s %s %st   <i{   t   >s   &lt; 123 &gt;s   <em>{awesome}</em>R   s	   <awesome>s   <em>&lt;awesome&gt;</em>s   {0[1][bar]}i    s   <bar/>R   s   &lt;bar/&gt;s   %r should be %r!(   R!   i{   R"   (   R    t   formatR   (   R   t   actualt   expected(    (    sV   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/markupsafe/tests.pyt   test_formattingE   s    %i   i   c         C   s1   t  d ƒ j d ƒ } | t  d ƒ k s- t ‚ d  S(   Ns   {}i    t   0(   R    R#   R   (   R   t	   formatted(    (    sV   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/markupsafe/tests.pyt   test_formatting_emptyT   s    c         C   s„   d t  f d „  ƒ  Y} d t  f d „  ƒ  Y} t d ƒ j | ƒ  ƒ t d ƒ k sV t ‚ t d ƒ j | ƒ  ƒ t d ƒ k s€ t ‚ d  S(   Nt   HasHTMLOnlyc           B   s   e  Z d  „  Z RS(   c         S   s
   t  d ƒ S(   Ns   <foo>(   R    (   R   (    (    sV   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/markupsafe/tests.pyR   Z   s    (   R   R   R   (    (    (    sV   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/markupsafe/tests.pyR*   Y   s   t   HasHTMLAndFormatc           B   s   e  Z d  „  Z d „  Z RS(   c         S   s
   t  d ƒ S(   Ns   <foo>(   R    (   R   (    (    sV   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/markupsafe/tests.pyR   ^   s    c         S   s
   t  d ƒ S(   Ns   <FORMAT>(   R    (   R   t   spec(    (    sV   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/markupsafe/tests.pyt   __html_format__`   s    (   R   R   R   R-   (    (    (    sV   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/markupsafe/tests.pyR+   ]   s   	s   {0}s   <foo>s   <FORMAT>(   R   R    R#   R   (   R   R*   R+   (    (    sV   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/markupsafe/tests.pyt   test_custom_formattingX   s    *c         C   sP   d t  f d „  ƒ  Y} | d d ƒ } t d ƒ j | ƒ t d ƒ k sL t ‚ d  S(   Nt   Userc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         S   s   | |  _  | |  _ d  S(   N(   t   idR
   (   R   R0   R
   (    (    sV   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/markupsafe/tests.pyt   __init__h   s    	c         S   sJ   | d k r+ t  d ƒ j |  j |  j ƒ  ƒ S| r@ t d ƒ ‚ n  |  j ƒ  S(   Nt   links   <a href="/user/{0}">{1}</a>s   Invalid format spec(   R    R#   R0   R   t
   ValueError(   R   t   format_spec(    (    sV   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/markupsafe/tests.pyR-   k   s    c         S   s   t  d ƒ j |  j ƒ S(   Ns   <span class=user>{0}</span>(   R    R#   R
   (   R   (    (    sV   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/markupsafe/tests.pyR   t   s    (   R   R   R1   R-   R   (    (    (    sV   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/markupsafe/tests.pyR/   g   s   			i   R   s   <p>User: {0:link}s:   <p>User: <a href="/user/1"><span class=user>foo</span></a>(   R   R    R#   R   (   R   R/   t   user(    (    sV   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/markupsafe/tests.pyt   test_complex_custom_formattingf   s    c         C   s1   d d  l  } x | j D] } t | | ƒ q Wd  S(   Niÿÿÿÿ(   t
   markupsafet   __all__t   getattr(   R   t   markupt   item(    (    sV   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/markupsafe/tests.pyt   test_all_set{   s    c         C   s[   t  d  ƒ t ƒ  k s t ‚ t d  ƒ t d  ƒ k s9 t ‚ t  d ƒ t d ƒ k sW t ‚ d  S(   Ns   <foo>u   &lt;foo&gt;(   R   t   NoneR    R   R   (   R   (    (    sV   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/markupsafe/tests.pyt   test_escape_silent€   s    c         C   sŽ   |  j  t d ƒ j ƒ  t d ƒ t d ƒ g ƒ |  j  t d ƒ j ƒ  t d ƒ t d ƒ g ƒ |  j  t d ƒ j ƒ  t d ƒ t d ƒ g ƒ d  S(   Ns   a bt   at   bs   a
b(   R   R    t   splitt   rsplitt
   splitlines(   R   (    (    sV   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/markupsafe/tests.pyt   test_splitting…   s    			c         C   s$   |  j  t d ƒ d t d ƒ ƒ d  S(   NR?   i   t   aaa(   R   R    (   R   (    (    sV   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/markupsafe/tests.pyt   test_mul“   s    (   i   i   (   R   R   R	   R   R   R   R   R   R    R&   t   syst   version_infoR)   R.   R6   R<   R>   RD   RF   (    (    (    sV   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/markupsafe/tests.pyR   	   s    														t   MarkupLeakTestCasec           B   s   e  Z d  „  Z RS(   c         C   sš   t  ƒ  } xl t d ƒ D]^ } x< t d ƒ D]. } t d ƒ t d ƒ t d ƒ t d ƒ q) W| j t t j ƒ  ƒ ƒ q Wt | ƒ d k s– t d ƒ ‚ d  S(	   Ni   iè  R   s   <foo>u   foou   <foo>i   s'   ouch, c extension seems to leak objects(   t   sett   rangeR   t   addt   lent   gct   get_objectsR   (   R   t   countst   countR;   (    (    sV   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/markupsafe/tests.pyt   test_markup_leaks™   s    	


(   R   R   RR   (    (    (    sV   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/markupsafe/tests.pyRI   —   s   c          C   sN   t  j ƒ  }  |  j t  j t ƒ ƒ t t d ƒ sJ |  j t  j t ƒ ƒ n  |  S(   Nt	   func_code(   t   unittestt	   TestSuitet   addTestt	   makeSuiteR   t   hasattrR   RI   (   t   suite(    (    sV   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/markupsafe/tests.pyRY   ¥   s
    t   __main__t   defaultTestRY   (   RN   RG   RT   R7   R    R   R   t   markupsafe._compatR   t   TestCaseR   RI   RY   R   t   main(    (    (    sV   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/markupsafe/tests.pyt   <module>   s   Ž	