JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrB  fq @sdZddlmZddlZddlmZedddlmZmZddl m Z ddl m Z ddl mZejZe jZGd d d ejZed krejd d dS)zTest replace, coverage 78%.) ReplaceDialogN)requiresZgui)TkText)Mock)Mboxc@steZdZeddZeddZddZddZd d Zd d Z d dZ ddZ ddZ ddZ ddZddZdS)ReplaceDialogTestcCszt|_|jtt_t|j|_t|j|j|_ dd|j _ t |j _ t |j|_t |j_t |j_|j|j _dS)NcSsdS)Nr r r C/opt/alt/python37/lib64/python3.7/idlelib/idle_test/test_replace.pyz.ReplaceDialogTest.setUpClass..)rrootZwithdrawrse tkMessageBoxZ SearchEngineenginerdialogZbellrokrtextZundo_block_startZundo_block_stop)clsr r r setUpClasss      zReplaceDialogTest.setUpClasscCs$tt_|`|`|`|j|`dS)N) orig_mboxrrrrrr Zdestroy)rr r r tearDownClass!s  zReplaceDialogTest.tearDownClasscCs|jdddS)NinsertzThis is a sample sTring)rr)selfr r r setUp(szReplaceDialogTest.setUpcCs|jjd|jjd|jjd|jjd|jjd|jjd|jj ddt _ dt _ |j dddS)NFTz1.0end)rpatvarsetrreplvarwordvarcasevarrevarwrapvarbackvar showerrortitlemessagerdelete)rr r r tearDown+szReplaceDialogTest.tearDowncCs|j}|j}|jj}|jj}|jj}|jd||j| | d| d||| ddd| dd| d| d||| d d d| d | d ||| d dd | dd| dd| dd}| d|| dd}|||| dd| d| d||| dd|| dd||| dd|| dd| dd}|| dd}|||| dd}| d|| dd}||||j ddS)NZasdfaz1.8z1.12rz1.0ishelloz1.2z1.7stringZworldz1.23z1.28rz line42:z [a-z][\d]+z1.9ijz2.1foobarr)r assertEqualrrrr replace_itZsetpatZgetpatgetrmark_setrZfind_it)rrequalpvrvreplace before_text after_textr r r test_replace_simple7s\                        z%ReplaceDialogTest.test_replace_simplecCs|j}|j}|jj}|jj}|jj}|jjd| dd|d|d||| dd|| dd||| dd|| dd||| dd| dd |d | d d }|| d d }|||dS) NFrz1.4r.r/z1.2z1.5z1.20z1.8r+z1.0r) rr1rrrrr2r#rr4r3)rrr5r6r7r8r9r:r r r test_replace_wrap_around}s.       z*ReplaceDialogTest.test_replace_wrap_aroundcCst|j}|j}|jj}|jj}|jj}|jjd|d|d||| ddd|| ddddS) NTr+r,z1.0z1.4Thisz1.5z1.10) rr1rrrrr2r rr3)rrr5r6r7r8r r r test_replace_whole_words  z)ReplaceDialogTest.test_replace_whole_wordcCs|j}|j}|jj}|jj}|jj}|jjd|j dd}|d|d||j dd}||||d||| ddddS)NTz1.0rthisthatr=z1.4) r1rrrrrr2r!rr3)rr5rr6r7r8r9r:r r r test_replace_match_cases    z)ReplaceDialogTest.test_replace_match_casecCsJ|j}|j}|jj}|jj}|jj}|jjd| dd}|d|d|| dd}|||| dd||| dd d |d || d t j | d t j|d|| d t j | dt jd t _ d t _|d|d|| d t j | dt j|jd|| ddS)NTz1.0rz [a-z][\d]+r,rz line42z2.0z2.8ZlinhellorerrorEmptyz[\dPatternz[a]ztest\zInvalid Replace Expression?z\?)r1rrrrrr2r"rr3rassertInr%r&r'Z setcookedpat)rr5rr6r7r8r9r:r r r test_replace_regexs@           z$ReplaceDialogTest.test_replace_regexcCs|j}|j}|jj}|jj}|jj}|jjd| dd|d|d||| ddd|| dd d||| d d d||| dd ddS) NTrz is as r+wasz1.2z1.4z2.0z2.3z1.5z1.8) r1rrrrrr2r$rrr3)rr5rr6r7r8r r r test_replace_backwardss    z(ReplaceDialogTest.test_replace_backwardscCs|j}|jj}|jj}|jj}|dd|d|ddd|d|d|| d|dd|jj d|d || d t j | d t j|d |d ||jj d|d|d|dS)Nr z1.0rdr+rHTrrBrCz[s][T]\Fztext which is not presentr0)rrrrr replace_allrr3rZ assertNotInr"rFr%r&r')rrr6r7rMr r r test_replace_alls,        z"ReplaceDialogTest.test_replace_allcCsr|j}|jj}|jj}|jj}|j}|d|d|||ddd|jj d|d|dS)Nr=rHz sel.firstzsel.lastTr) rrrrrZdefault_commandr1rr3r")rrr6r7Z replace_findr5r r r test_default_commands   z&ReplaceDialogTest.test_default_commandN)__name__ __module__ __qualname__ classmethodrrrr)r;r<r>rArGrIrNrOr r r r rs   F)r__main__) verbosity)__doc__Zidlelib.replacerZunittestZ test.supportrZtkinterrrZ unittest.mockrZidlelib.idle_test.mock_tkrZidlelib.searchengineZ searchenginerrrr%ZTestCaserrPmainr r r r s