Ë
    #´˜j’Ø  ã                   óV  — d Z ddlmZ ddlmZ  ed«       ddlmZ ddlZddlmZ ddl	m
Z
 dd	lmZmZmZmZmZmZ dd
lmZ ddlmZmZmZ ej.                  Z ej2                  d«       ej2                  d«       ej2                  d«       ej2                  d«      dœZdadaed   Zed   Zed   Zed   Z d„ Z!d„ Z" G d„ dejF                  «      Z$ G d„ dejF                  e«      Z% G d„ dejF                  «      Z& G d„ dejF                  «      Z' G d„ dejF                  «      Z( G d„ dejF                  «      Z) G d „ d!ejF                  «      Z* G d"„ d#ejF                  «      Z+ G d$„ d%ejF                  «      Z, G d&„ d'ejF                  «      Z-e.d(k(  r ej^                  d)¬*«       yy)+zfTest configdialog, coverage 94%.

Half the class creates dialog, half works with user customizations.
é    )Úconfigdialog)ÚrequiresÚgui)ÚExtraAssertionsN)Úmock)ÚFunc)ÚTkÚ	StringVarÚIntVarÚ
BooleanVarÚDISABLEDÚNORMAL)Úconfig)ÚidleConfÚchangesÚtracersÚ )ÚmainÚ	highlightÚkeysÚ
extensionsr   r   r   r   c                  ón   — t         t        _        t        «       at        j                  t        dd¬«      ay )NÚTestT)Ú_utest)Útestcfgr   ÚuserCfgr	   Úrootr   ÚConfigDialogÚdialog© ó    ú5lib/python3.12/idlelib/idle_test/test_configdialog.pyÚsetUpModuler#   #   s%   € ä„HÔÜ‹4€Dä×&Ñ&¤t¨V¸DÔA�Fr!   c                  óò   — t         t        _        t        j                  «        t        j
                  «        t        j
                  «        t        j                  «        t        j                  «        d xaa
y ©N)Úusercfgr   r   r   ÚdetachÚclearr   r   Úupdate_idletasksÚdestroyr   r    r!   r"   ÚtearDownModuler+   +   sE   € ä„HÔÜ‡N�NÔÜ‡M�M„OÜ‡M�M„OÜ×ÑÔÜ‡L�L„NØÐ€D‰6r!   c                   ó   — e Zd Zd„ Zd„ Zy)ÚConfigDialogTestc                  ó   — y r%   r    ©Úselfs    r"   Útest_deactivate_current_configz/ConfigDialogTest.test_deactivate_current_config8   ó   € Ør!   c                  ó   — y r%   r    r/   s    r"   Úactivate_config_changesz(ConfigDialogTest.activate_config_changes;   r2   r!   N)Ú__name__Ú
__module__Ú__qualname__r1   r4   r    r!   r"   r-   r-   6   s   „ òór!   r-   c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)Ú
ButtonTestc                 óþ   — t         }t        j                  «       x}|_        t        j                  «       x}|_        |j
                  d   j                  «        |j                  «        |j                  «        |`|`y )NÚOk)r   r   ÚMockÚapplyr*   ÚbuttonsÚinvokeÚassert_called_once)r0   Údr=   r*   s       r"   Útest_click_okzButtonTest.test_click_okA   s`   € ÜˆÜŸ)™)›+Ð%ˆ�”Ü"Ÿi™i›kÐ)ˆ�!”)Ø	�	‰	�$‰×ÑÔ Ø× Ñ Ô"Ø×"Ñ"Ô$ØˆI�q‘wr!   c                 ó€  — t         }t        j                  «       x}|_        t        j                  «       x}|j                  _        t        j                  «       x}|_        |j                  d   j                  «        |j                  «        |j                  «        |j                  «        |j                  `|`|`y )NÚApply)
r   r   r<   Údeactivate_current_configÚextpageÚsave_all_changed_extensionsr4   r>   r?   r@   )r0   rA   Ú
deactivateÚsave_extÚactivates        r"   Útest_click_applyzButtonTest.test_click_applyJ   s’   € ÜˆÜ37·9±9³;Ð>ˆ
�QÔ0Ü;?¿9¹9»;ÐFˆ�1—9‘9Ô8Ü/3¯y©y«{Ð:ˆ�1Ô,Ø	�	‰	�'Ñ×!Ñ!Ô#Ø×%Ñ%Ô'Ø×#Ñ#Ô%Ø×#Ñ#Ô%Ø�I‰IÐ1ØÐ% qÑ'Br!   c                 ó  — t         }t        «       |_        dt        d   d<   |j                  d   j                  «        | j                  t        d   i «       | j                  |j                  j                  d«       |`y )Né   r   Ú	somethingÚCancel)r   r   r*   r   r>   r?   ÚassertEqualÚcalled©r0   rA   s     r"   Útest_click_cancelzButtonTest.test_click_cancelV   sf   € ÜˆÜ“FˆŒ	Ø'(Œ�‰˜Ñ$Ø	�	‰	�(Ñ×"Ñ"Ô$Ø×Ñœ ™¨"Ô-Ø×Ñ˜Ÿ™×)Ñ)¨1Ô-Ø‰Ir!   c                 óÆ  — t         j                  j                  t         j                  «       t        j
                  j                  t        dt        ¬«      5 }t         j                  d   j                  «        |j                  d   |j                  d   }}d d d «       | j                  d«       | j                  d«       | j                  |d«       y # 1 sw Y   Œ@xY w)	NÚ	view_text)Únew_callableÚHelpÚtitleÚcontentszHelp for IDLE preferenceszWhen you clickza different name.
)r   ÚnoteÚselectÚkeyspager   ÚpatchÚobjectr   r   r>   r?   ÚkwdsrP   ÚassertStartsWithÚassertEndsWith)r0   ÚviewrX   rY   s       r"   Útest_click_helpzButtonTest.test_click_help_   s®   € Ü�‰×Ñœ6Ÿ?™?Ô+Ü�Z‰Z×Ñœ|¨[Ü,0ð ô 2Ø59Ü�N‰N˜6Ñ"×)Ñ)Ô+Ø"Ÿi™i¨Ñ0°$·)±)¸JÑ2G�8ˆE÷2ð 	×Ñ˜Ð ;Ô<Ø×Ñ˜hÐ(8Ô9Ø×Ñ˜HÐ%:Õ;÷2ð 2ús   ÁA CÃC N)r5   r6   r7   rB   rK   rS   rc   r    r!   r"   r9   r9   ?   s   „ òò
Còó<r!   r9   c                   ó`   — e Zd ZdZed„ «       Zed„ «       Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd	„ Zd
„ Zd„ Zy)ÚFontPageTestzîTest that font widgets enable users to make font changes.

    Test that widget actions set vars, that var changes add three
    options to changes and call set_samples, and that set_samples
    changes the font of both sample boxes.
    c                 ó®   — t         j                  x}| _        t         j                  j	                  |«       t        «       |_        |j                  «        y r%   )r   ÚfontpageÚpagerZ   r[   r   Úset_samplesÚupdate©Úclsrh   s     r"   Ú
setUpClasszFontPageTest.setUpClassq   s7   € ä Ÿ/™/Ð)ˆˆsŒxÜ�‰×Ñ˜4Ô Ü›6ˆÔØ�‰�r!   c                 ó   — | j                   `y r%   )rh   ri   ©rl   s    r"   ÚtearDownClasszFontPageTest.tearDownClassx   s   € à�H‰HÑ r!   c                 ó,   — t        j                  «        y r%   ©r   r(   r/   s    r"   ÚsetUpzFontPageTest.setUp|   ó   € Ü�‰�r!   c                 ó–  — t        j                  «        | j                  }|j                  j	                  d«       |j
                  j	                  d«       |j                  j	                  d«       d|j                  _        |j                  «        | j                  |j                  j                  «       d«       | j                  |j
                  j                  «       d«       | j                  |j                  j                  «       «       | j                  |j                  j                  d«       t        j                  «        y )NÚFakeÚ1Tr   rM   )r   r'   rh   Ú	font_nameÚsetÚ	font_sizeÚ	font_boldri   rQ   Úload_font_cfgÚassertNotEqualÚgetÚassertFalserP   ÚattachrR   s     r"   Útest_load_font_cfgzFontPageTest.test_load_font_cfg   sÐ   € ô 	�‰ÔØ�I‰IˆØ	�‰�‰˜ÔØ	�‰�‰˜ÔØ	�‰�‰˜ÔØ ˆ�‰ÔØ	�‰ÔØ×Ñ˜AŸK™KŸO™OÓ-¨vÔ6Ø×Ñ˜AŸK™KŸO™OÓ-¨sÔ3Ø×Ñ˜Ÿ™Ÿ™Ó*Ô+Ø×Ñ˜Ÿ™×-Ñ-¨qÔ1Ü�‰Õr!   c                 ó\  — | j                   }|j                  j                  «       dk  r| j                  d«       |j                  }|j	                  d«       |j                  j                  d«      }|j                  «        |j                  «        |j                  d«       |j                  d«       |j                  d«      }| j                  ||«       | j                  |j                  j                  «       |j                  «       «       |j                  «        |j                  «        |j                  d«       |j                  d«       |j                  d«      }| j                  ||«       | j                  |j                  j                  «       |j                  «       «       y )	Né   úneed at least 2 fontsr   Úactivez
<Key-Down>z<KeyRelease-Down>z<Key-Up>z<KeyRelease-Up>)rh   ÚfontlistÚsizeÚskipTestrJ   r~   Úfocus_forcerj   Úevent_generater}   ÚassertInrx   ÚlowerrP   )r0   rA   r†   ÚfontÚ	down_fontÚup_fonts         r"   Útest_fontlist_keyzFontPageTest.test_fontlist_key�   s9  € à�I‰IˆØ�:‰:�?‰?Ó˜qÒ Ø�M‰MÐ1Ô2Ø—:‘:ˆØ×Ñ˜!ÔØ�z‰z�~‰~˜hÓ'ˆð 	×ÑÔØ�‰ÔØ×Ñ Ô-Ø×ÑÐ 3Ô4à—L‘L Ó*ˆ	Ø×Ñ˜I tÔ,Ø�‰�a—k‘k—o‘oÓ'¨¯©Ó):Ô;ð 	×ÑÔØ�‰ÔØ×Ñ 
Ô+Ø×ÑÐ 1Ô2à—,‘,˜xÓ(ˆØ×Ñ˜ $Ô'Ø�‰�a—k‘k—o‘oÓ'¨¯©«Õ9r!   c                 óˆ  — | j                   }|j                  j                  «       dk  r| j                  d«       |j                  }|j	                  d«       |j                  «        |j                  d«       |j                  «        |j                  d«      \  }}}}||dz  z  }||dz  z  }|j                  d||¬«       |j                  d||¬«       |j                  d«      }|j                  d«      }| j                  ||«       | j                  |j                  j                  «       |j                  «       «       y )	Nrƒ   r„   r   rM   ú
<Button-1>©ÚxÚyú<ButtonRelease-1>Úanchor)rh   r†   r‡   rˆ   rJ   r‰   Úseerj   ÚbboxrŠ   r~   rP   r‹   rx   rŒ   )	r0   rA   r†   r”   r•   ÚdxÚdyÚfont1Úselect_fonts	            r"   Útest_fontlist_mousez FontPageTest.test_fontlist_mouse¬   s
  € à�I‰IˆØ�:‰:�?‰?Ó˜qÒ Ø�M‰MÐ1Ô2Ø—:‘:ˆØ×Ñ˜!Ôð 	×ÑÔØ�‰�QŒØ�‰ÔØ—}‘} QÓ'‰ˆˆ1ˆb�"Ø	ˆR�1‰W‰ˆØ	ˆR�1‰W‰ˆØ×Ñ °°QÐÔ7Ø×ÑÐ 3°q¸AÐÔ>à—‘˜Q“ˆØ—l‘l 8Ó,ˆØ×Ñ˜ eÔ,Ø�‰�a—k‘k—o‘oÓ'¨¯©«Õ7r!   c                 óº   — | j                   }|j                  j                  j                  d«       | j	                  |j
                  j                  «       d«       y )Né(   Ú40)rh   ÚsizelistÚvariablery   rP   rz   r~   rR   s     r"   Útest_sizelistzFontPageTest.test_sizelistÃ   s>   € à�I‰IˆØ	�
‰
×Ñ×Ñ Ô#Ø×Ñ˜Ÿ™Ÿ™Ó*¨DÕ1r!   c                 ó^  — | j                   }|j                  j                  d«       |j                  j	                  «        | j                  |j                  j                  «       «       |j                  j	                  «        | j                  |j                  j                  «       «       y )NF)rh   r{   ry   Úbold_toggler?   Ú
assertTruer~   r   rR   s     r"   Útest_bold_togglezFontPageTest.test_bold_toggleÉ   sk   € à�I‰IˆØ	�‰�‰˜ÔØ	�‰×ÑÔØ�‰˜Ÿ™Ÿ™Ó)Ô*Ø	�‰×ÑÔØ×Ñ˜Ÿ™Ÿ™Ó*Õ+r!   c                 óÐ  — t        j                  t        dd«      }t        |d   «      }|d   dk(  }| j                  }|j
                  j                  |«       |j                  j                  |«       d|j                  _	        |j                  j                  d«       dd|t        |«      dœi}| j                  t        |«       | j                  |j                  j                  d«       t        j                  «        |j
                  j                  d	«       ddd	t        |«      dœi}| j                  t        |«       | j                  |j                  j                  d«       t        j                  «        |j                  j                  | «       ddd	t        | «      dœi}| j                  t        |«       | j                  |j                  j                  d
