ó
]†Lc           @   s’   d  d l  Z  d  d l Z d  d l m Z m Z 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_silentt   MarkupTestCasec           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   sk  d } t  d ƒ } | | t t | ƒ ƒ t | ƒ k s> t ‚ t  d ƒ d d k sZ t ‚ t  d ƒ i d d 6d k s} t ‚ t t  d ƒ d	 ƒ t  k sŸ t ‚ t  d ƒ } | j ƒ  | k sÃ t ‚ d
 t f d „  ƒ  Y} t  | ƒ  ƒ d k sô t ‚ t  d ƒ | ƒ  d k st ‚ t d ƒ d k s+t ‚ t  d ƒ j ƒ  d k sIt ‚ t  d ƒ j ƒ  d k sgt ‚ d  S(   Ns?   <script type="application/x-some-script">alert("foo");</script>s   <em>username</em>s   <em>%s</em>s
   <bad user>s   <em>&lt;bad user&gt;</em>s   <em>%(username)s</em>t   usernamet   foot   bart   Fooc           B   s   e  Z d  „  Z d „  Z RS(   c         S   s   d S(   Ns   <em>awesome</em>(    (   t   self(    (    s4   /usr/lib/python2.7/dist-packages/markupsafe/tests.pyt   __html__   s    c         S   s   d S(   Nt   awesome(    (   R   (    (    s4   /usr/lib/python2.7/dist-packages/markupsafe/tests.pyt   __unicode__    s    (   t   __name__t
   __module__R	   R   (    (    (    s4   /usr/lib/python2.7/dist-packages/markupsafe/tests.pyR      s   	s   <em>awesome</em>s   <strong>%s</strong>s!   <strong><em>awesome</em></strong>s   "<>&'s   &#34;&lt;&gt;&amp;&#39;s   <em>Foo &amp; Bar</em>s	   Foo & Bars   &lt;test&gt;s   <test>(	   R    t   unicodeR   t   AssertionErrort   typeR	   t   objectt	   striptagst   unescape(   R   t   unsafet   safet   xR   (    (    s4   /usr/lib/python2.7/dist-packages/markupsafe/tests.pyt   test_markup_operations   s$    ,"c         C   s1   d d  l  } x | j D] } t | | ƒ q Wd  S(   Niÿÿÿÿ(   t
   markupsafet   __all__t   getattr(   R   t   markupt   item(    (    s4   /usr/lib/python2.7/dist-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   (    (    s4   /usr/lib/python2.7/dist-packages/markupsafe/tests.pyt   test_escape_silent0   s    (   R   R   R   R   R   (    (    (    s4   /usr/lib/python2.7/dist-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   xrangeR   t   addt   lent   gct   get_objectsR   (   R   t   countst   countR   (    (    s4   /usr/lib/python2.7/dist-packages/markupsafe/tests.pyt   test_markup_leaks8   s    	


(   R   R   R)   (    (    (    s4   /usr/lib/python2.7/dist-packages/markupsafe/tests.pyR    6   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   R    (   t   suite(    (    s4   /usr/lib/python2.7/dist-packages/markupsafe/tests.pyR0   D   s
    t   __main__t   defaultTestR0   (   R%   R+   R   R    R   R   t   TestCaseR   R    R0   R   t   main(    (    (    s4   /usr/lib/python2.7/dist-packages/markupsafe/tests.pyt   <module>   s   0	