a  ze:\@s@dZddlmZddlZddlmZddlmZddlm Z m Z ddl m Z ddl mZGd d d ejZGd d d ejZGd ddejZGdddejZGdddejZGdddZGdddZGdddejZGdddZGdddejZGdddejZGdd d ejZed!kr b: return a elif a < b: return b else: return None cCsn|jj}|j}|j}|dddgd}||ddd||f|ddd||dd dd d gfdS) Nrw7.010.0)r z def compare(self):z if a > b:r  r&r*z15.0z16.0r )rm get_regionr#rrxjoin tag_remove)rrrr#eqZexpected_linesrrrtest_get_regionsz FormatRegionTest.test_get_regionc Cs&|jj}|j}|j}|j}t|_|jd}|jd}| 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 rrrz7.0-1cz12.0-1c)rm set_regionr#rZbellrrr splitlinesrxrZassert_called_oncerrrr/) rZset_r#rZ save_bellZline6Zline10headtailcharslinesZ newstringnewlinesrrrtest_set_regions.   z FormatRegionTest.test_set_regioncCs>|jj}|j}|j}|ddd|||ddddS)Nrwrrz2 def compare(self): if a > b: )rmZindent_region_eventr#rrxrr)rindentr#rrrrtest_indent_region_events z)FormatRegionTest.test_indent_region_eventcCs>|jj}|j}|j}|ddd|||ddddS)Nrwrrz" def compare(self): if a > b: )rmZdedent_region_eventr#rrxrr)rdedentr#rrrrtest_dedent_region_events z)FormatRegionTest.test_dedent_region_eventcCs>|jj}|j}|j}|ddd|||ddddS)Nrwrrz0## ## def compare(self): ## if a > b: )rmcomment_region_eventr#rrxrr)rrCr#rrrrtest_comment_region_events z*FormatRegionTest.test_comment_region_eventcCs|jj}|jj}|j}|j}|ddd||||ddd|ddd|ddd|||dd d |jddd d d g|||dd d dS)Nrwrrz* def compare(self): if a > b: r&r*r6r:z3.endz # Class comment.r z# Class comment.z Class comment.) rmrZuncomment_region_eventr#rrxrrrr)rrCZ uncommentr#rrrrtest_uncomment_region_eventsz,FormatRegionTest.test_uncomment_region_event _asktabwidthcCs\|jj}|j}|j}|dddd|_||d|_||||ddddS)Nrwrrr5z$ def compare(self): if a > b: ) rmtabify_region_eventr#rrx return_value assertIsNoneassertIsNotNonerr)rrZtabifyr#rrrrtest_tabify_region_events  z)FormatRegionTest.test_tabify_region_eventcCsl|jj}|j}|j}|dddd|_||d|_|jd|_|||| ddddS)Nrwrrr)r5z0 def compare(self): if a > b: ) rmZuntabify_region_eventr#rrxrrrrrr)rrZuntabifyr#rrrrtest_untabify_region_event)s   z+FormatRegionTest.test_untabify_region_event askintegercCs |jj}d|_||ddS)N )rmrrr)rrZaskrrrtest_ask_tabwidth:sz"FormatRegionTest.test_ask_tabwidthN)rrr rKr%rqrrrrrrrrrrpatchobjectr rrrrrrrrrs&  #      rc@s8eZdZejedddZejedddZdS) IndentsTestaskyesnocCsjtdd}t|}d|_|d||jd||jd|d||jd||jddS)NTF)rr IndentsrZtoggle_tabs_eventrrr)rrrYindentsrrrtest_toggle_tabsCs    zIndentsTest.test_toggle_tabsrcCsxtdd}t|}d|_|d||jdd|_|d||jdd|_d|_|d||jddS)Nr8r5rET)rr rrZchange_indentwidth_eventrrr)rrrYrrrrtest_change_indentwidthQs     z#IndentsTest.test_change_indentwidthN) rrr rrrr rrrrrrrAs  rc@s<eZdZeddZeddZddZddZd d Zd S) RstripTestcCsHtdt|_|jt|j|_t|jd|_t |jj |_ dS)Nrk)r#) rrrhrlrr# MockEditorrYr ZRstrip do_rstriprprrrr%fs   zRstripTest.setUpClasscCs(|`|`|`|j|j|`dSra)r#rrYrhrnrorprrrrqos   zRstripTest.tearDownClasscCs|jdddS)Nr&end-1crr rrrrvszRstripTest.tearDowncCs8d}d}|jd||||jdd|dS)NzLine 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+rrrr)rZoriginalstrippedrrrtest_rstrip_linesyszRstripTest.test_rstrip_linesc Cs|j}dD]X}|j|d8|d||||dddWdq 1sX0Yq dD]d}|j|dD|dd|d||||dddWdqh1s0YqhdS)N)r rz )coder&rr )a za za r)r#ZsubTestr+rrrrr0)rr#rrrrtest_rstrip_ends 4  zRstripTest.test_rstrip_endN) rrr rKr%rqrrrrrrrrds  r__main__r)) verbosityexit)r!Zidlelibrr ZunittestrZ test.supportrtkinterrrZidlelib.editorrZidlelib.idle_test.mock_idlerrZTestCaser r"rLrTrXr^rjrrrrrmainrrrrs.     w 9#7