+
     Bi                         ^ RI Ht ^ RIHt ]! R4       ^ RIt^ RIHt ^ RIHtH	t	  ! R R4      t
 ! R	 R
]P                  4      t]R8X  d   ]P                  ! ^R7       R# R# )    )
ParenMatch)requiresguiN)Mock)TkTextc                   &   a  ] tR t^t o R tRtV tR# )DummyEditwinc                <    Wn         ^V n        ^V n        RV n        R# )   z>>>N)textindentwidthtabwidthprompt_last_line)selfr   s   &&8/usr/lib/python3.14/idlelib/idle_test/test_parenmatch.py__init__DummyEditwin.__init__   s    	 %    )r   r   r   r   N)__name__
__module____qualname____firstlineno__r   __static_attributes____classdictcell____classdict__s   @r   r
   r
      s     & &r   r
   c                   ^   a  ] tR t^t o ]R 4       t]R 4       tR tR tR t	R t
R tRtV tR	# )
ParenMatchTestc                    \        4       V n        V P                  P                  4        \        V P                  4      V n        \        V P                  4      V n        \        4       V P                  n        R # N)	r   rootwithdrawr   r   r
   editwinr   
text_frameclss   &r   
setUpClassParenMatchTest.setUpClass   sH    4>"388,!%r   c                z    V = V =V P                  P                  4        V P                  P	                  4        V =R # r!   )r   r$   r"   update_idletasksdestroyr&   s   &r   tearDownClassParenMatchTest.tearDownClass!   s0    Hck!!#Hr   c                >    V P                   P                  R R4       R# )1.0endN)r   delete)r   s   &r   tearDownParenMatchTest.tearDown(   s    		&r   c                @    \        V P                  4      pR  Vn        V# )c                      R # r!    r7   r   r   <lambda>/ParenMatchTest.get_parenmatch.<locals>.<lambda>-   s    $r   )r   r$   bellr   pms   & r   get_parenmatchParenMatchTest.get_parenmatch+   s    %	r   c           	     D   V P                   pV P                  4       pR EFg  w  r4pV P                  VR7      ;_uu_ 4        VP                  RR4       W2n        VP                  RR4       VP                  R4       V P                  RVP                  4       4       VR8X  d#   V P                  VP                  R	R4      R4       V P                  VP                  R	R4      V4       VP                  RR
4       VP                  4        V P                  RVP                  4       4       V P                  VP                  R	R4      R4       VP                  R4       V P                  VP                  R	R4      V4       RRR4       EKj  	  R#   + '       g   i     EK  ; i)openerparens)styler0   r1   insertzdef foobar(a, beventz<<parenmatch-check-restore>>paren)N1.10z1.11))r@   rG   rG   )defaultrG   rG   )rA   )z1.141.15)rJ   1.16)
expression)rH   rJ   )rH   rK   r7   )r   r=   subTestr2   STYLErC   flash_paren_eventassertIn
event_infoassertTupleEqualtag_nextrangetag_prevrangerestore_eventassertNotInassertEqualparen_closed_event)r   r   r<   rB   range1range2s   &     r   test_paren_styles ParenMatchTest.test_paren_styles0   sg    yy  "&D!E6
 E**E5) H&78$$W-<doo>OPH$))$*<*<We*L*:<%%**7E:FD Hc*  "  !?!%!24  !3!3GU!CRH%%g.%%**7E:FD) +*&D
 +**s    D>FFc                2   V P                   pV P                  4       pVP                  R R4       VP                  R4       VP                  R R4       VP	                  R4       VP                  R4       VP                  R R4       VP                  R4       R# )rC   z# Comment.)rD   z
defz	 a, *arg)N)r   r=   rC   rX   rO   )r   r   r<   s   &  r   test_paren_corner ParenMatchTest.test_paren_cornerR   s}     yy  "Hm,
g&Hg&
W%
g&Hk*
g&r   c                P   V P                  4       p\        4       Vn        VP                  ^ 4       V P	                  VP                  P
                  4       VP                  P                  4        VP                  ^4       V P                  VP                  P
                  4       R# )r   N)r=   r   rU   handle_restore_timer
assertTruecalled
reset_mockassertFalser;   s   & r   test_handle_restore_timer(ParenMatchTest.test_handle_restore_timere   sz      "6
"((//0
##%
"))001r   r7   N)r   r   r   r   classmethodr(   r-   r3   r=   r[   r^   rf   r   r   r   s   @r   r   r      sK     ( (  '
 DD'&2 2r   r   __main__)	verbosity)idlelib.parenmatchr   test.supportr   unittestunittest.mockr   tkinterr   r   r
   TestCaser   r   mainr7   r   r   <module>rr      sW    * !    & &U2X&& U2p zMMA r   