«       y )Nr   ÚEditorWindowrM   rƒ   Úboldr   z	Test Font)r�   z	font-sizez	font-boldÚ20é   )r   ÚGetFontr   Ústrrh   rz   ry   r{   ri   rQ   rx   rP   Úmainpager   r(   )r0   Údefault_fontÚdefault_sizeÚdefault_boldrA   Úexpecteds         r"   Útest_font_setzFontPageTest.test_font_setÒ   s�  € ô
  ×'Ñ'¬¨f°nÓEˆÜ˜<¨™?Ó+ˆØ# A‘¨&Ñ0ˆØ�I‰IˆØ	�‰�‰˜Ô%Ø	�‰�‰˜Ô%Ø ˆ�‰Ôà	�‰�‰˜Ô$Ø"¨[Ø2>Ü25°lÓ2Cñ%Eð Fˆð 	×Ñœ 8Ô,Ø×Ñ˜Ÿ™×-Ñ-¨qÔ1Ü�‰Œà	�‰�‰˜ÔØ"¨[Ø26Ü25°lÓ2Cñ%Eð Fˆð 	×Ñœ 8Ô,Ø×Ñ˜Ÿ™×-Ñ-¨qÔ1Ü�‰Œà	�‰�‰˜LÐ(Ô)Ø"¨[Ø26Ü25¸,Ð6FÓ2Gñ%Ið Jˆð 	×Ñœ 8Ô,Ø×Ñ˜Ÿ™×-Ñ-¨qÕ1r!   c                 óÚ  — | j                   }|`|j                  |j                  f}i i c|_        |_        |j                  j                  d«       |j                  j                  d«       |j                  j                  d«       ddi}|j                  «        | j                  |j                  |j                  cxk(  xr |k(  nc «       |\  |_        |_        t        «       |_        y )NÚtestÚ5rM   r�   )r·   r¸   r«   )
rh   ri   Úfont_sampleÚhighlight_samplerx   ry   rz   r{   r§   r   )r0   rA   Úorig_samplesr´   s       r"   Útest_set_sampleszFontPageTest.test_set_samplesö   s³   € Ø�I‰IˆØˆMØ—}‘} a×&8Ñ&8Ð8ˆØ,.°Ð)ˆŒ�qÔ)Ø	�‰�‰˜ÔØ	�‰�‰˜ÔØ	�‰�‰˜ÔØÐ1Ð2ˆð 	
�‰ŒØ�‰˜Ÿ™¨×);Ñ);ÖG¸xÔGÔHà,8Ñ)ˆŒ�qÔ)Ü›ˆ�r!   N)r5   r6   r7   Ú__doc__Úclassmethodrm   rp   rs   r�   r�   rž   r¤   r¨   rµ   r¼   r    r!   r"   re   re   j   sX   „ ñð ñó ðð ñ!ó ð!òòò :ò:8ò.2ò,ò"2óHr!   re   c                   ó®   — e Zd ZdZed„ «       Zed„ «       Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚHighPageTestz¶Test that highlight tab widgets enable users to make changes.

    Test that widget actions set vars, that var changes add
    options to changes and that themes work correctly.
    c                 ó  — t         j                  x}| _        t         j                  j	                  |«       t        «       |_        t        «       |_        t        «       |_        t        «       |_	        |j                  «        y r%   )r   Úhighpagerh   rZ   r[   r   Úset_theme_typeÚpaint_theme_sampleÚset_highlight_targetÚset_color_samplerj   rk   s     r"   rm   zHighPageTest.setUpClass  sU   € ä Ÿ/™/Ð)ˆˆsŒxÜ�‰×Ñ˜4Ô Ü"›fˆÔÜ"&£&ˆÔÜ$(£FˆÔ!Ü $£ˆÔØ�‰�r!   c                 ó,   — | j                   }|`|`|`|`y r%   )rh   rÃ   rÄ   rÅ   rÆ   )rl   rA   s     r"   rp   zHighPageTest.tearDownClass  s!   € à�H‰HˆØÐ˜aÐ2ØÐ" AÑ$6r!   c                 óF  — | j                   }t        j                  dd«      D ]$  }t        j                  d   j	                  |«       Œ& t        j                  «        d|j                  _        d|j                  _        d|j                  _        d|j                  _        y )NÚuserr   r   )rh   r   ÚGetSectionListr   Úremove_sectionr   r(   rÃ   rQ   rÄ   rÅ   rÆ   ©r0   rA   Úsections      r"   rs   zHighPageTest.setUp  s   € Ø�I‰Iˆô  ×.Ñ.¨v°{ÖCˆGÜ×Ñ˜[Ñ)×8Ñ8¸ÕAð Dä�‰ŒØ"#ˆ×ÑÔØ&'ˆ×ÑÔ#Ø()ˆ×ÑÔ%Ø$%ˆ×ÑÕ!r!   c                 óx  — t        j                  «        | j                  }| j                  }t	        j
                  d¬«      t        _        |j                  «        | j                  |j                  j                  «       «        ||j                  j                  «       d«        ||j                  j                  «       d«        ||j                  j                  «       d«        ||j                   j"                  d«        ||j$                  j"                  d«        ||j&                  j"                  d«       t        j(                  dddd	«       t        j(                  dd
dd«       |j                  «         ||j                  j                  «       d«        ||j                  j                  «       d«        ||j                   j"                  d«        ||j$                  j"                  d«        ||j&                  j"                  d«       t	        j
                  d
¬«      t        _        t        j(                  dddd«       |j                  «        | j+                  |j                  j                  «       «        ||j                  j                  «       d«        ||j                  j                  «       d
«        ||j                   j"                  d«        ||j$                  j"                  d«        ||j&                  j"                  d«       t        `t        j,                  «        y )NúIDLE Classic©Úreturn_valueú- no custom themes -©ÚdisabledrM   r   Útest1ÚoptionÚvalueÚtest2Úoption2Úvalue2rƒ   r   ÚThemeÚdefaultÚ0r­   )r   r'   rh   rP   r   r<   r   ÚCurrentThemeÚload_theme_cfgr§   Útheme_sourcer~   Úbuiltin_nameÚcustom_nameÚcustom_theme_onÚstaterÃ   rQ   rÄ   rÅ   Ú	SetOptionr   r€   ©r0   rA   Úeqs      r"   Útest_load_theme_cfgz HighPageTest.test_load_theme_cfg+  sV  € Ü�‰ÔØ�I‰IˆØ×Ñˆô !%§	¡	°~Ô FŒÔØ	×ÑÔØ�‰˜Ÿ™×*Ñ*Ó,Ô-á
ˆ1�>‰>×ÑÓ Ô0Ù
ˆ1�=‰=×ÑÓÐ 6Ô7Ù
ˆ1×Ñ×"Ñ"Ó$ mÔ4Ù
ˆ1×Ñ×"Ñ" AÔ&Ù
ˆ1×Ñ×&Ñ&¨Ô*Ù
ˆ1×!Ñ!×(Ñ(¨!Ô,ô 	×Ñ˜;¨°¸7ÔCÜ×Ñ˜;¨°¸HÔEØ	×ÑÔÙ
ˆ1�>‰>×ÑÓ Ô0Ù
ˆ1�=‰=×ÑÓ Ô(Ù
ˆ1×Ñ×"Ñ" AÔ&Ù
ˆ1×Ñ×&Ñ&¨Ô*Ù
ˆ1×!Ñ!×(Ñ(¨!Ô,ô !%§	¡	°wÔ ?ŒÔÜ×Ñ˜6 7¨I°sÔ;Ø	×ÑÔØ×Ñ˜Ÿ™×+Ñ+Ó-Ô.Ù
ˆ1�>‰>×ÑÓ Ô0Ù
ˆ1�=‰=×ÑÓ Ô(Ù
ˆ1×Ñ×"Ñ" AÔ&Ù
ˆ1×Ñ×&Ñ&¨Ô*Ù
ˆ1×!Ñ!×(Ñ(¨!Ô,äÐ!Ü�‰Õr!   c                 ó|  — | j                   }| j                  }t        «       |_        t        «       |_        |j
                  j                  «         |t        dddii«        ||j                  j                  d«        ||j                  j                  d«       t        j                  «        |j                  j                  d«       |j                  j                  «        | j                  t        dddii«        ||j                  j                  d«        ||j                  j                  d«       |`|`y )NrÛ   rÜ   ÚTruerM   r   ©z	!disabledÚFalse)rP   rh   r   Úvar_changed_builtin_nameÚvar_changed_custom_nameÚbuiltin_theme_onr?   r°   rQ   r   r(   rã   rä   ©r0   rç   rA   s      r"   Útest_theme_sourcezHighPageTest.test_theme_sourceT  sþ   € Ø×ÑˆØ�I‰Iˆä%)£VˆÔ"Ü$(£FˆÔ!à	×Ñ×!Ñ!Ô#Ù
Œ8�g 	¨6Ð2Ð3Ô4Ù
ˆ1×%Ñ%×,Ñ,¨aÔ0Ù
ˆ1×$Ñ$×+Ñ+¨QÔ/Ü�‰Œð 	
×Ñ×Ñ Ô/Ø	×Ñ× Ñ Ô"Ø×Ñœ G¨i¸Ð-AÐ#BÔCÙ
ˆ1×%Ñ%×,Ñ,¨aÔ0Ù
ˆ1×$Ñ$×+Ñ+¨QÔ/ØÐ&¨Ñ(Ar!   c                 ó0  — | j                   }| j                  }g d¢}t        j                  dddd«       |j                  j                  |d«        |t        ddddœi«        ||j                  d	   d
«        ||j                  j                  d«       t        j                  «        t        j                  dddd«       |j                  j                  |d«        |t        dddii«        ||j                  d	   d
«        ||j                  j                  d«       t        j                  «        |j                  j                  |d«        |t        ddddœi«        ||j                  d	   d«        ||j                  j                  d«       y )N)rÏ   ú	IDLE DarkúIDLE Newr   rÛ   ÚnameÚspamró   rÏ   ©rõ   Úname2ÚtextzNew theme, see HelprM   rô   rø   rƒ   r   r­   )rP   rh   r   rå   ÚbuiltinlistÚSetMenur°   Útheme_messagerÄ   rQ   r   r(   ©r0   rç   rA   Ú	item_lists       r"   Útest_builtin_namezHighPageTest.test_builtin_namei  sW  € Ø×ÑˆØ�I‰IˆÚ=ˆ	ô 	×Ñ˜6 7¨F°FÔ;Ø	�‰×Ñ˜i¨Ô5Ù
Œ8�g¨Ø)4ñ 6ð 7ô 	8á
ˆ1�?‰?˜6Ñ"Ð$9Ô:Ù
ˆ1×Ñ×&Ñ&¨Ô*ô 	�‰ŒÜ×Ñ˜6 7¨F°JÔ?Ø	�‰×Ñ˜i¨Ô5Ù
Œ8�g ¨Ð5Ð6Ô7Ù
ˆ1�?‰?˜6Ñ"Ð$9Ô:Ù
ˆ1×Ñ×&Ñ&¨Ô*ô 	�‰ŒØ	�‰×Ñ˜i¨Ô8Ù
Œ8�g¨ÀÑDÐEÔFÙ
ˆ1�?‰?˜6Ñ" BÔ'Ù
ˆ1×Ñ×&Ñ&¨Õ*r!   c                 ó°  — | j                   }|j                  j                  g d«       | j                  dt        «       | j                  |j                  j                  d«       t        j                  «        |j                  j                  g d¢d«       | j                  t        dddii«       | j                  |j                  j                  d«       y )NrÒ   rÛ   r   ©ÚaÚbÚcr  rõ   rM   )
rh   Ú
customlistrû   ÚassertNotInr°   rP   rÄ   rQ   r   r(   rR   s     r"   Útest_custom_namezHighPageTest.test_custom_name…  s¢   € Ø�I‰Iˆð 	
�‰×Ñ˜RÐ!7Ô8Ø×Ñ˜¤(Ô+Ø×Ñ˜×-Ñ-×4Ñ4°aÔ8ô 	�‰ŒØ	�‰×Ñš_¨cÔ2Ø×Ñœ G¨f°c¨]Ð#;Ô<Ø×Ñ˜×-Ñ-×4Ñ4°aÕ8r!   c                 óÀ   — | j                   }t        «       |_        |j                  j	                  d«       | j                  |j                  j                  d«       |`y )NÚgreenrM   )rh   r   Úon_new_color_setÚcolorry   rP   rQ   rR   s     r"   Ú
test_colorzHighPageTest.test_color“  sG   € Ø�I‰IˆÜ!›VˆÔà	�‰�‰�GÔØ×Ñ˜×+Ñ+×2Ñ2°AÔ6ØÑr!   c                 óì   — | j                   }| j                  }|j                  j                  g d¢d«        ||j                  j                  «       d«        ||j                  j                  d«       y )Nr  r  rM   )rP   rh   Ú
targetlistrû   Úhighlight_targetr~   rÅ   rQ   rð   s      r"   Ú test_highlight_target_list_mousez-HighPageTest.test_highlight_target_list_mouse›  sY   € à×ÑˆØ�I‰Iˆà	�‰×Ñš_¨cÔ2Ù
ˆ1×Ñ×!Ñ!Ó# SÔ)Ù
ˆ1×!Ñ!×(Ñ(¨!Õ,r!   c                 óî  ‡— | j                   }| j                  }|j                  Š‰j                  «        ˆfd„}|j                  j                  «       D ��ci c]  \  }}||“Œ
 }}}d}‰j                  «       D ]d  }	  |‰j                  |d«      d   «        ||j                  j                  «       ||   «       |dz  } ||j                  j                  |«       Œf y c c}}w # t        $ r Y Œyw xY w)Nc                 ó4  •— ‰j                  | «       ‰j                  «        ‰j                  | «      \  }}}}||dz  z  }||dz  z  }‰j                  ddd¬«       ‰j                  d||¬«       ‰j                  d||¬«       ‰j                  d||¬«       y)	z'Simulate click on character at *index*.rƒ   ú<Enter>r   r“   ú<Motion>ú<ButtonPress-1>r–   N)r˜   r)   r™   rŠ   )Úindexr”   r•   rš   r›   Úhss        €r"   Ú
