Ñò
ÜÂKc           @   sx   d  Z  d d k Z d d k Z d d k l Z l Z l Z l Z d d k l	 Z	 d „  Z
 d „  Z d „  Z d „  Z d S(	   sš   
    werkzeug.debug test
    ~~~~~~~~~~~~~~~~~~~

    :copyright: (c) 2010 by the Werkzeug Team, see AUTHORS for more details.
    :license: BSD license.
iÿÿÿÿN(   t
   debug_reprt   DebugReprGeneratort   dumpt   helper(   t   HTMLStringOc          C   s„  t  g  ƒ d j p t ‚ t  d d g ƒ d j p t ‚ t  d d g ƒ d j p t ‚ t  d# g ƒ d j p t ‚ t  t t d ƒ ƒ ƒ d	 j p t ‚ t  h  ƒ d
 j p t ‚ t  h d d 6ƒ d j p t ‚ t  t t t d ƒ d# g d ƒ ƒ ƒ d j p t ‚ t  d$ ƒ d j p t ‚ d t f d „  ƒ  Y}  t  |  ƒ  ƒ d j p t ‚ d t f d „  ƒ  Y} t  | d d g ƒ ƒ d j p t ‚ t  t i	 d ƒ ƒ d j p t ‚ t  t i	 d ƒ ƒ d j p t ‚ t  t
 d ƒ ƒ d j p t ‚ t  t d ƒ ƒ d j p t ‚ d g } | i | ƒ t  | ƒ d  j p t ‚ d t f d! „  ƒ  Y}  t  |  ƒ  ƒ d" j p t ‚ d# S(%   s,   Test the debug repr from the debug componentu   []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>]i   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>]u   {}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>}t   zweiu   dreiuh   (<span class="number">1</span>, <span class="string">'zwei'</span>, <span class="string">u'drei'</span>)t   Fooc           B   s   e  Z d  „  Z RS(   c         S   s   d S(   Ns   <Foo 42>(    (   t   self(    (    s>   /Users/mitsuhiko/Development/werkzeug-main/tests/test_debug.pyt   __repr__1   s    (   t   __name__t
   __module__R
   (    (    (    s>   /Users/mitsuhiko/Development/werkzeug-main/tests/test_debug.pyR   0   s   s*   <span class="object">&lt;Foo 42&gt;</span>t   MyListc           B   s   e  Z RS(    (   R   R   (    (    (    s>   /Users/mitsuhiko/Development/werkzeug-main/tests/test_debug.pyR   5   s   um   <span class="module">test_debug.</span>MyList([<span class="number">1</span>, <span class="number">2</span>])s   foo\du6   re.compile(<span class="string regex">r'foo\d'</span>)u   foo\du7   re.compile(<span class="string regex">ur'foo\d'</span>)t   xu,   frozenset([<span class="string">'x'</span>])u&   set([<span class="string">'x'</span>])u&   [<span class="number">1</span>, [...]]c           B   s   e  Z d  „  Z RS(   c         S   s   d d d  S(   Ni   i    (    (   R	   (    (    s>   /Users/mitsuhiko/Development/werkzeug-main/tests/test_debug.pyR
   J   s    (   R   R   R
   (    (    (    s>   /Users/mitsuhiko/Development/werkzeug-main/tests/test_debug.pyR   I   s   uk   <span class="brokenrepr">&lt;broken repr (ZeroDivisionError: integer division or modulo by zero)&gt;</span>N(   i   R   u   drei(   R    t   AssertionErrort   Nonet   listt   ranget   dictt   zipt   objectt   ret   compilet	   frozensett   sett   append(   R   R   t   a(    (    s>   /Users/mitsuhiko/Development/werkzeug-main/tests/test_debug.pyt   test_debug_repr   sF    %		c          C   s²  d t  f d „  ƒ  Y}  t ƒ  } | i |  ƒ  ƒ } t i d | ƒ p t ‚ t i d | ƒ p t ‚ t i d | ƒ p t ‚ t i d | ƒ p t ‚ | i h d d 6d	 d
 6ƒ } t i d | ƒ p t ‚ t i d | ƒ p t ‚ t i d | ƒ p t ‚ | i h d d 6d	 d
 6d d	 6ƒ } t i d | ƒ p t ‚ | i h d d 6d	 d
 6ƒ } t i d | ƒ p t ‚ t i d | ƒ p t ‚ t i d | ƒ p t ‚ d S(   s!   Test debug object dumping to HTMLR   c           B   s   e  Z d  Z d Z d „  Z RS(   i*   i   c         S   s   d |  _  d  S(   Ni   (   t   z(   R	   (    (    s>   /Users/mitsuhiko/Development/werkzeug-main/tests/test_debug.pyt   __init__W   s    (   R   R   R   t   yR   (    (    (    s>   /Users/mitsuhiko/Development/werkzeug-main/tests/test_debug.pyR   T   s   s$   Details for test_debug.Foo object ats.   <th>x</th>.*<span class="number">42</span>(?s)s.   <th>y</th>.*<span class="number">23</span>(?s)s.   <th>z</th>.*<span class="number">15</span>(?s)i*   R   i   R   s   Contents ofi   s   Local variables in frameN(   R   R   t   dump_objectR   t   searchR   t   dump_locals(   R   t   drgt   out(    (    s>   /Users/mitsuhiko/Development/werkzeug-main/tests/test_debug.pyt   test_object_dumpingR   s"    	$c          C   sÆ   t  i }  t ƒ  t  _ z< t d d d g ƒ t  i i ƒ  } t ƒ  t  i i ƒ  } Wd |  t  _ Xd | j p t ‚ d | j p t ‚ d | j p t ‚ d | j p t ‚ d	 | j p t ‚ d S(
   s   Test debug dumpi   i   i   Ns   Details for list object ats   <span class="number">1</span>s   Local variables in frames
   <th>x</th>s   <th>old</th>(   t   syst   stdoutR   R   t   resetR   (   t   oldR   R   (    (    s>   /Users/mitsuhiko/Development/werkzeug-main/tests/test_debug.pyt   test_debug_dumpo   s    	
c          C   st   t  i }  t ƒ  t  _ z& t d d d g ƒ t  i i ƒ  } Wd |  t  _ Xd | j p t ‚ d | j p t ‚ d S(   s   Test debug helpi   i   i   Ns   Help on list objectt   __delitem__(   R&   R'   R   R   R(   R   (   R)   R   (    (    s>   /Users/mitsuhiko/Development/werkzeug-main/tests/test_debug.pyt   test_debug_help‚   s    	
(   t   __doc__R   R&   t   werkzeug.debug.reprR    R   R   R   t   werkzeug.debug.consoleR   R   R%   R*   R,   (    (    (    s>   /Users/mitsuhiko/Development/werkzeug-main/tests/test_debug.pyt   <module>   s   "	C		