JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr Yfp @sdZddlmZedddlZddlmZddlmZmZddl m Z ddl j Z ddljZe jZe jZGdd d ejZed krejd d dS) z"Unittest for idlelib.ReplaceDialog)requiresZguiN)Mock)TkText)Mboxc@seZdZeddZeddZddZddZd d Zd d Z d dZ ddZ ddZ ddZ ddZddZdS)ReplaceDialogTestcCst|_|jjtt_tj|j|_tj |j|j|_ t |j _ t |j|_t |j_t |j_|j|j _dS)N)rrootZwithdrawrse tkMessageBox SearchEngineenginerd ReplaceDialogdialogrokrtextZundo_block_startZundo_block_stop)clsrI/opt/alt/python35/lib64/python3.5/idlelib/idle_test/test_replacedialog.py setUpClasss   zReplaceDialogTest.setUpClasscCs2tt_|`|`|`|jj|`dS)N) orig_mboxr r rrr rZdestroy)rrrr tearDownClasss  zReplaceDialogTest.tearDownClasscCs|jjdddS)NinsertzThis is a sample sTring)rr)selfrrrsetUp&szReplaceDialogTest.setUpcCs|jjjd|jjjd|jjjd|jjjd|jjjd|jjjd|jj jddt _ dt _ |j jdddS)NFTz1.0end)r patvarsetrreplvarwordvarcasevarrevarwrapvarbackvar showerrortitlemessagerZdelete)rrrrtearDown)s  zReplaceDialogTest.tearDowncCs|j}|j}|jj}|jj}|jj}|jjd||jj|j |j d|j d|jj |j|||j ddd|j dd|j d|j d|||j d d d|j d |j d |||j d dd |j dd|j dd|j dd}|j d||j dd}||||j dd|j d|j d|||j dd||j dd|||j dd||j dd|j dd}||j dd}||||j dd}|j d||j dd}||||jjddS)NZasdfaz1.8z1.12rz1.0ishelloz1.2z1.7stringZworldz1.23z1.28rz line42:z [a-z][\d]+z1.9ijz2.1foobarr)r assertEqualr rrr replace_itZsetpatZgetpatgetropenmark_setrZfind_it)rrequalpvrvreplace before_text after_textrrrtest_replace_simple5s^                  z%ReplaceDialogTest.test_replace_simplecCsO|j}|j}|jj}|jj}|jj}|jjjd|j dd|jd|jd|||j dd||j dd|||j dd||j dd|||j dd|j dd |jd |j d d }||j d d }|||dS) NFrz1.4r-r.z1.2z1.5z1.20z1.8r*z1.0r) rr0r rrrr1r#rr4r2)rrr5r6r7r8r9r:rrrtest_replace_wrap_around|s.        z*ReplaceDialogTest.test_replace_wrap_aroundcCs|j}|j}|jj}|jj}|jj}|jjjd|jd|jd|||j ddd||j ddddS) NTr*r+z1.0z1.4Thisz1.5z1.10) rr0r rrrr1r rr2)rrr5r6r7r8rrrtest_replace_whole_words       z)ReplaceDialogTest.test_replace_whole_wordcCs|j}|j}|jj}|jj}|jj}|jjjd|jj dd}|jd|jd||jj dd}||||jd|||j ddddS)NTz1.0rthisthatr=z1.4) r0rr rrrr1r!rr2)rr5rr6r7r8r9r:rrrtest_replace_match_cases         z)ReplaceDialogTest.test_replace_match_casecCs|j}|j}|jj}|jj}|jj}|jjjd|j dd}|jd|jd||j dd}||||j dd|||j dd d |jd ||j d t j |j d t j|jd||j d t j |j dt jd t _ d t _|jd|jd||j d t j |j dt j|jjd||j ddS)NTz1.0rz [a-z][\d]+r+rz line42z2.0z2.8ZlinhellorerrorEmptyz[\dPatternz[a]ztest\zInvalid Replace Expression'z\')r0rr rrrr1r"rr2rassertInr%r&r'Z setcookedpat)rr5rr6r7r8r9r:rrrtest_replace_regexs@              z$ReplaceDialogTest.test_replace_regexcCs|j}|j}|jj}|jj}|jj}|jjjd|j dd|jd|jd|||j ddd||j dd d|||j d d d|||j dd ddS) NTrz is as r*wasz1.2z1.4z2.0z2.3z1.5z1.8) r0rr rrrr1r$rrr2)rr5rr6r7r8rrrtest_replace_backwardss        z(ReplaceDialogTest.test_replace_backwardscCs@|j}|jj}|jj}|jj}|jdd|jd|jddd|jd|jd||j d|jdd|jj jd|jd ||j d t j |j d t j|jd |jd ||jj jd|jd|jd|dS)Nr z1.0rdr*rHTrrBrCz[s][T]\Fztext which is not presentr/)rr rrr replace_allrr2rZ assertNotInr"rFr%r&r')rrr6r7rMrrrtest_replace_alls,            z"ReplaceDialogTest.test_replace_allcCs|j}|jj}|jj}|jj}|j}|jd|jd|||jddd|jj jd|jd|dS)Nr=rHz sel.firstzsel.lastTr) rr rrrZdefault_commandr0rr2r")rrr6r7Z replace_findr5rrrtest_default_commands        z&ReplaceDialogTest.test_default_commandN)__name__ __module__ __qualname__ classmethodrrrr(r;r<r>rArGrIrNrOrrrrrs    G    )  r__main__ verbosity)__doc__Z test.supportrZunittestZ unittest.mockrZtkinterrrZidlelib.idle_test.mock_tkrZidlelib.SearchEnginer r Zidlelib.ReplaceDialogrr r rr%ZTestCaserrPmainrrrrs