click_charzAHighPageTest.test_highlight_target_text_mouse.<locals>.click_char«  sŸ   ø€ à�F‰F�5ŒMØ×ÑÔ!ØŸ7™7 5›>‰LˆAˆq�"�bØ��q‘‰LˆAØ��q‘‰LˆAØ×Ñ˜i¨1°ÐÔ2Ø×Ñ˜j¨A°ÐÔ3Ø×ÑÐ/°1¸ÐÔ:Ø×ÑÐ1°Q¸!ÐÕ<r!   r   ú1.0rM   )rP   rh   rº   r‰   Útheme_elementsÚitemsÚ	tag_namesÚtag_nextranger  r~   rÅ   rQ   Ú
IndexError)	r0   rç   rA   r  ÚelementÚtagÚelemÚcountr  s	           @r"   Ú test_highlight_target_text_mousez-HighPageTest.test_highlight_target_text_mouse¤  sì   ø€ à×ÑˆØ�I‰IˆØ×ÑˆØ
�‰Ôô
	=ð 23×1AÑ1A×1GÑ1GÔ1IÔJÑ1I¡ ¨#��W‘Ð1IˆÑJð ˆØ—<‘<–>ˆCðÙ˜2×+Ñ+¨C°Ó7¸Ñ:Ô;Ù�1×%Ñ%×)Ñ)Ó+¨T°#©YÔ7Ø˜‘
�Ù�1×)Ñ)×0Ñ0°%Õ8ñ "ùó Køô ò Ùðús   ÁC"Á>A!C(Ã(	C4Ã3C4c                 óž  — | j                   }| j                  }|j                  }|j                  «        |j	                  d«       |j                  «        |j                  ddd¬«       |j                  ddd¬«       t        d«      D ]*  }|j                  ddd¬«       |j                  ddd¬«       Œ,  ||j                  d	«      d
«       y )Nç      ð?r  r   r“   r  rƒ   r  r–   Úselr    )	rP   rh   rº   r‰   r˜   r)   rŠ   ÚrangeÚ
tag_ranges)r0   rç   rA   r  Ú_s        r"   Ú"test_highlight_sample_double_clickz/HighPageTest.test_highlight_sample_double_clickÆ  s½   € à×ÑˆØ�I‰Iˆà×ÑˆØ
�‰ÔØ
�‰ˆsŒØ
×ÑÔð 	×Ñ˜) q¨AÐÔ.Ø
×Ñ˜*¨¨QÐÔ/ä�q–ˆAØ×ÑÐ/°1¸ÐÔ:Ø×ÑÐ1°Q¸!ÐÕ<ð ñ 	ˆ2�=‰=˜Ó Õ$r!   c                 óð  — | j                   }| j                  }|j                  }|j                  «        |j	                  d«       |j                  «        |j                  d«      \  }}}}}|j                  d«       |j                  d«       |j                  d||¬«       |j                  d||¬«       |j                  d||¬«       |j                  d	||¬«        ||j                  d
«      d«       y )Nr%  r  z<Leave>r  r  r“   r  z<B1-Motion>r–   r&  r    )	rP   rh   rº   r‰   r˜   r)   Ú	dlineinforŠ   r(  )	r0   rç   rA   r  r”   r•   rš   r›   Úoffsets	            r"   Útest_highlight_sample_b1_motionz,HighPageTest.test_highlight_sample_b1_motionÚ  sâ   € à×ÑˆØ�I‰Iˆà×ÑˆØ
�‰ÔØ
�‰ˆsŒØ
×ÑÔà!Ÿ|™|¨EÓ2Ñˆˆ1ˆb�"�fð 	×Ñ˜)Ô$Ø
×Ñ˜)Ô$Ø
×Ñ˜*¨¨QÐÔ/Ø
×ÑÐ+¨q°AÐÔ6Ø
×Ñ˜-¨2°ÐÔ4Ø
×ÑÐ-°°rÐÔ:á
ˆ2�=‰=˜Ó Õ$r!   c                 ó˜  — | j                   }| j                  }|`|j                  j	                  d«       |j                  «         ||j
                  d   t        «        ||j                  d   t        «        ||j                  j                  «       d«       |j                  j	                  d«       |j                  «         ||j
                  d   t        «        ||j                  j                  «       d«        ||j                  d   t        «        ||j                  j                  «       d«       t        «       |_        y ©NTrä   rÓ   F©Úselectedr    )rP   rh   rÃ   rà   ry   rú   r   r  r   Úbutton_delete_customrä   rã   r   rð   s      r"   Útest_set_theme_typez HighPageTest.test_set_theme_typeð  sý   € Ø×ÑˆØ�I‰IˆØÐð 	
�‰×Ñ˜4Ô Ø	×ÑÔÙ
ˆ1�=‰=˜Ñ!¤6Ô*Ù
ˆ1�<‰<˜Ñ ¤(Ô+Ù
ˆ1×!Ñ!×'Ñ'Ó)¨=Ô9ð 	
�‰×Ñ˜5Ô!Ø	×ÑÔÙ
ˆ1�=‰=˜Ñ!¤8Ô,Ù
ˆ1×Ñ×"Ñ"Ó$ mÔ4Ù
ˆ1�<‰<˜Ñ ¤&Ô)Ù
ˆ1×!Ñ!×'Ñ'Ó)¨2Ô.Ü›6ˆÕr!   c                 óœ  — | j                   }| j                  }t        j                  j                  }t        «       x}t        j                  _        t        «       x}|_        |j                  j                  d«       |j                  j                  d«       d|_
        |j                  j                  «         ||j                  j                  «       d«       d|j                  j                  |j                   d   d«      f|_
        |j                  j                  «         ||j                  j                  «       d«       d|_
        |j                  j                  d«       |j"                  j                  d«       d|_
        |j                  j                  «         ||j$                  d	«        ||j                  j                  «       d«       d
|_
        |j                  j                  «         ||j&                  j                  «       |j                  «        ||j                  j                  «       d«       |j                  j                  d«       |j"                  j                  d«       |j                  j                  «         ||j                  j                  «       d«       |`|t        j                  _        y )NzEditor Breakpointz#ffffff)NNr   ÚstyleÚ
background))g    ÀÛk@ç        r8  ú#de0000TrM   zMy New Themer9  F)rP   rh   r   ÚcolorchooserÚaskcolorr   Úget_new_theme_namer  ry   r  ÚresultÚbutton_set_colorr?   r~   r6  ÚlookupÚframe_color_setrà   rQ   râ   )r0   rç   rA   Úorig_chooserÚchooserÚgntns         r"   Útest_get_colorzHighPageTest.test_get_color  sý  € Ø×ÑˆØ�I‰IˆÜ#×0Ñ0×9Ñ9ˆÜ7;³vÐ=ˆ”,×+Ñ+Ô4Ü&*£fÐ,ˆˆqÔ#à	×Ñ×ÑÐ2Ô3Ø	�‰�‰�IÔð &ˆŒØ	×Ñ×!Ñ!Ô#Ù
ˆ1�7‰7�;‰;‹=˜)Ô$ð ˜aŸg™gŸn™n¨Q×->Ñ->¸wÑ-GÈÓVÐWˆŒØ	×Ñ×!Ñ!Ô#Ù
ˆ1�7‰7�;‰;‹=˜)Ô$ð >ˆŒð 	
�‰�‰�IÔØ	�‰×Ñ˜4Ô ð ˆŒØ	×Ñ×!Ñ!Ô#Ù
ˆ4�;‰;˜ÔÙ
ˆ1�7‰7�;‰;‹=˜)Ô$à$ˆŒØ	×Ñ×!Ñ!Ô#Ù
ˆ1�=‰=×ÑÓ §¡Ô,Ù
ˆ1�7‰7�;‰;‹=˜)Ô$ð 	
�‰�‰�IÔØ	�‰×Ñ˜5Ô!Ø	×Ñ×!Ñ!Ô#Ù
ˆ1�7‰7�;‰;‹=˜)Ô$àÐ Ø-9Œ×!Ñ!Õ*r!   c                 óö  — | j                   }d}|j                  j                  d«       |j                  j                  d«       |j                  j                  d«       |j
                  j                  |«       | j                  |j                  j                  |j                  d   d«      |«       | j                  |j                  j                  dd«      |«       | j                  t        dd	|ii«       y )
Nz#3f7caeÚPythonúSelected TextTr6  r7  ÚhiliteÚ
foregroundzhilite-foreground)rh   râ   ry   r  Úfg_bg_toggler  rP   r6  r?  r@  rº   Útag_cgetrÂ   )r0   rA   r  s      r"   Útest_on_new_color_setz"HighPageTest.test_on_new_color_set4  sÅ   € Ø�I‰IˆØˆØ	�‰×Ñ˜(Ô#Ø	×Ñ×Ñ˜Ô/Ø	�‰×Ñ˜4Ô à	�‰�‰�EÔØ×Ñ˜Ÿ™Ÿ™¨×(9Ñ(9¸'Ñ(BÀLÓQÐSXÔYØ×Ñ˜×+Ñ+×4Ñ4°X¸|ÓLÈeÔTØ×ÑœØ"Ð%8¸%Ð$@ÐAõ	Cr!   c                 óÐ   — t         j                  }t        d¬«      x}t         _        | j                  }d|_        | j                  |j                  d«      d«       |t         _        y )NT©Úreturn_selfz	New Themer   )r   ÚSectionNamer   rh   r=  rP   r<  ©r0   Úorig_sectionnameÚsnrA   s       r"   Útest_get_new_theme_namez$HighPageTest.test_get_new_theme_nameA  sS   € Ü'×3Ñ3ÐÜ(,¸Ô(>Ð>ˆŒ\Ô%Ø�I‰IˆàˆŒ	Ø×Ñ˜×-Ñ-¨bÓ1°;Ô?à#3ŒÕ r!   c                 ó  — | j                   }t        «       x}|_        |j                  j	                  d«       d|_        |j                  j                  «        | j                  |j
                  t        j                  d   «       d|_        d|_        | j                  |j
                  t        j                  d   «       |j                  j                  «        | j                  |j
                  t        j                  d   «       |`y )NTr   r   zmy new themer   )rh   r   r<  rà   ry   r=  Úbutton_save_customr?   r  r   r   rQ   r‹   )r0   rA   rC  s      r"   Útest_save_as_new_themez#HighPageTest.test_save_as_new_themeK  sÊ   € Ø�I‰IˆÜ&*£fÐ,ˆˆqÔ#Ø	�‰×Ñ˜4Ô ð ˆŒØ	×Ñ×#Ñ#Ô%Ø×Ñ˜Ÿ™¤h×&6Ñ&6°{Ñ&CÔDð %ˆŒØˆŒØ×Ñ˜Ÿ™¤h×&6Ñ&6°{Ñ&CÔDØ	×Ñ×#Ñ#Ô%Ø�‰�d—k‘k¤8×#3Ñ#3°KÑ#@ÔAàÑ r!   c                 óL  — | j                   }| j                  }|j                  j                  d«       |j                  j                  d«       d}d}| j                  |t        j                  «       |j                  |«        |t        j                  dd«      |g«        |t        j                  dd«      t        j                  d|«      «        ||j                  j                  «       |«       | j                  |j                  j                  «       «        ||j                  j                  d«       t!        j"                  d|d	d
«       | j                  |t        j                  «       |j                  |«        |t        j                  dd«      ||g«       | j%                  t        j                  d|«      t        j                  d|«      «       t        j&                  d|d	d
«        |t        j                  d|«      t        j                  d|«      «       y )NTrÏ   zmy new custom themezmy second custom themerÉ   r   rÜ   rM   zhit-backgroundÚyellow)rP   rh   rà   ry   rá   r  r   r   Ú
create_newrÊ   ÚGetThemeDictrâ   r~   r   rÃ   rQ   r   Ú
add_optionr}   rå   ©r0   rç   rA   Ú	first_newÚ
second_news        r"   Útest_create_new_and_save_newz)HighPageTest.test_create_new_and_save_new^  s³  € Ø×ÑˆØ�I‰Iˆð 	
�‰×Ñ˜4Ô Ø	�‰×Ñ˜>Ô*Ø)ˆ	Ø-ˆ
ð 	×Ñ˜¤H×$4Ñ$4Ô5Ø	�‰�YÔÙ
Œ8×"Ñ" 6¨;Ó7¸)¸ÔEÙ
Œ8× Ñ  ¨NÓ;Ü× Ñ  ¨Ó3ô	5á
ˆ1�=‰=×ÑÓ 	Ô*Ø×Ñ˜Ÿ™×+Ñ+Ó-Ô.Ù
ˆ1×Ñ×"Ñ" AÔ&ô 	×Ñ˜;¨	Ð3CÀXÔNØ×Ñ˜¤X×%5Ñ%5Ô6Ø	�‰�ZÔ Ù
Œ8×"Ñ" 6¨;Ó7¸)ÀZÐ9PÔQØ×ÑœH×1Ñ1°&¸)ÓDÜ$×1Ñ1°&¸*ÓEô	Gô 	×Ñ˜;¨	Ð3CÀXÔNÙ
Œ8× Ñ  ¨Ó3Ü× Ñ  ¨Ó4õ	6r!   c                 óª  — | j                   }| j                  }|`|j                  j	                  d«        ||j
                  j                  «       d«        ||j                  j                  «       d«       | j                  |j                  «        ||j                  j                  d«       |j                  j	                  d«        ||j
                  j                  «       d«        ||j                  j                  «       d«       | j                  |j                  «        ||j                  j                  d«       t        «       |_        y )	NÚCursor)rÔ   r2  rÓ   rM   ÚCommentr1  r    rƒ   )rP   rh   rÅ   r  ry   Úfg_onrä   Úbg_onr§   rJ  rÆ   rQ   r   rð   s      r"   Útest_set_highlight_targetz&HighPageTest.test_set_highlight_target~  sï   € Ø×ÑˆØ�I‰IˆØÐ"ð 	
