B � f<\�@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!k�r b: return a elif a < b: return b else: return None cCsr|jj}|j}|j}|�ddd�ddddg}||�ddd�|�|f�|�ddd �||�d d dddgf�dS) Nrkz7.0z10.0r z def compare(self):z if a > b:� z1.0r%z15.0z16.0)rc� get_regionrrrl�join� tag_remove)r rgr�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)Nr<� rkz6.0z11.0z sel.firstzsel.lastz1.0r%zadded line 1 r{z7.0z10.0z7.0-1cz12.0-1c)rc� set_regionrrZbellrrvrx� splitlinesrlr|Zassert_called_oncergr~r*) r Zset_rrZ save_bellZline6Zline10�head�tail�chars�linesZ newstring�newlinesrrr�test_set_region�s.   z FormatRegionTest.test_set_regioncCs>|jj}|j}|j}|�ddd�|�||�dd�d�dS)Nrkz7.0z10.0z2 def compare(self): if a > b: )rcZindent_region_eventrrrlrg)r �indentrrrrr�test_indent_region_event�s z)FormatRegionTest.test_indent_region_eventcCs>|jj}|j}|j}|�ddd�|�||�dd�d�dS)Nrkz7.0z10.0z" def compare(self): if a > b: )rcZdedent_region_eventrrrlrg)r �dedentrrrrr�test_dedent_region_event�s z)FormatRegionTest.test_dedent_region_eventcCs>|jj}|j}|j}|�ddd�|�||�dd�d�dS)Nrkz7.0z10.0z0## ## def compare(self): ## if a > b: )rc�comment_region_eventrrrlrg)r r:rrrrr�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)Nrkz7.0z10.0z* def compare(self): if a > b: z1.0r%z3.0z4.0z3.endz # Class comment.r z# Class comment.z Class comment.) rcr�Zuncomment_region_eventrrrlrgr~r�)r r:Z uncommentrrrrr�test_uncomment_region_eventsz,FormatRegionTest.test_uncomment_region_event� _asktabwidthcCs\|jj}|j}|j}|�ddd�d|_|�|��d|_|�|��||�dd�d�dS)Nrkz7.0z10.0r0z$ def compare(self): if a > b: ) rc�tabify_region_eventrrrl� return_value� assertIsNone�assertIsNotNonerg)r r�Ztabifyrrrrr�test_tabify_region_events  z)FormatRegionTest.test_tabify_region_eventcCsl|jj}|j}|j}|�ddd�d|_|�|��d|_|j��d|_|�|��||� dd�d�dS)Nrkz7.0z10.0r$r0z0 def compare(self): if a > b: ) rcZuntabify_region_eventrrrlr�r�r�r�rg)r r�Zuntabifyrrrrr�test_untabify_region_event)s   z+FormatRegionTest.test_untabify_region_event� askintegercCs |jj}d|_|�|�d�dS)N� )rcr�r�r)r r�Zaskrrr�test_ask_tabwidth:sz"FormatRegionTest.test_ask_tabwidthN)rrrrBr!rfryrzrxr�r�r�r�r�r�r�patch�objectr rwr�r�r�rrrrru�s #   ruc@s8eZdZej�ed�dd��Zej�ed�dd��ZdS)� IndentsTest�askyesnocCsjtdd�}t�|�}d|_|�d�|�|jd�|�|jd�|�d�|�|jd�|�|jd�dS)NT�F)rrr �Indentsr�Ztoggle_tabs_eventrrtrs)r r�rP�indentsrrr�test_toggle_tabsCs    zIndentsTest.test_toggle_tabsr�cCsxtdd�}t�|�}d|_|�d�|�|jd�d|_|�d�|�|jd�d|_d|_|�d�|�|jd�dS)Nr2r0r<T)rrr r�r�Zchange_indentwidth_eventrrsrt)r r�rPr�rrr�test_change_indentwidthQs     z#IndentsTest.test_change_indentwidthN) rrrrr�r�r r�r�rrrrr�Asr�c@s<eZdZedd��Zedd��Zdd�Zdd�Zd d �Zd S) � RstripTestcCsHtd�t�|_|j��t|j�|_t|jd�|_t� |j�j |_ dS)Nra)r) rrr^rbrr� MockEditorrPr ZRstrip� do_rstrip)r rrrr!fs   zRstripTest.setUpClasscCs(|`|`|`|j��|j��|`dS)N)rr�rPr^rdre)r rrrrfos   zRstripTest.tearDownClasscCs|j�dd�dS)Nz1.0zend-1c)rr+)r rrrrzvszRstripTest.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 z1.0r&)rr&r�rrg)r Zoriginal�strippedrrr�test_rstrip_linesys zRstripTest.test_rstrip_linesc Cs�|j}xLdD]D}|j|d��.|�d|�|��|�|�dd�d�WdQRXq WxXdD]P}|j|d��:|�dd�|�d|�|��|�|�dd�d�WdQRXqZWdS)N)r r{z )�codez1.0zend-1cr )za za za za )rZsubTestr&r�rrgr+)r rr�rrr�test_rstrip_end�s  "   zRstripTest.test_rstrip_endN) rrrrBr!rfrzr�r�rrrrr�ds  r��__main__r$)� verbosity�exit)rZidlelibrr ZunittestrZ test.supportrZtkinterrrZidlelib.editorrZidlelib.idle_test.mock_idlerr�ZTestCaser rrCrKrOrUr`rrrur�r�r�mainrrrr�s.     w 9#7