
    z%ig                        	 d dl mZ d dlZd dlmZ d dlmZmZ d dlmZ d dl m	Z	 d dl m
Z
 d dl mZ ej                  j                  Z e	j                  d	       e	j                  d	       e	j                  d	       e	j                  d	      d
ZdZ G d d      Z G d dej&                        Zedk(  r ej,                  d       yy)    )zzdummyN)requires)TkText)mock)config)editor)format )main	highlightkeys
extensionszd
class C1:
    # Class comment.
    def __init__(self, a, b):
        self.a = a
        self.b = b
c                   >    e Zd Zej                  j
                  Zd Zy)DummyEditwinc                     || _         || _        || _        t        j                  |       | _        t        j                         | j                  _        t        j                         | j                  _	        y N)
roottoptextr
   FormatRegionfregionr   Mockundo_block_startundo_block_stop)selfr   r   s      R/home/uftp/.pyenv/versions/3.12.0/lib/python3.12/idlelib/idle_test/test_zzdummy.py__init__zDummyEditwin.__init__    sM    		**40%)YY[		"$(IIK		!    N)__name__
__module____qualname__r	   EditorWindowget_selection_indicesr    r   r   r   r      s    "//EE0r   r   c                   \    e Zd Zed        Zed        Zd Zd Zd Zd Z	d Z
d Zd	 Zd
 Zy)ZZDummyTestc                     t        d       t               x}| _        |j                          t	        | j                        x}| _        t        ||      | _        t        t        j                  _        y )Ngui)r   r   r   withdrawr   r   r   r	   testcfgr   idleConfuserCfg)clsr   r   s      r   
setUpClasszZZDummyTest.setUpClass+   sP    $sxsxx.(sx!$-
#* r   c                 6   t         t        j                  _        | `| `| j                  j                          | j                  j                  j                  dd      D ]  }| j                  j                  |        | j                  j                          | `y )Nafterinfo)usercfgr   r,   r-   r	   r   r   update_idletaskstkcallafter_canceldestroy)r.   ids     r   tearDownClasszZZDummyTest.tearDownClass4   st    #* J!!#((++""7F3 	&BHH!!"%	&Hr   c                 &   | j                   }|j                  dt               |j                  j	                          |j
                  j	                          t        j                  | j                        x}| _	        dt        j                  _
        y )N1.0
# ignore #)r   insertcode_sampler   
reset_mockr   r   ZzDummyr	   zzztext)r   r   rB   s      r   setUpzZZDummyTest.setUp>   sb    yyE;'((*'')t{{33TW ,r   c                 @    | j                   j                  dd       | `y )Nr<   end)r   deleterB   r   s    r   tearDownzZZDummyTest.tearDownF   s    		&Gr   c                     t        t        |j                  d                  }g }t        d|      D ]:  }|j	                  | d| d      }|j                  |j                  |             < |S )NrF      z.0z.end)intfloatindexrangegetappend
startswith)r   r   valueend_lineactuallinetxts          r   
checklineszZZDummyTest.checklinesJ   so    uTZZ./0 !X& 	1D((dV2;4&6CMM#../0	1 r   c                     | j                   }| j                  |j                  | j                         | j                  |j                  | j                  j                         y r   )rB   assertEqualeditwinr	   r   )r   rB   s     r   	test_initzZZDummyTest.test_initU   sA    WWT[[1$++"2"23r   c                    | j                  | j                  j                  d       t        d   j	                  ddd       t
        j                  j                          | j                  | j                  j                  d       y )Nr=   r   rA   zz-textspam)rZ   rB   rC   r+   	SetOptionr   rA   reloadrH   s    r   test_reloadzZZDummyTest.test_reloadZ   sY    5''	8VD /r   c                    | j                   }| j                  }|j                  } || j                  j                  d       g d}| j	                  ||j                        } |||       |j                  ddd        ||j                         d       g d}| j	                  ||j                        } |||       |j                  j                          |j                  j                          y )Nr=   )FFFFFFFsel2.04.endbreak)FTTTFFF)
rZ   rB   r   rC   rX   tag_add
z_in_eventr   assert_called_oncer   r   eqrB   r   expectedrU   s         r   test_z_in_eventzZZDummyTest.test_z_in_event`   s    WWww
477==,' Erxx0
8VUE7+
2==?G$Arxx0
8V002//1r   c                 h   | j                   }| j                  }|j                  } || j                  j                  d       |j	                  ddd       |j                          |j                  j                          |j                  j                          |j                  ddd       |j	                  ddd        ||j                         d	       g d
}| j                  ||j                        } |||       |j                  j                          |j                  j                          y )Nr=   rc   rd   z5.endr<   rF   z3.0re   rf   )FTFFTFF)rZ   rB   r   rC   rg   rh   r   r@   r   
tag_removez_out_eventrX   ri   rj   s         r   test_z_out_eventzZZDummyTest.test_z_out_eventt   s    WWww
477==,' 	UE7+
((*'') 	ue,UE7+
2>>W%Brxx0
8V002//1r   c                     | j                   }|j                  }|j                  ddd       |j                          |j	                          | j                  |j                  dd      t               y )Nrc   r<   zend-1c)rB   r   rg   rh   rp   rZ   rP   r?   )r   rB   r   s      r   test_roundtripzZZDummyTest.test_roundtrip   sR    WWwwUE8,

%2K@r   N)r    r!   r"   classmethodr/   r:   rD   rI   rX   r\   ra   rm   rq   rs   r%   r   r   r'   r'   )   sQ    + +  -	4
02(2.	Ar   r'   __main__   )	verbosity)idlelibr   unittesttest.supportr   tkinterr   r   r   r   r	   r
   r,   r-   r3   IdleUserConfParserr+   r?   r   TestCaser'   r    r   r%   r   r   <module>r~      s       !      


"
"%F%%b)***2.%F%%b)+&++B/	0 0kA(## kA\ zHMMA r   