×Ñ×Ñ˜xÔ(Ù
ˆ1�7‰7�=‰=‹?Ð4Ô5Ù
ˆ1�7‰7�=‰=‹?˜MÔ*Ø�‰˜Ÿ™Ô'Ù
ˆ1×Ñ×$Ñ$ aÔ(ð 	
×Ñ×Ñ˜yÔ)Ù
ˆ1�7‰7�=‰=‹?˜MÔ*Ù
ˆ1�7‰7�=‰=‹?˜BÔØ�‰˜Ÿ™Ô'Ù
ˆ1×Ñ×$Ñ$ aÔ(ä!%£ˆÕr!   c                 ó  — | j                   }|j                  }|j                  j                  «        | j	                  |j
                  d«       |j                  j                  «        | j	                  |j
                  d«       y )NrM   rƒ   )rh   rÆ   rd  r?   rP   rQ   re  )r0   rA   Úscss      r"   Útest_set_color_sample_bindingz*HighPageTest.test_set_color_sample_binding“  sZ   € Ø�I‰IˆØ× Ñ ˆà	�‰�‰ÔØ×Ñ˜Ÿ™ QÔ'à	�‰�‰ÔØ×Ñ˜Ÿ™ QÕ'r!   c                 óp  — | j                   }|`|j                  j                  d«       |j                  j                  d«       |j                  «        | j                  |j                  j                  |j                  d   d«      |j                  j                  dd«      «       t        «       |_        y )NrG  Tr6  r7  rH  rI  )rh   rÆ   r  ry   rJ  rP   r6  r?  r@  rº   rK  r   rR   s     r"   Útest_set_color_samplez"HighPageTest.test_set_color_sample�  s‘   € Ø�I‰IˆØÐØ	×Ñ×Ñ˜Ô/Ø	�‰×Ñ˜4Ô Ø	×ÑÔØ×ÑØ—‘—‘˜q×0Ñ0°Ñ9¸<ÓHØ×"Ñ"×+Ñ+¨H°lÓCô	Eô "›VˆÕr!   c                 ó,  — | j                   }| j                  }|`|j                  j                  }t
        j                  }|j                  j                  d«       |j                  j                  d«       d}|j                  |«       d|j                  _        |j                  «        dddœ}|j                  «       D ]  \  }}| j                   |d|«      |«       Œ   ||j                  j                  d	«       |j                  «       D ]   \  }}t        j                   d
|d|z   |«       Œ" |j                  «        |j                  «       D ]  \  }} | |d|«      |«       Œ  ||j                  j                  d«       t#        «       |_        y )NTró   z	IDLE Testr   ÚbluerY  )rI  r7  ÚconsolerM   r   zconsole-rƒ   )rP   rh   rÄ   rº   rK  r   ÚGetHighlightrà   ry   rá   rZ  rÆ   rQ   r  r}   r   r\  r   )	r0   rç   rh   Úhs_tagÚghÚthemeÚnew_consoleÚkeyr×   s	            r"   Útest_paint_theme_samplez$HighPageTest.test_paint_theme_sample¨  se  € Ø×ÑˆØ�y‰yˆØÐ#Ø×&Ñ&×/Ñ/ˆÜ×"Ñ"ˆð 	×Ñ×Ñ˜dÔ#Ø×Ñ×Ñ˜kÔ*ØˆØ�‰˜ÔØ'(ˆ×ÑÔ$ð 	×ÑÔ!Ø%+Ø%-ñ0ˆà%×+Ñ+Ö-‰JˆC�Ø×Ñ¡ y°#Ó 6¸Õ>ð .á
ˆ4× Ñ ×'Ñ'¨Ô+ð &×+Ñ+Ö-‰JˆC�Ü×Ñ˜{¨E°:¸c±>À5ÕIð .à×ÑÔ!Ø%×+Ñ+Ö-‰JˆC�Ù‰v�i Ó% uÕ-ð .á
ˆ4× Ñ ×'Ñ'¨Ô+ä"&£&ˆÕr!   c                 ó8  — | j                   }| j                  }|j                  j                  d«       t	        «       x}|_        t	        «       t        _        t	        «       t        _        d}t        j                  d   j                  |dd«       ddit        |<   d}t        j                  d   j                  |dd«       dd	it        |<   |j                  j                  d«       |j                  j                  «        |j                  j!                  |«       d
|_        |j                  j                  «         ||j$                  d«        |t        |   ddi«        |t        j&                  dd«      ||g«        |t        j                  j$                  d«        |t        j                  j$                  d«        ||j(                  j$                  d«       d|_        |j                  j                  «         ||j$                  d«       | j+                  |t        «        |t        j&                  dd«      |g«        ||j                  j                  «       d«        ||j                  j-                  «       |«        |t        j                  j$                  d«        |t        j                  j$                  d«        ||j(                  j$                  d«       |j                  j!                  |«       d|_        |j                  j                  «         ||j$                  d«       | j+                  |t        «        |t        j&                  dd«      g «        ||j                  j                  «       d«        ||j                  j-                  «       d«        |t        j                  j$                  d«        |t        j                  j$                  d«        ||j(                  j$                  d«       t        `t        `|`y )Nrë   z
spam themer   rõ   r×   rÖ   rê   zother themerì   FrM   rÉ   r   Trƒ   r    r­   rÓ   rÒ   )rP   rh   r3  rä   r   Úaskyesnor   rE   r4   r   r   rå   rÂ   rã   r?   râ   ry   r=  rQ   rÊ   rÃ   r  r~   )r0   rç   rA   ÚyesnoÚ
theme_nameÚtheme_name2s         r"   Útest_delete_customzHighPageTest.test_delete_customÈ  s,  € Ø×ÑˆØ�I‰IˆØ	×Ñ×$Ñ$ ^Ô4Ü!›VÐ#ˆ�”
Ü+/«6ŒÔ(Ü)-«ŒÔ&à!ˆ
Ü×Ñ˜Ñ%×/Ñ/°
¸FÀGÔLØ (¨&Ð1Œ�Ñà#ˆÜ×Ñ˜Ñ%×/Ñ/°¸VÀWÔMØ!)¨7Ð 3Œ�Ñð 	
×Ñ×Ñ Ô/Ø	×Ñ× Ñ Ô"Ø	�‰×Ñ˜*Ô%ð ˆŒØ	×Ñ×%Ñ%Ô'Ù
ˆ5�<‰<˜ÔÙ
Œ8�JÑ (¨FÐ!3Ô4Ù
Œ8×"Ñ" 6¨;Ó7¸*ÀkÐ9RÔSÙ
Œ6×+Ñ+×2Ñ2°AÔ6Ù
Œ6×)Ñ)×0Ñ0°!Ô4Ù
ˆ1×Ñ×"Ñ" AÔ&ð ˆŒØ	×Ñ×%Ñ%Ô'Ù
ˆ5�<‰<˜ÔØ×Ñ˜¤XÔ.Ù
Œ8×"Ñ" 6¨;Ó7¸+¸ÔGÙ
ˆ1×Ñ×"Ñ"Ó$ bÔ)Ù
ˆ1�=‰=×ÑÓ Ô,Ù
Œ6×+Ñ+×2Ñ2°AÔ6Ù
Œ6×)Ñ)×0Ñ0°!Ô4Ù
ˆ1×Ñ×"Ñ" AÔ&ð 	
�‰×Ñ˜+Ô&ØˆŒØ	×Ñ×%Ñ%Ô'Ù
ˆ5�<‰<˜ÔØ×Ñ˜¤XÔ.Ù
Œ8×"Ñ" 6¨;Ó7¸Ô<Ù
ˆ1×Ñ×"Ñ"Ó$ mÔ4Ù
ˆ1�=‰=×ÑÓÐ 6Ô7Ù
Œ6×+Ñ+×2Ñ2°AÔ6Ù
Œ6×)Ñ)×0Ñ0°!Ô4Ù
ˆ1×Ñ×"Ñ" AÔ&äÐ*¬FÐ,LØ‰Jr!   N)r5   r6   r7   r½   r¾   rm   rp   rs   rè   rñ   rÿ   r  r  r  r#  r*  r.  r4  rD  rL  rT  rW  r`  rf  ri  rk  ru  r{  r    r!   r"   rÀ   rÀ     sŸ   „ ñð ñó ðð ñ7ó ð7ò

&ò'òRBò*+ò89òò-ò òD%ò(%ò,"ò*-:ò^Cò4ò!ò&6ò@(ò*(ò	$ò)ó@9r!   rÀ   c                   ó„   — e Zd ZdZed„ «       Zed„ «       Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚKeysPageTestz´Test that keys tab widgets enable users to make changes.

    Test that widget actions set vars, that var changes add
    options to changes and that key sets works correctly.
    c                 ó¬   — t         j                  x}| _        t         j                  j	                  |«       t        «       |_        t        «       |_        y r%   )r   r\   rh   rZ   r[   r   Úset_keys_typeÚload_keys_listrk   s     r"   rm   zKeysPageTest.setUpClass  s8   € ä Ÿ/™/Ð)ˆˆsŒxÜ�‰×Ñ˜4Ô Ü!›VˆÔÜ"›fˆÕr!   c                 ó$   — | j                   }|`|`y r%   )rh   r  r€  rk   s     r"   rp   zKeysPageTest.tearDownClass  s   € à�x‰xˆØÐ Ñ 3r!   c                 ó  — | j                   }t        j                  dd«      D ]$  }t        j                  d   j	                  |«       Œ& t        j                  «        d|j                  _        d|j                  _        y )NrÉ   r   r   )
