ó
`¾Tc           @   sË   d  Z  d d l Z d d l Z d d l Z d d l m Z d d l m Z m Z m	 Z	 m
 Z
 d d l m Z d d l m Z d e f d „  ƒ  YZ d	 e f d
 „  ƒ  YZ d e f d „  ƒ  YZ d „  Z d S(   sº   
    werkzeug.testsuite.debug
    ~~~~~~~~~~~~~~~~~~~~~~~~

    Tests some debug utilities.

    :copyright: (c) 2014 by Armin Ronacher.
    :license: BSD, see LICENSE for more details.
iÿÿÿÿN(   t   WerkzeugTestCase(   t
   debug_reprt   DebugReprGeneratort   dumpt   helper(   t   HTMLStringO(   t   PY2t   DebugReprTestCasec           B   sY   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 RS(	   c         C   sk   |  j  t g  ƒ d ƒ |  j  t d d g ƒ d ƒ |  j  t d d g ƒ d ƒ |  j  t d  g ƒ d ƒ d  S(   Nu   []i   i   u>   [<span class="number">1</span>, <span class="number">2</span>]t   testuC   [<span class="number">1</span>, <span class="string">'test'</span>]u"   [<span class="object">None</span>](   t   assert_equalR   t   None(   t   self(    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/debug.pyt   test_basic_repr   s    c         C   s&   |  j  t t t d ƒ ƒ ƒ d ƒ d  S(   Ni   u”  [<span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>, <span class="number">6</span>, <span class="number">7</span>, <span class="extended"><span class="number">8</span>, <span class="number">9</span>, <span class="number">10</span>, <span class="number">11</span>, <span class="number">12</span>, <span class="number">13</span>, <span class="number">14</span>, <span class="number">15</span>, <span class="number">16</span>, <span class="number">17</span>, <span class="number">18</span>, <span class="number">19</span></span>](   R	   R   t   listt   range(   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/debug.pyt   test_sequence_repr!   s    c         C   s   |  j  t i  ƒ d ƒ |  j  t i d d 6ƒ d ƒ |  j  t t t t d ƒ d  g d ƒ ƒ ƒ d ƒ |  j  t d ƒ d
 t rƒ d n d ƒ d  S(   Nu   {}i*   t   foou‘   {<span class="pair"><span class="key"><span class="string">'foo'</span></span>: <span class="value"><span class="number">42</span></span></span>}i
   u´  {<span class="pair"><span class="key"><span class="number">0</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">1</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">2</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">3</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="extended"><span class="pair"><span class="key"><span class="number">4</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">5</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">6</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">7</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">8</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">9</span></span>: <span class="value"><span class="object">None</span></span></span></span>}i   t   zweiu   dreiui   (<span class="number">1</span>, <span class="string">'zwei'</span>, <span class="string">%s'drei'</span>)t   ut    (   i   R   u   drei(   R	   R   t   dictt   zipR   R
   R   (   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/debug.pyt   test_mapping_repr0   s    +	c         C   s3   d t  f d „  ƒ  Y} |  j t | ƒ  ƒ d ƒ d  S(   Nt   Fooc           B   s   e  Z d  „  Z RS(   c         S   s   d S(   Ns   <Foo 42>(    (   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/debug.pyt   __repr__?   s    (   t   __name__t
   __module__R   (    (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/debug.pyR   >   s   s*   <span class="object">&lt;Foo 42&gt;</span>(   t   objectR	   R   (   R   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/debug.pyt   test_custom_repr=   s    c         C   s<   d t  f d „  ƒ  Y} |  j t | d d g ƒ ƒ d ƒ d  S(   Nt   MyListc           B   s   e  Z RS(    (   R   R   (    (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/debug.pyR   E   s   i   i   u{   <span class="module">werkzeug.testsuite.debug.</span>MyList([<span class="number">1</span>, <span class="number">2</span>])(   R   R	   R   (   R   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/debug.pyt   test_list_subclass_reprD   s    c         C   sR   |  j  t t j d ƒ ƒ d ƒ |  j  t t j d ƒ ƒ d t rF d n d ƒ d  S(   Ns   foo\du6   re.compile(<span class="string regex">r'foo\d'</span>)u   foo\du8   re.compile(<span class="string regex">%sr'foo\d'</span>)R   R   (   R	   R   t   ret   compileR   (   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/debug.pyt   test_regex_reprL   s
    c         C   s<   |  j  t t d ƒ ƒ d ƒ |  j  t t d ƒ ƒ d ƒ d  S(   Nt   xu,   frozenset([<span class="string">'x'</span>])u&   set([<span class="string">'x'</span>])(   R	   R   t	   frozensett   set(   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/debug.pyt   test_set_reprT   s    c         C   s0   d g } | j  | ƒ |  j t | ƒ d ƒ d  S(   Ni   u&   [<span class="number">1</span>, [...]](   t   appendR	   R   (   R   t   a(    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/debug.pyt   test_recursive_reprZ   s    	c         C   s3   d t  f d „  ƒ  Y} |  j t | ƒ  ƒ d ƒ d  S(   NR   c           B   s   e  Z d  „  Z RS(   c         S   s   t  d ƒ ‚ d  S(   Ns   broken!(   t	   Exception(   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/debug.pyR   b   s    (   R   R   R   (    (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/debug.pyR   a   s   uH   <span class="brokenrepr">&lt;broken repr (Exception: broken!)&gt;</span>(   R   R	   R   (   R   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/debug.pyt   test_broken_repr`   s    (   R   R   R   R   R   R   R   R!   R%   R(   R*   (    (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/debug.pyR      s   									R   c           B   s   e  Z d  Z d Z d „  Z RS(   i*   i   c         C   s   d |  _  d  S(   Ni   (   t   z(   R   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/debug.pyt   __init__o   s    (   R   R   R"   t   yR,   (    (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/debug.pyR   k   s   t   DebugHelpersTestCasec           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   s†  t  ƒ  } | j t ƒ  ƒ } t j d | ƒ s3 t ‚ t j d | ƒ sK t ‚ t j d | ƒ sc t ‚ t j d | ƒ s{ t ‚ | j i d d 6d d 6ƒ } t j d	 | ƒ s° t ‚ t j d | ƒ sÈ t ‚ t j d | ƒ sà t ‚ | j i d d 6d d 6d
 d 6ƒ } t j d	 | ƒ st ‚ | j i d d 6d d 6ƒ } t j d | ƒ sRt ‚ t j d | ƒ sjt ‚ t j d | ƒ s‚t ‚ d  S(   Ns2   Details for werkzeug.testsuite.debug.Foo object ats)   <th>x.*<span class="number">42</span>(?s)s)   <th>y.*<span class="number">23</span>(?s)s)   <th>z.*<span class="number">15</span>(?s)i*   R"   i   R-   s   Contents ofi   s   Local variables in frame(   R   t   dump_objectR   R   t   searcht   AssertionErrort   dump_locals(   R   t   drgt   out(    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/debug.pyt   test_object_dumpingu   s     	$c         C   s²   t  j } t ƒ  t  _ z< t d d d g ƒ t  j j ƒ  } t ƒ  t  j j ƒ  } Wd  | t  _ X|  j d | ƒ |  j d | ƒ |  j d | ƒ |  j d | ƒ |  j d | ƒ d  S(	   Ni   i   i   s   Details for list object ats   <span class="number">1</span>s   Local variables in frames   <th>xs   <th>old(   t   syst   stdoutR   R   t   resett	   assert_in(   R   t   oldR"   R-   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/debug.pyt   test_debug_dumpŠ   s    	
c         C   sl   t  j } t ƒ  t  _ z& t d d d g ƒ t  j j ƒ  } Wd  | t  _ X|  j d | ƒ |  j d | ƒ d  S(   Ni   i   i   s   Help on list objectt   __delitem__(   R6   R7   R   R   R8   R9   (   R   R:   R"   (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/debug.pyt   test_debug_help›   s    	
(   R   R   R5   R;   R=   (    (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/debug.pyR.   s   s   		c          C   s<   t  j ƒ  }  |  j t  j t ƒ ƒ |  j t  j t ƒ ƒ |  S(   N(   t   unittestt	   TestSuitet   addTestt	   makeSuiteR   R.   (   t   suite(    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/debug.pyRB   ¨   s    (   t   __doc__R>   R6   R   t   werkzeug.testsuiteR    t   werkzeug.debug.reprR   R   R   R   t   werkzeug.debug.consoleR   t   werkzeug._compatR   R   R   R   R.   RB   (    (    (    s^   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/debug.pyt   <module>
   s   "U5