£Á°è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>
B
     fq                  @   s   d Z ddlmZ ddlZddlmZ ed ddlmZmZ ddl	m
Z
 ddlmZ ddlmZ ejZejZG d	d
 d
ejZedkrejdd dS )zTest replace, coverage 78%.    )ReplaceDialogN)requiresZgui)TkText)Mock)Mboxc               @   st   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d Zdd Zdd Zdd Zdd ZdS )ReplaceDialogTestc             C   sz   t  | _| j  tt_t| j| _t| j| j| _	dd | j	_
t | j	_t| j| _t | j_t | j_| j| j	_d S )Nc               S   s   d S )N r	   r	   r	   C/opt/alt/python37/lib64/python3.7/idlelib/idle_test/test_replace.py<lambda>       z.ReplaceDialogTest.setUpClass.<locals>.<lambda>)r   rootZwithdrawr   setkMessageBoxZSearchEngineenginer   dialogZbellr   okr   textZundo_block_startZundo_block_stop)clsr	   r	   r
   
setUpClass   s    



zReplaceDialogTest.setUpClassc             C   s$   t t_| `| `| `| j  | `d S )N)	orig_mboxr   r   r   r   r   r   Zdestroy)r   r	   r	   r
   tearDownClass!   s    
zReplaceDialogTest.tearDownClassc             C   s   | j dd d S )NinsertzThis is a sample sTring)r   r   )selfr	   r	   r
   setUp(   s    zReplaceDialogTest.setUpc             C   s   | j jd | jjd | j jd | j jd | j jd | j jd | j j	d dt
_dt
_| jdd d S )N FTz1.0end)r   patvarsetr   replvarwordvarcasevarrevarwrapvarbackvar	showerrortitlemessager   delete)r   r	   r	   r
   tearDown+   s    zReplaceDialogTest.tearDownc             C   s  | j }| j}| jj}| jj}| jj}| jd || j |	  |
d |
d |  ||	ddd |dd |
d |
d |  ||	d	d
d |
d |
d |  ||	ddd |dd |dd |	dd}|
d |  |	dd}||| |dd |
d |
d |  ||	dd ||	dd |  ||	dd ||	dd |	dd}|  |	dd}||| |	dd}|
d |  |	dd}||| | jd d S )NZasdfaz1.8z1.12r   z1.0ishelloz1.2z1.7stringZworldz1.23z1.28r   z
line42:z
[a-z][\d]+z1.9ijz2.1foobarr   )r   assertEqualr   r   r   r   
replace_itZsetpatZgetpatgetr   mark_setr   Zfind_it)r   r   equalpvrvreplacebefore_text
after_textr	   r	   r
   test_replace_simple7   s\    












z%ReplaceDialogTest.test_replace_simplec             C   s   | j }| j}| jj}| jj}| jj}| jjd |	dd |d |d |  ||
dd ||
dd |  ||
dd ||
dd |  ||
dd |	dd	 |d
 |
dd}|  |
dd}||| d S )NFr   z1.4r.   r/   z1.2z1.5z1.20z1.8r+   z1.0r   )r   r1   r   r   r   r   r2   r#   r   r4   r3   )r   r   r5   r6   r7   r8   r9   r:   r	   r	   r
   test_replace_wrap_around}   s.    


z*ReplaceDialogTest.test_replace_wrap_aroundc             C   st   | j }| j}| jj}| jj}| jj}| jjd |d |d |  ||	ddd ||	ddd d S )	NTr+   r,   z1.0z1.4Thisz1.5z1.10)
r   r1   r   r   r   r   r2   r    r   r3   )r   r   r5   r6   r7   r8   r	   r	   r
   test_replace_whole_word   s    

z)ReplaceDialogTest.test_replace_whole_wordc             C   s   | j }| j}| jj}| jj}| jj}| jjd | j	dd}|d |d |  | j	dd}||| |d |  ||	ddd d S )NTz1.0r   thisthatr=   z1.4)
r1   r   r   r   r   r   r2   r!   r   r3   )r   r5   r   r6   r7   r8   r9   r:   r	   r	   r
   test_replace_match_case   s    



z)ReplaceDialogTest.test_replace_match_casec             C   sJ  | j }| j}| jj}| jj}| jj}| jjd |	dd}|d |d |  |	dd}||| |
dd |  ||	dd	d
 |d |  | dtj | dtj |d |  | dtj | dtj dt_dt_|d |d |  | dtj | dtj | jd ||	 d d S )NTz1.0r   z
[a-z][\d]+r,   r   z
line42z2.0z2.8Zlinhellor   errorEmptyz[\dPatternz[a]ztest\zInvalid Replace Expression?z\?)r1   r   r   r   r   r   r2   r"   r   r3   r   assertInr%   r&   r'   Zsetcookedpat)r   r5   r   r6   r7   r8   r9   r:   r	   r	   r
   test_replace_regex   s@    






z$ReplaceDialogTest.test_replace_regexc             C   s   | j }| j}| jj}| jj}| jj}| jjd |	dd |d |d |  ||
ddd ||
dd	d |  ||
d
dd |  ||
dd
d d S )NTr   z
is as r+   wasz1.2z1.4z2.0z2.3z1.5z1.8)r1   r   r   r   r   r   r2   r$   r   r   r3   )r   r5   r   r6   r7   r8   r	   r	   r
   test_replace_backwards   s     

z(ReplaceDialogTest.test_replace_backwardsc             C   s   | j }| jj}| jj}| jj}|dd |d|ddd  |d |d |  | 	d|dd | jj
d |d	 |  | d
tj | dtj |d |d |  | jj
d |d |d |  d S )Nr   
z1.0r   d   r+   rH   Tr   rB   rC   z[s][T]\Fztext which is not presentr0   )r   r   r   r   r   replace_allr   r3   r   ZassertNotInr"   rF   r%   r&   r'   )r   r   r6   r7   rM   r	   r	   r
   test_replace_all   s,    






z"ReplaceDialogTest.test_replace_allc             C   sr   | j }| jj}| jj}| jj}| j}|d |d |  ||ddd | jj	d |d |  d S )Nr=   rH   z	sel.firstzsel.lastTr   )
r   r   r   r   r   Zdefault_commandr1   r   r3   r"   )r   r   r6   r7   Zreplace_findr5   r	   r	   r
   test_default_command  s    


z&ReplaceDialogTest.test_default_commandN)__name__
__module____qualname__classmethodr   r   r   r)   r;   r<   r>   rA   rG   rI   rN   rO   r	   r	   r	   r
   r      s   F)r   __main__   )	verbosity)__doc__Zidlelib.replacer   ZunittestZtest.supportr   Ztkinterr   r   Zunittest.mockr   Zidlelib.idle_test.mock_tkr   Zidlelib.searchengineZsearchenginer   r   r   r%   ZTestCaser   rP   mainr	   r	   r	   r
   <module>   s     