rh   r   rÊ   r   rË   r   r(   r  rQ   r€  rÌ   s      r"   rs   zKeysPageTest.setUp  s`   € Ø�I‰Iˆô  ×.Ñ.¨v°vÖ>ˆGÜ×Ñ˜VÑ$×3Ñ3°GÕ<ð ?ä�‰ŒØ!"ˆ�‰ÔØ"#ˆ×ÑÕr!   c                 óÂ  — t        j                  «        | j                  }| j                  }t	        j
                  d¬«      t        _        |j                  «        | j                  |j                  j                  «       «        ||j                  j                  «       d«        ||j                  j                  «       d«        ||j                  j                  «       d«        ||j                   j"                  d«        ||j$                  j"                  d«        ||j$                  j&                  d«       t        j(                  ddd	d
«       t        j(                  dddd«       |j                  «         ||j                  j                  «       d«        ||j                  j                  «       d«        ||j                   j"                  d«        ||j$                  j"                  d«        ||j$                  j&                  d«       t	        j
                  d¬«      t        _        t	        j
                  d¬«      t        _        t        j(                  dddd«       |j                  «        | j-                  |j                  j                  «       «        ||j                  j                  «       d«        ||j                  j                  «       d«        ||j                   j"                  d«        ||j$                  j"                  d«        ||j$                  j&                  d«       t        `t        `t        j.                  «        y )NúIDLE Classic OSXrÐ   ú- no custom keys -rÓ   rM   ©r„  r   rÕ   rÖ   r×   rØ   rÙ   rÚ   rƒ   zIDLE Modern Unixr   ÚKeysrÜ   rÝ   r­   )rØ   )r   r'   rh   rP   r   r<   r   ÚCurrentKeysÚload_key_cfgr§   Úkeyset_sourcer~   rá   râ   Úcustom_keyset_onrä   r  rQ   r€  Úargsrå   Údefault_keysr   r€   ræ   s      r"   Útest_load_key_cfgzKeysPageTest.test_load_key_cfg!  sg  € Ü�‰ÔØ�I‰IˆØ×Ñˆô  $Ÿy™yÐ6HÔIŒÔØ	�‰ÔØ�‰˜Ÿ™×+Ñ+Ó-Ô.á
ˆ1�>‰>×ÑÓÐ!3Ô4Ù
ˆ1�=‰=×ÑÓÐ 4Ô5Ù
ˆ1×Ñ×#Ñ#Ó% }Ô5Ù
ˆ1�?‰?×!Ñ! 1Ô%Ù
ˆ1×Ñ×"Ñ" AÔ&Ù
ˆ1×Ñ× Ñ Ð"8Ô9ô 	×Ñ˜6 7¨H°gÔ>Ü×Ñ˜6 7¨I°xÔ@Ø	�‰ÔÙ
ˆ1�>‰>×ÑÓÐ!3Ô4Ù
ˆ1�=‰=×ÑÓ Ô(Ù
ˆ1�?‰?×!Ñ! 1Ô%Ù
ˆ1×Ñ×"Ñ" AÔ&Ù
ˆ1×Ñ× Ñ Ð"8Ô9ô  $Ÿy™y°gÔ>ŒÔÜ $§	¡	Ð7IÔ JŒÔÜ×Ñ˜6 6¨9°cÔ:Ø	�‰ÔØ×Ñ˜Ÿ™×,Ñ,Ó.Ô/Ù
ˆ1�>‰>×ÑÓÐ!3Ô4Ù
ˆ1�=‰=×ÑÓ Ô(Ù
ˆ1�?‰?×!Ñ! 1Ô%Ù
ˆ1×Ñ×"Ñ" AÔ&Ù
ˆ1×Ñ× Ñ  +Ô.äÐ ¤(Ð"7Ü�‰Õr!   c                 ó|  — | j                   }| j                  }t        «       |_        t        «       |_        |j
                  j                  «         |t        dddii«        ||j                  j                  d«        ||j                  j                  d«       t        j                  «        |j                  j                  d«       |j                  j                  «        | j                  t        dddii«        ||j                  j                  d«        ||j                  j                  d«       |`|`y )Nr‡  rÜ   rê   rM   r   rë   rì   )rP   rh   r   rí   rî   Úbuiltin_keyset_onr?   r°   rQ   r   r(   r‹  rä   rð   s      r"   Útest_keyset_sourcezKeysPageTest.test_keyset_sourceK  sþ   € Ø×ÑˆØ�I‰Iˆä%)£VˆÔ"Ü$(£FˆÔ!à	×Ñ×"Ñ"Ô$Ù
Œ8�f˜y¨&Ð1Ð2Ô3Ù
ˆ1×%Ñ%×,Ñ,¨aÔ0Ù
ˆ1×$Ñ$×+Ñ+¨QÔ/Ü�‰Œð 	
×Ñ× Ñ  Ô0Ø	×Ñ×!Ñ!Ô#Ø×Ñœ F¨Y¸Ð,@Ð#AÔBÙ
ˆ1×%Ñ%×,Ñ,¨aÔ0Ù
ˆ1×$Ñ$×+Ñ+¨QÔ/ØÐ&¨Ñ(Ar!   c                 óò  — | j                   }| j                  }t        j                  d   j	                  d«       g d¢}|j
                  j                  |d«        |t        ddddœi«        ||j                  d   d«        ||j                  j                  d	«        ||j                  j                  d
«       t        j                  «        t        j                  dddd«       |j
                  j                  |d«        |t        dddii«        ||j                  d   d«        ||j                  j                  d«        ||j                  j                  d
«       t        j                  «        |j
                  j                  |d«        |t        ddddœi«        ||j                  d   d«        ||j                  j                  d«        ||j                  j                  d«       y )Nr   r‡  )úIDLE Classic Windowsr„  úIDLE Modern UNIXr”  r“  r÷   rù   zNew key set, see HelprM   )r”  rõ   zIDLE Classic Unixrø   rƒ   r„  r   r­   r†  )rP   rh   r   r   rË   rú   rû   r°   Úkeys_messager€  rQ   rŒ  r   r(   rå   rý   s       r"   rÿ   zKeysPageTest.test_builtin_name`  sª  € Ø×ÑˆØ�I‰IˆÜ×Ñ˜Ñ ×/Ñ/°Ô7ò)ˆ	ð 	
�‰×Ñ˜iÐ);Ô<Ù
Œ8�fÐ'=Ø(:ñ<ð =ô 	>á
ˆ1�>‰>˜&Ñ!Ð#:Ô;Ù
ˆ1×Ñ×"Ñ" AÔ&Ù
ˆ1×Ñ× Ñ Ð"8Ô9ô 	�‰ŒÜ×Ñ˜6 6¨6Ð3FÔGØ	�‰×Ñ˜iÐ);Ô<Ù
Œ8�f˜wÐ(:Ð;Ð<Ô=Ù
ˆ1�>‰>˜&Ñ!Ð#:Ô;Ù
ˆ1×Ñ×"Ñ" AÔ&Ù
ˆ1×Ñ× Ñ Ð"8Ô9ô 	�‰ŒØ	�‰×Ñ˜iÐ);Ô<Ù
Œ8�fÐ'9ÀBÑGÐHÔIÙ
ˆ1�>‰>˜&Ñ! 2Ô&Ù
ˆ1×Ñ×"Ñ" AÔ&Ù
ˆ1×Ñ× Ñ Ð"8Õ9r!   c                 ó°  — | j                   }|j                  j                  g d«       | j                  dt        «       | j                  |j                  j                  d«       t        j                  «        |j                  j                  g d¢d«       | j                  t        dddii«       | j                  |j                  j                  d«       y )Nr…  r‡  r   r  r  rõ   rM   )
rh   r  rû   r  r°   rP   r€  rQ   r   r(   rR   s     r"   r  zKeysPageTest.test_custom_name€  s¢   € Ø�I‰Iˆð 	
�‰×Ñ˜RÐ!5Ô6Ø×Ñ˜¤Ô*Ø×Ñ˜×)Ñ)×0Ñ0°!Ô4ô 	�‰ŒØ	�‰×Ñš_¨cÔ2Ø×Ñœ F¨V°S¨MÐ#:Ô;Ø×Ñ˜×)Ñ)×0Ñ0°!Õ4r!   c                 óÖ  — t        j                  dddd«       | j                  }|j                  j	                  d«       |j
                  j                  dd«       |j
                  j                  dd«       |j
                  j                  d	d
«       |j
                  j                  d«       |j
                  j                  d«       |j                  j	                  d«       | j                  t        dddii«       |j
                  j                  d	«       |j
                  j                  d	«       |j                  j	                  d«       | j                  t        dd
dii«       y )Nr   ÚZzDummyÚenablerê   zmy custom keysr   ÚendÚcopyrM   zz-inú	<Key-F11>ÚZzDummy_cfgBindings)r   rå   rh   râ   ry   ÚbindingslistÚdeleteÚinsertÚselection_setÚselection_anchorÚ
keybindingrP   r\   rF   rR   s     r"   Útest_keybindingzKeysPageTest.test_keybindingŽ  s  € Ü×Ñ˜<¨°H¸fÔEØ�I‰IˆØ	�‰×ÑÐ*Ô+Ø	�‰×Ñ˜a Ô'Ø	�‰×Ñ˜a Ô(Ø	�‰×Ñ˜a Ô(Ø	�‰×$Ñ$ QÔ'Ø	�‰×'Ñ'¨Ô*à	�‰×Ñ˜Ô%Ø×ÑœØ*¨V°[Ð,AÐBô	Dð 	
�‰×$Ñ$ QÔ'Ø	�‰×'Ñ'¨Ô*Ø	�‰×Ñ˜Ô%Ø×ÑœØ/°&¸+Ð1FÐGõ	Ir!   c                 ó˜  — | j                   }| j                  }|`|j                  j	                  d«       |j                  «         ||j
                  d   t        «        ||j                  d   t        «        ||j                  j                  «       d«       |j                  j	                  d«       |j                  «         ||j
                  d   t        «        ||j                  j                  «       d«        ||j                  d   t        «        ||j                  j                  «       d«       t        «       |_        y r0  )rP   rh   r  rŠ  ry   rú   r   r  r   Úbutton_delete_custom_keysrä   r‹  r   rð   s      r"   Útest_set_keys_typezKeysPageTest.test_set_keys_type£  s÷   € Ø×ÑˆØ�I‰IˆØˆOð 	
