B
o
ÖQnl¬ã @ s– d Z ddlmZ ddlZddlmZ edƒ ddlmZmZ ddl m
Z
ddlmZ ddl
mZ ejZejZG d d
„ d
ejƒZedkr’ejdd
dS )zTest replace, coverage 78%.é )Ú
ReplaceDialogN)ÚrequiresZgui)ÚTkÚText)ÚMock)ÚMboxc @ st e Zd Zedd„ ƒZedd„ ƒZdd„ Zdd„ Zd d
„ Zdd„ Z d
d„ Z
dd„ Zdd„ Zdd„ Z
dd„ Zdd„ ZdS )ÚReplaceDialogTestc C sz t ƒ | _| j ¡ tt_t | j¡| _t| j| jƒ| _ dd„ | 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Ú ó z.ReplaceDialogTest.setUpClass..)r ÚrootZwithdrawr ÚseÚtkMessageBoxZSearchEngineÚenginer ÚdialogZbellr Úokr ÚtextZundo_block_startZundo_block_stop)Úclsr r r
Ú
setUpClass s
zReplaceDialogTest.setUpClassc C s$ t t_| `| `| `| j ¡ | `d S )N)Ú orig_mboxr r r r r r
Zdestroy)r r r r
Ú
tearDownClass! s
zReplaceDialogTest.tearDownClassc C s | j dd¡ d S )NÚinsertzThis is a sample sTring)r r )Úselfr r r
ÚsetUp( s zReplaceDialogTest.setUpc C s€ | j j d¡ | jj d¡ | j j d¡ | j j d¡ | j j d¡ | j j d¡ | j j d¡ dt
_dt
_| j
dd¡ d S )NÚ FTz1.0Úend)r ÚpatvarÚsetr ÚreplvarÚwordvarÚcasevarÚrevarÚwrapvarÚbackvarÚ showerrorÚtitleÚmessager Údelete)r r r r
ÚtearDown+ s zReplaceDialogTest.tearDownc C sô | j }| j}| jj}| jj}| jj}| j d¡ || j ¡ | ¡ ƒ |
d¡ |
d¡ |ƒ || dd¡dƒ | dd¡ |
d¡ |
d¡ |ƒ || d d
¡dƒ |
d¡ |
d¡ |ƒ || d
d¡dƒ | dd¡ | dd¡ | dd¡}|
d¡ |ƒ | dd¡}|||ƒ | dd¡ |
d¡ |
d¡ |ƒ || d¡dƒ || d¡dƒ |ƒ || d¡dƒ || d¡dƒ | dd¡}|ƒ | dd¡}|||ƒ | dd¡}|
d¡ |ƒ | dd¡}|||ƒ | j
d¡ d S )NZasdfÚaz1.8z1.12r z1.0ÚisÚhelloz1.2z1.7ÚstringZworldz1.23z1.28r z
line42:z
[a-z][\d]+z1.9ÚiÚjz2.1Úfoobarr )r ÚassertEqualr r r r Ú
replace_itZsetpatZgetpatÚgetr Úmark_setr Zfind_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}| jj}| jj}| jj}| jj d¡ | dd¡ | d¡ | d¡ |ƒ ||
d¡dƒ ||
d¡dƒ |ƒ ||
d¡dƒ ||
d¡dƒ |ƒ ||
d¡dƒ | dd ¡ | d
¡ |
dd¡}|ƒ |
dd¡}|||ƒ d S )
NFr z1.4r. r/ z1.2z1.5z1.20z1.8r+ z1.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}| jj}| jj}| jj}| jj d¡ | d¡ | d¡ |ƒ || dd¡dƒ || dd¡dƒ d S ) NTr+ r, z1.0z1.4ÚThisz1.5z1.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}| jj}| jj}| jj}| jj d¡ | j dd¡}| d¡ | d¡ |ƒ | j dd¡}|||ƒ | d¡ |ƒ || dd¡dƒ d S )NTz1.0r ÚthisÚthatr= z1.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}| jj}| jj}| jj}| jj d¡ | dd¡}| d¡ | d¡ |ƒ | dd¡}|||ƒ |
dd¡ |ƒ || dd ¡d
ƒ | d¡ |ƒ | dtj
¡ | d
tj¡ | d¡ |ƒ | dtj
¡ | dtj¡ dt_
dt_| d¡ | d¡ |ƒ | dtj
¡ | dtj¡ | j d¡ || ¡ dƒ d S )NTz1.0r z
[a-z][\d]+r, r z
line42z2.0z2.8Zlinhellor ÚerrorÚEmptyz[\dÚPatternz[a]ztest\zInvalid Replace Expressionú?z\?)r1 r r r r r r2 r" r r3 r ÚassertInr% r&