£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>

e f                 @   s   d  Z  d d l Z d d l m Z d d l m Z d d l m Z m Z d d l	 m
 Z
 Gd d   d  Z Gd	 d
   d
 e j  Z e d k r e j d d  n  d S)zTest idlelib.ParenMatch.    N)Mock)requires)TkText)
ParenMatchc               @   s   e  Z d  Z d d   Z d S)DummyEditwinc             C   s(   | |  _  d |  _ d |  _ d |  _ d  S)N   T)textZindentwidthZtabwidthZcontext_use_ps1)selfr	    r   F/opt/alt/python34/lib64/python3.4/idlelib/idle_test/test_parenmatch.py__init__   s    			zDummyEditwin.__init__N)__name__
__module____qualname__r   r   r   r   r   r      s   r   c               @   sp   e  Z d  Z e d d    Z e d d    Z d d   Z d d   Z d	 d
   Z d d   Z	 d d   Z
 d S)ParenMatchTestc             C   sM   t  d  t   |  _ t |  j  |  _ t |  j  |  _ t   |  j _ d  S)NZgui)	r   r   rootr   r	   r   editwinr   Z
text_frame)clsr   r   r   
setUpClass   s
    
zParenMatchTest.setUpClassc             C   s#   |  `  |  ` |  j j   |  ` d  S)N)r	   r   r   Zdestroy)r   r   r   r   tearDownClass   s    zParenMatchTest.tearDownClassc             C   s   |  j  j d d  d  S)Nz1.0end)r	   Zdelete)r
   r   r   r   tearDown#   s    zParenMatchTest.tearDownc             C   s   |  j  } t |  j  } | j d  | j d d  | j d  |  j d | j    |  j | j	 d d  d  | j d d
  | j
   |  j d | j    |  j | j	 d d  f   | j d  |  j | j	 d d  d  d S)z:
        Test ParenMatch with 'expression' style.
        Z
expressioninsertzdef foobar(a, beventz<<parenmatch-check-restore>>parenr   1.101.15)1.16N)r   r   )r   r   )r	   r   r   	set_styler   flash_paren_eventassertIn
event_infoassertTupleEqualtag_prevrangerestore_eventassertNotInassertEqualparen_closed_event)r
   r	   pmr   r   r   test_paren_expression&   s    	
z$ParenMatchTest.test_paren_expressionc             C   s   |  j  } t |  j  } | j d  | j d d  | j d  |  j d | j    |  j | j	 d d  d  | j d d
  | j
   |  j d | j    |  j | j	 d d  f   d S)z7
        Test ParenMatch with 'default' style.
        defaultr   zdef foobar(a, br   z<<parenmatch-check-restore>>r   r   1.101.11r   N)r-   r.   )r	   r   r   r    r   r!   r"   r#   r$   r%   r&   r'   r(   )r
   r	   r*   r   r   r   test_paren_default=   s    	
z!ParenMatchTest.test_paren_defaultc             C   s   |  j  } t |  j  } | j d d  |  j | j d   | j d d  |  j | j d   |  j | j d   | j d d  |  j | j d   d S)z
        Test corner cases in flash_paren_event and paren_closed_event.

        These cases force conditional expression and alternate paths.
        r   z# this is a commen)r   z
defz	 a, *arg)N)r	   r   r   r   ZassertIsNoner)   r!   )r
   r	   r*   r   r   r   test_paren_cornerO   s    	z ParenMatchTest.test_paren_cornerc             C   sl   t  |  j  } t   | _ | j d  |  j | j j  | j j   | j d  |  j | j j  d  S)Nr      )	r   r   r   r&   Zhandle_restore_timerZ
assertTrueZcalledZ
reset_mockZassertFalse)r
   r*   r   r   r   test_handle_restore_timerb   s    z(ParenMatchTest.test_handle_restore_timerN)r   r   r   classmethodr   r   r   r+   r/   r0   r2   r   r   r   r   r      s   r   __main__	verbosity   )__doc__ZunittestZunittest.mockr   Ztest.supportr   Ztkinterr   r   Zidlelib.ParenMatchr   r   ZTestCaser   r   mainr   r   r   r   <module>   s   Y