�‰×Ñ˜DÔ!Ø	�‰ÔÙ
ˆ1�=‰=˜Ñ!¤6Ô*Ù
ˆ1�<‰<˜Ñ ¤(Ô+Ù
ˆ1×&Ñ&×,Ñ,Ó.°Ô>ð 	
�‰×Ñ˜EÔ"Ø	�‰ÔÙ
ˆ1�=‰=˜Ñ!¤8Ô,Ù
ˆ1×Ñ×#Ñ#Ó% }Ô5Ù
ˆ1�<‰<˜Ñ ¤&Ô)Ù
ˆ1×&Ñ&×,Ñ,Ó.°Ô3Ü›&ˆ�r!   c                 ó  — | j                   }| j                  }t        j                  }t	        d¬«      x}t        _        t	        «       x}|_        |j                  j                  d«       |j                  j                  dd«       |j                  j                  dd«       |j                  j                  d«       |j                  j                  d«       |j                  j                  d«       |j                  j                  d«       d|_        |j                  j#                  «         ||j                  j%                  d	«      d«        ||j                  j%                  «       d«       d
|_        d|_        |j                  j#                  «         ||j&                  d«        ||j                  j%                  d	«      d«       d|_        |j                  j#                  «         ||j(                  j%                  «       |j                   «        ||j                  j%                  d	«      d«        ||j                  j%                  «       d
«       |j                  j                  d«       d|_        d|_        |j                  j#                  «         ||j&                  d«        ||j                  j%                  d	«      d«        ||j                  j%                  «       d«       |`|t        _        y )NTrN  rë   r   rš  zcopy - <Control-Shift-Key-C>zKey-ar   r—   rœ  rM   zMy New Key Setzcopy - <Key-F11>Fz<Key-p>zcopy - <Key-p>)rP   rh   r   ÚGetKeysWindowr   Úget_new_keys_nameÚbutton_new_keysrä   rž  rŸ  r   r¡  r¢  r£  ry   rŠ  r=  r?   r~   rQ   râ   )r0   rç   rA   Úorig_getkeysdialogÚgkdÚgnkns         r"   Útest_get_new_keyszKeysPageTest.test_get_new_keys¸  sD  € Ø×ÑˆØ�I‰IˆÜ)×7Ñ7ÐÜ+/¸DÔ+AÐAˆŒlÔ(Ü%)£VÐ+ˆˆqÔ"à	×Ñ×Ñ Ô/Ø	�‰×Ñ˜a Ô'Ø	�‰×Ñ˜aÐ!?Ô@Ø	�‰×$Ñ$ QÔ'Ø	�‰×'Ñ'¨Ô*Ø	�‰×Ñ˜Ô!Ø	�‰×Ñ˜DÔ!ð ˆŒ
Ø	×Ñ× Ñ Ô"Ù
ˆ1�>‰>×Ñ˜hÓ'Ð)GÔHá
ˆ1�<‰<×ÑÓ˜wÔ'ð !ˆŒ
àˆŒØ	×Ñ× Ñ Ô"Ù
ˆ4�;‰;˜ÔÙ
ˆ1�>‰>×Ñ˜hÓ'Ð)GÔHà&ˆŒØ	×Ñ× Ñ Ô"Ù
ˆ1�=‰=×ÑÓ §¡Ô,Ù
ˆ1�>‰>×Ñ˜hÓ'Ð);Ô<Ù
ˆ1�<‰<×ÑÓ˜{Ô+ð 	
�‰×Ñ˜EÔ"ØˆŒØˆŒ
Ø	×Ñ× Ñ Ô"Ù
ˆ4�;‰;˜ÔÙ
ˆ1�>‰>×Ñ˜hÓ'Ð)9Ô:Ù
ˆ1�<‰<×ÑÓ˜yÔ)àÐØ%7ŒÕ"r!   c                 óÐ   — t         j                  }t        d¬«      x}t         _        | j                  }d|_        | j                  |j                  d«      d«       |t         _        y )NTrN  zNew Keysr   )r   rP  r   rh   r=  rP   rª  rQ  s       r"   Útest_get_new_keys_namez#KeysPageTest.test_get_new_keys_nameè  sS   € Ü'×3Ñ3ÐÜ(,¸Ô(>Ð>ˆŒ\Ô%Ø�I‰IˆàˆŒ	Ø×Ñ˜×,Ñ,¨RÓ0°*Ô=à#3ŒÕ r!   c                 ó¾  — | j                   }t        «       x}|_        |j                  j	                  d«       d|_        |j                  j                  «        d|_        d|_        | j                  |j
                  t        j                  d   «       |j                  j                  «        | j                  |j
                  t        j                  d   «       |`y )NTr   zmy new key setr   r   )rh   r   rª  rŠ  ry   r=  Úbutton_save_custom_keysr?   rQ   r  r   r   r‹   )r0   rA   r®  s      r"   Útest_save_as_new_key_setz%KeysPageTest.test_save_as_new_key_setò  s«   € Ø�I‰IˆÜ%)£VÐ+ˆˆqÔ"Ø	�‰×Ñ˜DÔ!ð ˆŒØ	×!Ñ!×(Ñ(Ô*ð 'ˆŒØˆŒØ×Ñ˜Ÿ™¤h×&6Ñ&6°vÑ&>Ô?Ø	×!Ñ!×(Ñ(Ô*Ø�‰�d—k‘k¤8×#3Ñ#3°FÑ#;Ô<àÑr!   c                 ó¦  — | j                   }|j                  }|j                  dd«       |j                  dd«       |j                  dd«       |j	                  d«       |j                  «        |j                  d«       |j                  «        |j                  d«      \  }}}}||dz  z  }||dz  z  }|j                  ddd¬«       |j                  d	||¬«       |j                  d
||¬«       |j                  d||¬«       | j                  |j                  d«      d«       | j                  |j                  j                  «       d«       y )Nr   rš  r›  rM   Úfindrƒ   r  r“   r  r’   r–   r—   r    )rh   rž  rŸ  r   rJ   r‰   r˜   rj   r™   rŠ   rP   r~   r«  rä   )r0   rA   r  r”   r•   rš   r›   s          r"   Útest_on_bindingslist_selectz(KeysPageTest.test_on_bindingslist_select  s!  € Ø�I‰IˆØ�N‰NˆØ	�‰��EÔØ	�‰��FÔØ	�‰��FÔØ	�
‰
�1Œà	�‰ŒØ	�‰ˆaŒØ	�‰Œ
Ø—v‘v˜a“y‰ˆˆ1ˆb�"Ø	ˆR�1‰W‰ˆØ	ˆR�1‰W‰ˆØ	×Ñ˜ a¨1ÐÔ-Ø	×Ñ˜ q¨AÐÔ.Ø	×Ñ˜¨¨aÐÔ0Ø	×ÑÐ,°°QÐÔ7Ø×Ñ˜Ÿ™˜x›¨&Ô1Ø×Ñ˜×*Ñ*×0Ñ0Ó2°BÕ7r!   c                 ó@  — | j                   }| j                  }|j                  j                  d«       |j                  j                  d«       d}d}| j                  |t        j                  «       |j                  |«        |t        j                  dd«      |g«        |t        j                  d«      t        j                  |«      «        ||j                  j                  «       |«       | j                  |j                  j                  «       «        ||j                  j                  d«       t!        j"                  d|dd	«       | j                  |t        j                  «       |j                  |«        |t        j                  dd«      ||g«       | j%                  t        j                  |«      t        j                  |«      «       t        j&                  d|dd	«        |t        j                  |«      t        j                  |«      «       y )
NTr“  zmy new custom key setzmy second custom keysetrÉ   r   rM   r›  rœ  )rP   rh   rŠ  ry   rá   r  r   r   Úcreate_new_key_setrÊ   Ú	GetKeySetrâ   r~   r   r  rQ   r   r\  r}   rå   r]  s        r"   Ú,test_create_new_key_set_and_save_new_key_setz9KeysPageTest.test_create_new_key_set_and_save_new_key_set  s¥  € Ø×ÑˆØ�I‰Iˆð 	
�‰×Ñ˜DÔ!Ø	�‰×ÑÐ1Ô2Ø+ˆ	Ø.ˆ
ð 	×Ñ˜¤H×$4Ñ$4Ô5Ø	×Ñ˜YÔ'Ù
Œ8×"Ñ" 6¨6Ó2°Y°KÔ@Ù
Œ8×ÑÐ4Ó5Ü×Ñ˜iÓ(ô	*á
ˆ1�=‰=×ÑÓ 	Ô*Ø×Ñ˜Ÿ™×,Ñ,Ó.Ô/Ù
ˆ1�?‰?×!Ñ! 1Ô%ô 	×Ñ˜6 9¨f°kÔBØ×Ñ˜¤X×%5Ñ%5Ô6Ø	×Ñ˜ZÔ(Ù
Œ8×"Ñ" 6¨6Ó2°YÀ
Ð4KÔLØ×ÑœH×.Ñ.¨yÓ9Ü$×.Ñ.¨zÓ:ô	<ô 	×Ñ˜6 9¨f°kÔBÙ
Œ8×Ñ˜iÓ(¬(×*<Ñ*<¸ZÓ*HÕIr!   c                 ó   — | j                   }| j                  }t        «       x}t        _        |`|j                  }|j                  dd«       |j                  dd«       |j                  dd«       ddgdgd	gd
œ|_	        t        j                  dddd«       d}|j                  d«        ||j                  dd«      |«        ||j                  d«      d«        ||j                  «       d«       |j                  d«       |j                  d«       |j                  d«        ||j                  dd«      |«        ||j                  d«      d«        ||j                  «       d«       |j                  d«       |j                  d«       |j                  d«        ||j                  dd«      |«        ||j                  d«      d«        ||j                  «       d«       t        «       |_        t        `y )Nr   rš  z<<find>>rM   z<<help>>z<Control-Key-c>z<Control-Key-C>z<Control-Key-space>rœ  )z<<copy>>z<<force-open-completions>>z<<spam>>r   zmy keysrö   z<Shift-Key-a>)z&copy - <Control-Key-c> <Control-Key-C>ú,force-open-completions - <Control-Key-space>úspam - <Shift-Key-a>r—   r   r    r½  )rM   rƒ   r¾  )rƒ   )rP   rh   r   r   rº  r€  rž  rŸ  r   r=  r   r\  r~   Úcurselectionr¡  r¢  )r0   rç   rA   Úgksr  r´   s         r"   Útest_load_keys_listz KeysPageTest.test_load_keys_list8  s³  € Ø×ÑˆØ�I‰IˆÜ#'£6Ð)ˆŒhÔ ØÐØ�N‰Nˆà	�‰��EÔØ	�‰��JÔØ	�‰��JÔØ#4Ð6GÐ"HØ5JÐ4KØ#. -ñ1ˆŒ
ô 	×Ñ˜6 9¨f°oÔFð,ˆð
 	
×Ñ˜Ô#Ù
ˆ1�5‰5��E‹?˜HÔ%Ù
ˆ1�5‰5�‹?˜BÔÙ
ˆ1�>‰>Ó˜RÔ ð 	
�‰˜ÔØ	×Ñ˜1ÔØ	×Ñ˜Ô#Ù
ˆ1�5‰5��E‹?˜HÔ%Ù
ˆ1�5‰5�‹?ÐJÔKÙ
ˆ1�>‰>Ó˜UÔ#ð 	
�‰˜ÔØ	×Ñ˜1ÔØ	×Ñ˜Ô#Ù
ˆ1�5‰5��E‹?˜HÔ%Ù
ˆ1�5‰5�‹?Ð2Ô3Ù
ˆ1�>‰>Ó˜UÔ#Ü›6ˆÔäÑr!   c                 ó8  — | j                   }| j                  }|j                  j                  d«       t	        «       x}|_        t	        «       t        _        t	        «       t        _        d}t        j                  d   j                  |dd«       ddit        |<   d}t        j                  d   j                  |dd«       dd	it        |<   |j                  j                  d«       |j                  j                  «        |j                  j!                  |«       d
|_        |j                  j                  «         ||j$                  d«        |t        |   ddi«        |t        j&                  dd«      ||g«        |t        j                  j$                  d«        |t        j                  j$                  d«        ||j(                  j$                  d«       d|_        |j                  j                  «         ||j$                  d«       | j+                  |t        «        |t        j&                  dd«      |g«        ||j                  j                  «       d«        ||j                  j-                  «       |«        |t        j                  j$                  d«        |t        j                  j$                  d«        ||j(                  j$                  d«       |j                  j!                  |«       d|_        |j                  j                  «         ||j$                  d«       | j+                  |t        «        |t        j&                  dd«      g «        ||j                  j                  «       d«        ||j                  j-                  «       d«        |t        j                  j$                  d«        |t        j                  j$                  d«        ||j(                  j$                  d«       t        `t        `|`y )Nrë   zspam key setr   rõ   r×   rÖ   rê   zother key setrì   FrM   rÉ   r   Trƒ   r    r­   rÓ   r…  )rP   rh   r¦  rä   r   rw  r   rE   r4   r   r   rå   r\   r‹  r?   râ   ry   r=  rQ   rÊ   r  r  r~   )r0   rç   rA   rx  Úkeyset_nameÚkeyset_name2s         r"   Útest_delete_custom_keysz$KeysPageTest.test_delete_custom_keysc  s&  € Ø×ÑˆØ�I‰IˆØ	×#Ñ#×)Ñ)¨.Ô9Ü!›VÐ#ˆ�”
Ü+/«6ŒÔ(Ü)-«ŒÔ&à$ˆÜ×Ñ˜Ñ ×*Ñ*¨;¸ÀÔHØ!)¨6Ð 2Œ�Ñà&ˆÜ×Ñ˜Ñ ×*Ñ*¨<¸ÀÔIØ"*¨GÐ!4Œ�Ñð 	
×Ñ× Ñ  Ô0Ø	×Ñ×!Ñ!Ô#Ø	�‰×Ñ˜+Ô&ð ˆŒØ	×#Ñ#×*Ñ*Ô,Ù
ˆ5�<‰<˜ÔÙ
Œ8�KÑ  8¨VÐ"4Ô5Ù
Œ8×"Ñ" 6¨6Ó2°[À,Ð4OÔPÙ
Œ6×+Ñ+×2Ñ2°AÔ6Ù
Œ6×)Ñ)×0Ñ0°!Ô4Ù
ˆ1�?‰?×!Ñ! 1Ô%ð ˆŒØ	×#Ñ#×*Ñ*Ô,Ù
ˆ5�<‰<˜ÔØ×Ñ˜¤hÔ/Ù
Œ8×"Ñ" 6¨6Ó2°\°NÔCÙ
ˆ1×Ñ×#Ñ#Ó% rÔ*Ù
ˆ1�=‰=×ÑÓ Ô-Ù
Œ6×+Ñ+×2Ñ2°AÔ6Ù
Œ6×)Ñ)×0Ñ0°!Ô4Ù
ˆ1�?‰?×!Ñ! 1Ô%ð 	
�‰×Ñ˜,Ô'ØˆŒØ	×#Ñ#×*Ñ*Ô,Ù
ˆ5�<‰<˜ÔØ×Ñ˜¤hÔ/Ù
Œ8×"Ñ" 6¨6Ó2°BÔ7Ù
ˆ1×Ñ×#Ñ#Ó% }Ô5Ù
ˆ1�=‰=×ÑÓÐ 4Ô5Ù
Œ6×+Ñ+×2Ñ2°AÔ6Ù
Œ6×)Ñ)×0Ñ0°!Ô4Ù
ˆ1�?‰?×!Ñ! 1Ô%äÐ*¬FÐ,LØ‰Jr!   N)r5   r6   r7   r½   r¾   rm   rp   rs   rŽ  r‘  rÿ   r  r¤  r§  r¯  r±  r´  r·  r»  rÁ  rÅ  r    r!   r"   r}  r}    s|   „ ñð ñ%ó ð%ð ñ4ó ð4ò$ò(òTBò*:ò@5òIò*!ò*.8ò`4ò ò$8ò*Jò>)óV9r!   r}  c                   óV   — e Zd ZdZed„ «       Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd	„ Zd
„ Zd„ Zy)ÚWinPageTestz•Test that general tab widgets enable users to make changes.

    Test that widget actions set vars, that var changes add
    options to changes.
    c                 ó�   — t         j                  x}| _        t         j                  j	                  |«       |j                  «        y r%   )r   Úwinpagerh   rZ   r[   rj   rk   s     r"   rm   zWinPageTest.setUpClass¥  s-   € ä Ÿ.™.Ð(ˆˆsŒxÜ�‰×Ñ˜4Ô Ø�‰�r!   c                 ó,   — t        j                  «        y r%   rr   r/   s    r"   rs   zWinPageTest.setUp«  rt   r!   c                 ó¼  — | j                   }| j                  }|j                  j                  d«       |j                  j                  d«       |j
                  j                  d«       |j                  «         ||j                  j                  «       d«        ||j                  j                  «       d«        ||j
                  j                  «       d«       y )NrM   r   Ú80r¡   )rP   rh   Ústartup_editry   Ú	win_widthÚ
