a 9êdg:\ã@s@dZddlmZddlZddlmZddlmZddlm Z m Z ddl m Z ddl mZGd d „d ejƒZGd d „d ejƒZGd d„dejƒZGdd„dejƒZGdd„dejƒZGdd„dƒZGdd„dƒZGdd„dejƒZGdd„dƒZGdd„dejƒZGdd„dejƒZGdd „d ejƒZed!kr b: return a elif a < b: return b else: return None cCsn|jj}|j}|j}| ddd¡gd¢}||ƒddd |¡|fƒ| ddd¡||ƒdd dd d gfƒdS) Nrwú7.0ú10.0)r z def compare(self):z if a > b:r Ú r&r*z15.0z16.0r )rmÚ get_regionr#rrxÚjoinÚ tag_remove)rrrr#ÚeqZexpected_linesrrrÚtest_get_region´sz FormatRegionTest.test_get_regionc Cs&|jj}|j}|j}|j}t ¡|_|j ¡d}|j ¡d}|  ddd¡|j  ¡\}}} } |||| | ƒ|j  ¡||  dd¡| ƒ||  dd¡| ƒ|  ddd ¡d } |  d ¡} |d d | | ƒ||  dd¡| ƒ||  d d¡| ƒ||  dd¡|ƒ||  dd¡|ƒ|  ddd ¡||_dS)NrEé rwz6.0z11.0z sel.firstzsel.lastr&r*zadded line 1 r‹r‰rŠz7.0-1cz12.0-1c)rmÚ set_regionr#rZbellrrƒr…Ú splitlinesrxrŒZassert_called_oncerrrŽr/) rZset_r#rZ save_bellZline6Zline10ÚheadÚtailÚcharsÚlinesZ newstringÚnewlinesrrrÚtest_set_regionÅs.   z FormatRegionTest.test_set_regioncCs>|jj}|j}|j}| ddd¡|ƒ|| dd¡dƒdS)Nrwr‰rŠz2 def compare(self): if a > b: )rmZindent_region_eventr#rrxrr)rÚindentr#rrrrÚtest_indent_region_eventès z)FormatRegionTest.test_indent_region_eventcCs>|jj}|j}|j}| ddd¡|ƒ|| dd¡dƒdS)Nrwr‰rŠz" def compare(self): if a > b: )rmZdedent_region_eventr#rrxrr)rÚdedentr#rrrrÚtest_dedent_region_eventòs z)FormatRegionTest.test_dedent_region_eventcCs>|jj}|j}|j}| ddd¡|ƒ|| dd¡dƒdS)Nrwr‰rŠz0## ## def compare(self): ## if a > b: )rmÚcomment_region_eventr#rrxrr)rrCr#rrrrÚtest_comment_region_eventüs z*FormatRegionTest.test_comment_region_eventcCs®|jj}|jj}|j}|j}| ddd¡|ƒ|ƒ|| dd¡dƒ| ddd¡| ddd¡|ƒ|| dd ¡d ƒ|j ddd d d g¡|ƒ|| dd ¡d ƒdS)Nrwr‰rŠz* def compare(self): if a > b: r&r*r6r:z3.endz # Class comment.r z# Class comment.z Class comment.) rmržZuncomment_region_eventr#rrxrrrŽr’)rrCZ uncommentr#rrrrÚtest_uncomment_region_eventsz,FormatRegionTest.test_uncomment_region_eventÚ _asktabwidthcCs\|jj}|j}|j}| ddd¡d|_| |ƒ¡d|_| |ƒ¡|| dd¡dƒdS)Nrwr‰rŠr5z$ def compare(self): if a > b: ) rmÚtabify_region_eventr#rrxÚ return_valueÚ assertIsNoneÚassertIsNotNonerr)rr¡Ztabifyr#rrrrÚtest_tabify_region_events  z)FormatRegionTest.test_tabify_region_eventcCsl|jj}|j}|j}| ddd¡d|_| |ƒ¡d|_|j ¡d|_| |ƒ¡||  dd¡dƒdS)Nrwr‰rŠr)r5z0 def compare(self): if a > b: ) rmZuntabify_region_eventr#rrxr£r¤r¢r¥rr)rr¡Zuntabifyr#rrrrÚtest_untabify_region_event)s   z+FormatRegionTest.test_untabify_region_eventÚ askintegercCs |jj}d|_| |ƒd¡dS)Né )rmr¡r£r)rr¨ZaskrrrÚtest_ask_tabwidth:sz"FormatRegionTest.test_ask_tabwidthN)rrr rKr%rqr†rˆr…rr™r›rrŸr rÚpatchÚobjectr r„r¦r§rªrrrrr‚‰s&  #      r‚c@s8eZdZej ed¡dd„ƒZej ed¡dd„ƒZdS)Ú IndentsTestÚaskyesnocCsjtddƒ}t |¡}d|_| d¡| |jd¡| |jd¡| d¡| |jd¡| |jd¡dS)NTéF)rr ÚIndentsr£Ztoggle_tabs_eventrrr€)rr®rYÚindentsrrrÚtest_toggle_tabsCs    zIndentsTest.test_toggle_tabsr¨cCsxtddƒ}t |¡}d|_| d¡| |jd¡d|_| d¡| |jd¡d|_d|_| d¡| |jd¡dS)Nr8r5rET)rr r°r£Zchange_indentwidth_eventrr€r)rr¨rYr±rrrÚtest_change_indentwidthQs     z#IndentsTest.test_change_indentwidthN) rrr rr«r¬r r²r³rrrrr­As  r­c@s<eZdZedd„ƒZedd„ƒZdd„Zdd„Zd d „Zd S) Ú RstripTestcCsHtdƒtƒ|_|j ¡t|jƒ|_t|jd|_t  |j¡j |_ dS)Nrk)r#) rrrhrlrr#Ú MockEditorrYr ZRstripÚ do_rstriprprrrr%fs   zRstripTest.setUpClasscCs(|`|`|`|j ¡|j ¡|`dSra)r#r¶rYrhrnrorprrrrqos   zRstripTest.tearDownClasscCs|j dd¡dS)Nr&úend-1cr‡r rrrrˆvszRstripTest.tearDowncCs8d}d}|j d|¡| ¡| |j dd¡|¡dS)NzˆLine with an ending tab Line ending in 5 spaces Linewithnospaces indented line indented line with trailing space zyLine with an ending tab Line ending in 5 spaces Linewithnospaces indented line indented line with trailing space r&r+)r#r+r¶rrr)rZoriginalÚstrippedrrrÚtest_rstrip_linesysÿÿzRstripTest.test_rstrip_linesc CsÒ|j}dD]X}|j|d8| d|¡| ¡| | dd¡d¡Wdƒq 1sX0Yq dD]d}|j|dD| dd¡| d|¡| ¡| | dd¡d¡Wdƒqh1sÂ0YqhdS)N)r r‹z )Úcoder&r·r )úa za za r»)r#ZsubTestr+r¶rrrr0)rr#rºrrrÚtest_rstrip_endŒs 4  zRstripTest.test_rstrip_endN) rrr rKr%rqrˆr¹r¼rrrrr´ds  r´Ú__main__r))Ú verbosityÚexit)r!Zidlelibrr ZunittestrZ test.supportrÚtkinterrrZidlelib.editorrZidlelib.idle_test.mock_idlerrµZTestCaser r"rLrTrXr^rjrr‚r­r´rÚmainrrrrÚs.     w 9#7