win_heightÚload_windows_cfgr~   rð   s      r"   Útest_load_windows_cfgz!WinPageTest.test_load_windows_cfg®  s™   € à×ÑˆØ�I‰IˆØ	�‰×Ñ˜1ÔØ	�‰�‰˜ÔØ	�‰×Ñ˜ÔØ	×ÑÔÙ
ˆ1�>‰>×ÑÓ Ô#Ù
ˆ1�;‰;�?‰?Ó˜dÔ#Ù
ˆ1�<‰<×ÑÓ˜tÕ$r!   c                 ó  — | j                   }|j                  j                  «        | j                  t        dddii«       t        j                  «        |j                  j                  «        | j                  t        dddii«       y )NÚGeneralzeditor-on-startuprw   rÝ   )rh   Ústartup_editor_onr?   rP   r°   r   r(   Ústartup_shell_onrR   s     r"   Útest_startupzWinPageTest.test_startupº  sv   € Ø�I‰IˆØ	×Ñ×"Ñ"Ô$Ø×ÑœØ#Ð&9¸3Ð%?Ð@ô	Bä�‰ŒØ	×Ñ×!Ñ!Ô#Ø×ÑœØ#Ð&9¸3Ð%?Ð@õ	Br!   c                 óŒ  — | j                   }|j                  j                  dd«       |j                  j                  dd«       | j	                  t
        dddii«       t        j                  «        |j                  j                  dd«       |j                  j                  dd«       | j	                  t
        dddii«       y )Nr   rš  Ú11rª   ÚheightÚwidth)	rh   Úwin_height_intrŸ  r   rP   r°   r   r(   Úwin_width_intrR   s     r"   Útest_editor_sizezWinPageTest.test_editor_sizeÄ  s›   € Ø�I‰IˆØ	×Ñ×Ñ  5Ô)Ø	×Ñ×Ñ  4Ô(Ø×Ñœ N°X¸tÐ4DÐ#EÔFÜ�‰ŒØ	�‰×Ñ˜q %Ô(Ø	�‰×Ñ˜q $Ô'Ø×Ñœ N°W¸d°OÐ#DÕEr!   c                 óÚ   — | j                   }|j                  j                  d«       | j                  |j                  j                  «       d«       | j                  t        dddii«       y )Né   Ú6ÚIndentz
num-spaces)rh   Úindent_chooserry   rP   Úindent_spacesr~   r°   rR   s     r"   Útest_indent_spaceszWinPageTest.test_indent_spacesÎ  sV   € Ø�I‰IˆØ	×Ñ×Ñ˜QÔØ×Ñ˜Ÿ™×,Ñ,Ó.°Ô4Ø×Ñœ H¨|¸SÐ.AÐ#BÕCr!   c                 ó€   — | j                   j                  j                  «        | j                  t        dddii«       y )Nrª   zcursor-blinkrì   )rh   Úcursor_blink_boolr?   rP   r°   r/   s    r"   Útest_cursor_blinkzWinPageTest.test_cursor_blinkÔ  s2   € Ø�	‰	×#Ñ#×*Ñ*Ô,Ø×Ñœ N°^ÀWÐ4MÐ#NÕOr!   c                 óÐ   — | j                   j                  j                  dd«       | j                   j                  j                  dd«       | j	                  t
        dddii«       y )Nr   rš  rØ  ÚAutoCompleteÚ	popupwait)rh   Úauto_wait_intrŸ  r   rP   rF   r/   s    r"   Útest_autocomplete_waitz"WinPageTest.test_autocomplete_waitØ  sP   € Ø�	‰	×Ñ×&Ñ& q¨%Ô0Ø�	‰	×Ñ×&Ñ& q¨$Ô/Ø×Ñœ >°KÀÐ3FÐ"GÕHr!   c                 óÊ  — | j                   }| j                  }|j                  d   j                  d«        |t        dddii«       t        j                  «        |j                  j                  dd«       |j                  j                  dd«        |t        dddii«       t        j                  «        |j                  j                  «         |t        dd	d
ii«       y )NÚmenur   Ú
ParenMatchr6  Úopenerrš  rØ  zflash-delayÚbellrì   )rh   rP   Úparen_style_typer?   rF   r   r(   Úparen_flash_timerŸ  r   Úbell_onræ   s      r"   Útest_parenmatchzWinPageTest.test_parenmatchÝ  s¹   € Ø�I‰IˆØ×ÑˆØ	×Ñ˜6Ñ"×)Ñ)¨!Ô,Ù
Œ7�\ G¨XÐ#6Ð7Ô8Ü�‰ŒØ	×Ñ×!Ñ! ! UÔ+Ø	×Ñ×!Ñ! ! TÔ*Ù
Œ7�\ M°4Ð#8Ð9Ô:Ü�‰ŒØ	�	‰	×ÑÔÙ
Œ7�\ F¨GÐ#4Ð5Õ6r!   c                 óÐ   — | j                   j                  j                  dd«       | j                   j                  j                  dd«       | j	                  t
        dddii«       y )Nr   rš  rØ  ÚFormatParagraphz	max-width)rh   Úformat_width_intrŸ  r   rP   rF   r/   s    r"   Útest_paragraphzWinPageTest.test_paragraphê  sQ   € Ø�	‰	×"Ñ"×)Ñ)¨!¨UÔ3Ø�	‰	×"Ñ"×)Ñ)¨!¨TÔ2Ø×ÑœÐ#4°{ÀDÐ6IÐ"JÕKr!   N)r5   r6   r7   r½   r¾   rm   rs   rÑ  rÖ  rÝ  rä  rç  rì  rõ  rù  r    r!   r"   rÇ  rÇ  Ÿ  sN   „ ñð
 ñó ðò
ò
%òBòFòDòPòIò
7óLr!   rÇ  c                   ó8   — e Zd ZdZed„ «       Zd„ Zd„ Zd„ Zd„ Z	y)ÚShedPageTestz’Test that shed tab widgets enable users to make changes.

    Test that widget actions set vars, that var changes add
    options to changes.
    c                 ó�   — t         j                  x}| _        t         j                  j	                  |«       |j                  «        y r%   )r   Úshedpagerh   rZ   r[   rj   rk   s     r"   rm   zShedPageTest.setUpClassö  s-   € ä Ÿ/™/Ð)ˆˆsŒxÜ�‰×Ñ˜4Ô Ø�‰�r!   c                 ó,   — t        j                  «        y r%   rr   r/   s    r"   rs   zShedPageTest.setUpü  rt   r!   c                 óÌ   — | j                   }| j                  }|j                  j                  d«       |j	                  «         ||j                  j                  «       d«       y )NrM   r   )rP   rh   Úautosavery   Úload_shelled_cfgr~   rð   s      r"   Útest_load_shelled_cfgz"ShedPageTest.test_load_shelled_cfgÿ  sG   € à×ÑˆØ�I‰IˆØ	�
‰
�‰�qÔØ	×ÑÔÙ
ˆ1�:‰:�>‰>Ó˜QÕr!   c                 óì   — | j                   }|j                  j                  «        | j                  t        dddii«       |j
                  j                  «        | j                  t        dddii«       y )NrÓ  r   rw   rÝ   )rh   Úsave_auto_onr?   rP   r°   Úsave_ask_onrR   s     r"   Útest_autosavezShedPageTest.test_autosave  s_   € Ø�I‰IˆØ	�‰×ÑÔØ×Ñœ I°
¸CÐ/@Ð#AÔBØ	�‰×ÑÔØ×Ñœ I°
¸CÐ/@Ð#AÕBr!   c                 óÐ   — | j                   j                  j                  dd«       | j                   j                  j                  dd«       | j	                  t
        dddii«       y )Nr   rš  rw   ÚCodeContextÚmaxlines)rh   Úcontext_intrŸ  r   rP   rF   r/   s    r"   Útest_contextzShedPageTest.test_context  sP   € Ø�	‰	×Ñ×$Ñ$ Q¨Ô.Ø�	‰	×Ñ×$Ñ$ Q¨Ô,Ø×Ñœ =°:¸sÐ2CÐ"DÕEr!   N)
r5   r6   r7   r½   r¾   rm   rs   r  r  r  r    r!   r"   rû  rû  ð  s1   „ ñð
 ñó ðò
ò òCóFr!   rû  c                   ó    — e Zd ZdZed„ «       Zy)ÚExtPageTestú/Test that the help source list works correctly.c                 ób   — t         j                  }t         j                  j                  |«       y r%   )r   rF   rZ   r[   rk   s     r"   rm   zExtPageTest.setUpClass  s   € ä�~‰~ˆÜ�‰×Ñ˜4Õ r!   N)r5   r6   r7   r½   r¾   rm   r    r!   r"   r  r    s   „ Ù9Øñ!ó ñ!r!   r  c                   ó`   — e Zd ZdZed„ «       Zed„ «       Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd	„ Zd
„ Zd„ Zy)ÚHelpSourceTestr  c                 ó   — t         j                  }t         j                  j                  |«       |j                  x}| _        t        «       x|_        |_        t        «       x|_	        |_
        |j                  «        y r%   )r   rF   rZ   r[   Ú
frame_helpÚframer   ry   Úset_add_delete_stateÚupcÚupdate_help_changesrj   )rl   rh   r  s      r"   rm   zHelpSourceTest.setUpClass  sX   € ä�~‰~ˆÜ�‰×Ñ˜4Ô Ø ŸO™OÐ+ˆ�”	Ü15³Ð7ˆŒ	�EÔ.Ü04³Ð6ˆŒ	�EÔ-Ø�‰�r!   c                 ó˜   — | j                   }|`|`|`|`|j
                  j                  dd«       |j                  j                  «        y )Nr   rš  )	r  ry   r  r  r  ÚhelplistrŸ  Úuser_helplistr(   )rl   r  s     r"   rp   zHelpSourceTest.tearDownClass(  sE   € à—	‘	ˆØˆI�uÐ1ØˆI�uÐ0Ø�‰×Ñ˜a Ô'Ø×Ñ×!Ñ!Õ#r!   c                 ó,   — t        j                  «        y r%   rr   r/   s    r"   rs   zHelpSourceTest.setUp0  rt   r!   c                 ó<  — | j                   }| j                  }|j                  j                  dd«       ddg|_        t        j                  dddd«       |j                  «         ||j                  j                  dd«      d	«        ||j                  d
g«       y )Nrš  ÚbadÚworser   Ú	HelpFilesrw   z	name;filer   )rõ   )rõ   Úfilerw   )	rP   r  r  r   r  r   rå   Úload_helplistr~   ©r0   rç   Úfrs      r"   Útest_load_helplistz!HelpSourceTest.test_load_helplist3  s„   € Ø×ÑˆØ�Z‰ZˆØ
�‰×Ñ˜5 %Ô(Ø! 7Ð+ˆÔÜ×Ñ˜6 ;°°[ÔAØ
×ÑÔÙ
ˆ2�;‰;�?‰?˜1˜eÓ$ iÔ0Ù
ˆ2×ÑÐ3Ð4Õ5r!   c                 ó*  — | j                   }|j                  |_        |j                  |_        |j
                  }d}|j                  |d«       |j                  |«       |j                  «        |j                  |«       |j                  «        |j                  |«      \  }}}}||dz  z  }||dz  z  }dx|j                  _        |j                  _        |j                  ddd¬«       |j                  d||¬«       |j                  d||¬«       |j                  d	||¬«       | j                  |j                  d
«      d«       | j!                  |j                  j                  «       | j#                  |j                  j                  «       y )Nrš  Úsourcerƒ   r   r  r“   r  r’   r–   r—   )r  r  ry   r  r  r  r   rJ   r‰   r˜   rj   r™   rQ   rŠ   rP   r~   r§   r   )r0   r#  r  Údexr”   r•   rš   r›   s           r"   Útest_source_selectedz#HelpSourceTest.test_source_selected=  sO  € Ø�Z‰ZˆØ×(Ñ(ˆŒØ×'Ñ'ˆŒØ—;‘;ˆØˆØ�‰˜˜XÔ&Ø×Ñ˜#Ôà×ÑÔØ�‰�SÔØ�‰ÔØ—}‘} SÓ)‰ˆˆ1ˆb�"Ø	ˆR�1‰W‰ˆØ	ˆR�1‰W‰ˆØ()Ð)ˆ�‰Œ˜Ÿ™œØ×Ñ 	¨Q°!ÐÔ4Ø×Ñ 
¨a°1ÐÔ5Ø×Ñ °°QÐÔ7Ø×ÑÐ 3°q¸AÐÔ>Ø×Ñ˜Ÿ™ hÓ/°Ô:Ø�‰˜Ÿ™Ÿ™Ô&Ø×Ñ˜Ÿ™Ÿ™Õ'r!   c                 ó¦  — | j                   }| j                  }|`|j                  }|j                  }|j	                  dd«        |«         ||j
                  j                  «       d«        ||j                  j                  «       d«       |j                  dd«        |«         ||j
                  j                  «       d«        ||j                  j                  «       d«       |j                  d«        |«         ||j
                  j                  «       d«        ||j                  j                  «       d«       t        «       |_        y )Nr   rš  rÓ   r&  r    )rP   r  r  r  rŸ  Úbutton_helplist_editrä   Úbutton_helplist_remover   r¡  r   )r0   rç   r#  ÚsadÚhs        r"   Útest_set_add_delete_statez(HelpSourceTest.test_set_add_delete_stateU  s  € à×ÑˆØ�Z‰ZˆØÐ#Ø×%Ñ%ˆØ�K‰Kˆà	�‰��EÔÙŒÙ
ˆ2×"Ñ"×(Ñ(Ó*¨MÔ:Ù
ˆ2×$Ñ$×*Ñ*Ó,¨mÔ<à	�‰��HÔÙŒÙ
ˆ2×"Ñ"×(Ñ(Ó*¨MÔ:Ù
ˆ2×$Ñ$×*Ñ*Ó,¨mÔ<à	�‰˜ÔÙŒÙ
ˆ2×"Ñ"×(Ñ(Ó*¨BÔ/Ù
ˆ2×$Ñ$×*Ñ*Ó,¨bÔ1Ü"&£&ˆÕr!   c                 ó¨  — | j                   }t        j                  }t        d¬«      x}t        _        | j                  }|j
                  j                  dd«       |j                  j                  «        dx|j                  _
        |j                  _
        d|_        |j                  «        | j                  t        |j
                  j!                  dd«      «      |j                  cxk(  xr g k(  nc «       | j#                  |j                  j                  «       d|_        |j                  «        d|_        |j                  «         ||j
                  j!                  dd«      d«        ||j                  ddg«        ||j                  j                  d	«       | j#                  |j                  j                  «       |t        _        y )
NTrN  r   rš  r   ©Úname1Úfile1©rø   Úfile2)r1  rø   rƒ   )rP   r   Ú
HelpSourcer   r  r  rŸ  r  r(   ry   rQ   r  r=  Úhelplist_item_addr§   Úlistr~   r   ©r0   rç   Úorig_helpsourcer  r#  s        r"   Útest_helplist_item_addz%HelpSourceTest.test_helplist_item_addm  sY  € ð ×ÑˆÜ&×1Ñ1ˆÜ'+¸Ô'=Ð=ˆŒ\Ô$Ø�Z‰ZˆØ
�‰×Ñ˜1˜eÔ$Ø
×Ñ×ÑÔ Ø()Ð)ˆ�‰Œ˜Ÿ™œàˆŒ	Ø
×ÑÔØ�‰œ˜RŸ[™[Ÿ_™_¨Q°Ó6Ó7Ø×(Ñ(ö/Ø,.ô/ô 	0à×Ñ˜Ÿ™Ÿ™Ô'à&ˆŒ	Ø
×ÑÔØ&ˆŒ	Ø
×ÑÔÙ
ˆ2�;‰;�?‰?˜1˜eÓ$Ð&8Ô9Ù
ˆ2×ÑÐ0Ð2DÐEÔFÙ
ˆ2�6‰6�=‰=˜!ÔØ×Ñ˜Ÿ™Ÿ™Ô'à"1ŒÕr!   c                 ó`  — | j                   }t        j                  }t        d¬«      x}t        _        | j                  }|j
                  j                  dd«       |j
                  j                  dd«       |j
                  j                  d«       |j
                  j                  d«       |j                  j                  «        |j                  j                  d«       dx|j                  _        |j                  _        d|_        |j#                  «        d|_        |j#                  «         ||j
                  j%                  dd«      d«        ||j                  dg«       | j'                  |j                  j                  «       d	|_        |j#                  «         ||j
                  j%                  dd«      d
«        ||j                  d	g«       | j)                  |j                  j                  |j                  j                  cxk(  xr dk(  nc «       |t        _        y )NTrN  r   rš  r1  r0  r   )r1  r3  )rø   rM   )rP   r   r5  r   r  r  rŸ  r   r¡  r¢  r  r(   Úappendry   rQ   r  r=  Úhelplist_item_editr~   r   r§   r8  s        r"   Útest_helplist_item_editz&HelpSourceTest.test_helplist_item_edit‰  s“  € à×ÑˆÜ&×1Ñ1ˆÜ'+¸Ô'=Ð=ˆŒ\Ô$Ø�Z‰ZˆØ
�‰×Ñ˜1˜eÔ$Ø
�‰×Ñ˜1˜gÔ&Ø
�‰×!Ñ! !Ô$Ø
�‰×$Ñ$ QÔ'Ø
×Ñ×ÑÔ Ø
×Ñ×ÑÐ 2Ô3Ø()Ð)ˆ�‰Œ˜Ÿ™œàˆŒ	Ø
×ÑÔØ&ˆŒ	Ø
×ÑÔÙ
ˆ2�;‰;�?‰?˜1˜eÓ$ jÔ1Ù
ˆ2×ÑÐ0Ð1Ô2Ø×Ñ˜Ÿ™Ÿ™Ô'à&ˆŒ	Ø
×ÑÔÙ
ˆ2�;‰;�?‰?˜1˜eÓ$ jÔ1Ù
ˆ2×ÑÐ0Ð1Ô2Ø�‰˜Ÿ™Ÿ™¨¯©¯©Ö;¸!Ô;Ô<à"1ŒÕr!   c                 óâ  — | j                   }| j                  }|j                  j                  dd«       |j                  j	                  dd«       |j                  j                  d«       |j                  j                  d«       |j                  j                  «        |j                  j                  d«       dx|j                  _        |j                  _        |j                  «         ||j                  j                  dd«      d«        ||j                  g «       | j                  |j                  j                  |j                  j                  cxk(  xr
 dk(  «       y c «       y )Nr   rš  r1  r0  r    rM   )rP   r  r  rŸ  r   r¡  r¢  r  r(   r<  ry   rQ   r  Úhelplist_item_remover~   r§   r"  s      r"   Útest_helplist_item_removez(HelpSourceTest.test_helplist_item_remove§  s   € Ø×ÑˆØ�Z‰ZˆØ
�‰×Ñ˜1˜eÔ$Ø
�‰×Ñ˜1˜gÔ&Ø
�‰×!Ñ! !Ô$Ø
�‰×$Ñ$ QÔ'Ø
×Ñ×ÑÔ Ø
×Ñ×ÑÐ 2Ô3Ø()Ð)ˆ�‰Œ˜Ÿ™œà
×ÑÔ!Ù
ˆ2�;‰;�?‰?˜1˜eÓ$ bÔ)Ù
ˆ2×Ñ˜RÔ Ø�‰˜Ÿ™Ÿ™¨¯©¯©Ö;¸!Ñ;Õ<Ñ;Õ<r!   c                 ó6  — | j                   }|`|j                  j                  «        |j                  j	                  d«       |j                  j	                  d«       |j                  «        | j                  t        d   dddœ«       t        «       |_        y )Nr0  r3  r  zname1;file1zname2;file2)rw   Ú2)r  r  r  r(   r<  rP   r°   r   )r0   r#  s     r"   Útest_update_help_changesz'HelpSourceTest.test_update_help_changes·  s�   € Ø�Z‰ZˆØÐ"Ø
×Ñ×ÑÔ Ø
×Ñ×ÑÐ 2Ô3Ø
×Ñ×ÑÐ 2Ô3à
×ÑÔ Ø×Ñœ +Ñ.Ø,°=ÑAô	Cä!%£ˆÕr!   N)r5   r6   r7   r½   r¾   rm   rp   rs   r$  r(  r.  r:  r>  rA  rD  r    r!   r"   r  r    sS   „ Ù9Øñó ðð ñ$ó ð$òò6ò(ò0)ò02ò82ò<=ó 
(r!   r  c                   ó\   — e Zd Zed„ «       Zed„ «       Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd	„ Zd
„ Zy)ÚVarTraceTestc                 ó†   — t        j                  «       | _        t        t        «      | _        t        t        «      | _        y r%   )r   ÚVarTracer   r   r   Úivr   Úbvro   s    r"   rm   zVarTraceTest.setUpClassÆ  s)   € ä"×+Ñ+Ó-ˆŒÜœ“ˆŒÜœDÓ!ˆ�r!   c                 ó   — | ` | `| `y r%   )r   rI  rJ  ro   s    r"   rp   zVarTraceTest.tearDownClassÌ  s   € àˆK˜˜ ¡r!   c                 óF   — | j                   j                  «        d| _        y )Nr   )r   r(   rQ   r/   s    r"   rs   zVarTraceTest.setUpÐ  s   € Ø�‰×ÑÔØˆ�r!   c                 ó.   — | xj                   dz  c_         y )Né   )rQ   ©r0   Úparamss     r"   Úvar_changed_incrementz"VarTraceTest.var_changed_incrementÔ  s   € Ø�Š�rÑŽr!   c                  ó   — y r%   r    rO  s     r"   Úvar_changed_booleanz VarTraceTest.var_changed_boolean×  r2   r!   c                 ó¬   — | j                   }|j                  «        | j                  |j                  g «       | j                  |j                  g «       y r%   )r   Ú__init__rP   ÚuntracedÚtraced©r0   Útrs     r"   Ú	test_initzVarTraceTest.test_initÚ  s<   € Ø�\‰\ˆØ
�‰ŒØ×Ñ˜Ÿ™ bÔ)Ø×Ñ˜Ÿ™ BÕ'r!   c                 ó  — | j                   }|j                  j                  d«       |j                  j                  d«       |j	                  «        | j                  |j                  g «       | j                  |j                  g «       y )Nr   rM   )r   rV  r<  rW  r(   rP   rX  s     r"   Ú
test_clearzVarTraceTest.test_clearà  s`   € Ø�\‰\ˆØ
�‰×Ñ˜1ÔØ
�	‰	×Ñ˜ÔØ
�‰Œ
Ø×Ñ˜Ÿ™ bÔ)Ø×Ñ˜Ÿ™ BÕ'r!   c                 óÎ  — | j                   }t        «       }t        j                  |¬«      x}|_        |j                  | j                  | j                  «      }| j                  || j                  «       |j                  | j                  | j                  «      }| j                  || j                  «       t        t        «      }|j                  |d«      }| j                  ||«       |j                  «        |j                  |d«       || j                  f|| j                  f||fg}| j                  |j                   g «       | j                  |j"                  |«       |`y )NrÐ   ©r   rÍ   rÖ   )r   r   r   r<   Úmake_callbackÚaddrI  rQ  ÚassertIsrJ  rS  r
   r   r@   Úassert_called_withrP   rW  rV  )	r0   rY  ÚfuncÚcbrI  rJ  ÚsvÚsv2r´   s	            r"   Útest_addzVarTraceTest.test_addè  s  € Ø�\‰\ˆÜ‹vˆÜ $§	¡	°tÔ <Ð<ˆˆRÔà�V‰V�D—G‘G˜T×7Ñ7Ó8ˆØ�‰�b˜$Ÿ'™'Ô"Ø�V‰V�D—G‘G˜T×5Ñ5Ó6ˆØ�‰�b˜$Ÿ'™'Ô"ä”t‹_ˆØ�f‰f�RÐ6Ó7ˆØ�‰�c˜2ÔØ
×ÑÔØ
×Ñ˜bÐ"?Ô@à˜×3Ñ3Ð4Ø˜×1Ñ1Ð2Ø˜�Jð ˆð 	×Ñ˜Ÿ™ BÔ'Ø×Ñ˜Ÿ™ hÔ/àÑr!   c                 ó’  — | j                   j                  | j                  d«      }| j                  t	        |«      «       | j                  j                  d«       | j                  dt        d   «        |«        | j                  dt        d   «       | j                  t        d   d   d   d«       t        j                  «        y )Nr^  é*   rÍ   r   rÖ   Ú42)r   r_  rI  r§   Úcallablery   r  r   r‹   rP   r(   )r0   rd  s     r"   Útest_make_callbackzVarTraceTest.test_make_callback   sŽ   € Ø�\‰\×'Ñ'¨¯©Ð1NÓOˆØ�‰œ ›Ô%Ø�‰�‰�BŒà×Ñ˜¤G¨F¡OÔ4á
ŒØ�‰�i¤¨¡Ô1Ø×Ñœ ™¨Ñ3°HÑ=¸tÔDÜ�‰�r!   c                 ó–  — | j                   }|j                  | j                  | j                  «      }|j                  | j                  | j
                  «      }|| j                  f|| j
                  fg}|j                  «        | j                  |j                  g «       | j                  |j                  |«       |j                  d«       | j                  |j                  «       d«       | j                  | j                  d«       d| _        |j                  «        |j                  d«       | j                  | j                  d«       d| _        |j                  «        | j                  |j                  g «       | j                  |j                  |«       |j                  d«       | j                  | j                  d«       y )NrM   rN  r   )r   r`  rI  rQ  rJ  rS  r€   rP   rV  ÚassertCountEqualrW  ry   r~   rQ   r'   )r0   rY  rI  rJ  r´   s        r"   Útest_attach_detachzVarTraceTest.test_attach_detach  sT  € Ø�\‰\ˆØ�V‰V�D—G‘G˜T×7Ñ7Ó8ˆØ�V‰V�D—G‘G˜T×5Ñ5Ó6ˆØ˜×3Ñ3Ð4Ø˜×1Ñ1Ð2ð4ˆð 	�	‰	ŒØ×Ñ˜Ÿ™ bÔ)Ø×Ñ˜bŸi™i¨Ô2Ø
�‰ˆqŒ	Ø×Ñ˜Ÿ™› 1Ô%Ø×Ñ˜Ÿ™ bÔ)ð
 ˆŒØ
�	‰	ŒØ
�‰ˆqŒ	Ø×Ñ˜Ÿ™ bÔ)ð ˆŒØ
�	‰	ŒØ×Ñ˜Ÿ™ BÔ'Ø×Ñ˜bŸk™k¨8Ô4Ø
�‰ˆqŒ	Ø×Ñ˜Ÿ™ aÕ(r!   N)r5   r6   r7   r¾   rm   rp   rs   rQ  rS  rZ  r\  rg  rl  ro  r    r!   r"   rF  rF  Ä  sP   „ àñ"ó ð"ð
 ñ(ó ð(òòòò(ò(òò0
ó)r!   rF  Ú__main__rƒ   )Ú	verbosity)0r½   Úidlelibr   Útest.supportr   Útest.support.testcaser   Úunittestr   Úidlelib.idle_test.mock_idler   Útkinterr	   r
   r   r   r   r   r   Úidlelib.configdialogr   r   r   r   r&   ÚIdleUserConfParserr   r   r   r°   rÂ   r\   rF   r#   r+   ÚTestCaser-   r9   re   rÀ   r}  rÇ  rû  r  r  rF  r5   r   r    r!   r"   Ú<module>r{     s°  ðñõ !Ý !Ù ˆ„Ý 1Û Ý Ý ,ß I× IÝ ß ;Ñ ;ð
 ×
Ñ
€à%ˆF×%Ñ% bÓ)Ø*�×*Ñ*¨2Ó.Ø%ˆF×%Ñ% bÓ)Ø+�&×+Ñ+¨BÓ/ñ	€ð €Ø	€Ø�6‰?€Ø�;Ñ€Ø�6‰?€Ø
�,Ñ
€òBòô�x×(Ñ(ô ô(<�×"Ñ" Oô (<ôV[�8×$Ñ$ô [ô|y�8×$Ñ$ô yôxX�8×$Ñ$ô XôvNL�(×#Ñ#ô NLôb!F�8×$Ñ$ô !FôJ!�(×#Ñ#ô !ôd(�X×&Ñ&ô d(ôNe)�8×$Ñ$ô e)ðP ˆzÒØ€H‡M�M˜AÖð r!   