§
    ‹Ÿji.  ã                   ó¼   — d dl Z d dlmZ d dlZd dlZd dlmZ d dlZd dlmZm	Z	 d dl
mZ d dlZej        rd dlmZ  G d„ d¦  «        Z G d	„ d
ej        ¦  «        ZdS )é    N)ÚStringIO)Úmock)ÚOptionParserÚError)Úbasestring_type)ÚListc                   ó*   — e Zd Zd„ Zed„ ¦   «         ZdS )ÚEmailc                 ób   — t          |t          ¦  «        rd|v r	|| _        d S t          ¦   «         ‚)Nú@)Ú
isinstanceÚstrÚ_valueÚ
ValueError)ÚselfÚvalues     úf/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/tornado/test/options_test.pyÚ__init__zEmail.__init__   s1   € Ý�e�SÑ!Ô!ð 	 c¨U l lØˆDŒKˆKˆKå‘,”,Ðó    c                 ó   — | j         S ©N)r   ©r   s    r   r   zEmail.value   s
   € àŒ{Ðr   N)Ú__name__Ú
__module__Ú__qualname__r   Úpropertyr   © r   r   r
   r
      s>   € € € € € ðð ð ð ðð ñ „Xðð ð r   r
   c                   ó°   — e 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d„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚOptionsTestc                 ó´   — t          ¦   «         }|                     dd¬¦  «         |                     ddg¦  «         |                      |j        d¦  «         d S )NÚportéP   ©Údefaultúmain.pyz
--port=443é»  )r   ÚdefineÚparse_command_lineÚassertEqualr!   ©r   Úoptionss     r   Útest_parse_command_linez#OptionsTest.test_parse_command_line   sX   € Ý‘.”.ˆØ�Š�v rˆÑ*Ô*Ð*Ø×"Ò" I¨|Ð#<Ñ=Ô=Ð=Ø×Ò˜œ sÑ+Ô+Ð+Ð+Ð+r   c                 ó2  — t          ¦   «         }|                     dd¬¦  «         |                     dd¬¦  «         |                     d¦  «         t          j                             t          j                             t          j                             t          ¦  «        ¦  «        d¦  «        }|                     |¦  «         |  	                    |j
        d¦  «         |  	                    |j        d	¦  «         |  	                    |j        |¦  «         d S )
Nr!   r"   r#   ÚusernameÚfooÚmy_pathúoptions_test.cfgr&   u   æ�Žåº·)r   r'   ÚosÚpathÚjoinÚdirnameÚabspathÚ__file__Úparse_config_filer)   r!   r.   r0   )r   r+   Úconfig_paths      r   Útest_parse_config_filez"OptionsTest.test_parse_config_file$   så   € Ý‘.”.ˆØ�Š�v rˆÑ*Ô*Ð*Ø�Š�z¨5ˆÑ1Ô1Ð1Ø�Š�yÑ!Ô!Ð!Ý”g—l’lÝŒG�OŠO�BœGŸOšO­HÑ5Ô5Ñ6Ô6Ð8Jñ
ô 
ˆð 	×!Ò! +Ñ.Ô.Ð.Ø×Ò˜œ sÑ+Ô+Ð+Ø×Ò˜Ô)¨8Ñ4Ô4Ð4Ø×Ò˜œ¨+Ñ6Ô6Ð6Ð6Ð6r   c                 ó˜  ‡ — t          ¦   «         }d‰ _        ˆ fd„}|                     |¦  «         |                     dgd¬¦  «         ‰                      ‰ j        ¦  «         |                     dg¦  «         ‰                      ‰ j        ¦  «         d‰ _        |                     dg¦  «         ‰                      ‰ j        ¦  «         d S )NFc                  ó   •— d‰ _         d S )NT)Úcalledr   s   €r   Úcallbackz2OptionsTest.test_parse_callbacks.<locals>.callback5   s   ø€ ØˆDŒKˆKˆKr   r%   )Úfinal)r   r=   Úadd_parse_callbackr(   ÚassertFalseÚ
assertTrue)r   r+   r>   s   `  r   Útest_parse_callbacksz OptionsTest.test_parse_callbacks1   sÚ   ø€ Ý‘.”.ˆØˆŒð	ð 	ð 	ð 	ð 	ð 	×"Ò" 8Ñ,Ô,Ð,ð 	×"Ò" I ;°eÐ"Ñ<Ô<Ð<Ø×Ò˜œÑ%Ô%Ð%ð 	×"Ò" I ;Ñ/Ô/Ð/Ø�Š˜œÑ$Ô$Ð$ð ˆŒØ×"Ò" I ;Ñ/Ô/Ð/Ø�Š˜œÑ$Ô$Ð$Ð$Ð$r   c                 ó¢  — t          ¦   «         }	 t          j        }t          ¦   «         t          _        |                      t
          ¦  «        5  |                     ddg¦  «         d d d ¦  «         n# 1 swxY w Y   t          j                             ¦   «         }|t          _        n# |t          _        w xY w|                      d|¦  «         d S )Nr%   z--helpzUsage:)	r   ÚsysÚstderrr   ÚassertRaisesÚ
SystemExitr(   ÚgetvalueÚassertIn)r   r+   Úorig_stderrÚusages       r   Ú	test_helpzOptionsTest.test_helpH   sþ   € Ý‘.”.ˆð	%Ýœ*ˆKÝ!™œ�CŒJØ×"Ò"¥:Ñ.Ô.ð Bð BØ×*Ò*¨I°xÐ+@ÑAÔAÐAðBð Bð Bñ Bô Bð Bð Bð Bð Bð Bð Bøøøð Bð Bð Bð Bå”J×'Ò'Ñ)Ô)ˆEà$�CŒJˆJø˜�CŒJÐ$Ð$Ð$Ð$Ø�Š�h Ñ&Ô&Ð&Ð&Ð&s/   �>B( ÁA2Á&B( Á2A6Á6B( Á9A6Á:!B( Â(B6c                 óØ  — t          ¦   «         }|                     dd¬¦  «         t          ¦   «         }|                     dt          ¬¦  «         |                     g d¢¦  «        }|                      |ddg¦  «         |                      |j        ¦  «         |                     |¦  «        }|                      |g ¦  «         |                      |j        d	¦  «         	 t          j	        }t          ¦   «         t          _	        |                      t          ¦  «        5  |                     dd
g¦  «         d d d ¦  «         n# 1 swxY w Y   |t          _	        d S # |t          _	        w xY w)NÚverboseFr#   r/   ©Útype)r%   ú	--verboseÚ
subcommandú	--foo=barrS   rT   ÚbarrR   )r   r'   r   r(   r)   rB   rO   r/   rE   rF   r   rG   r   )r   Úbase_optionsÚsub_optionsÚrestÚrest2rK   s         r   Útest_subcommandzOptionsTest.test_subcommandT   s¡  € Ý#‘~”~ˆØ×Ò˜I¨uÐÑ5Ô5Ð5Ý"‘n”nˆØ×Ò˜5¥sÐÑ+Ô+Ð+Ø×.Ò.Ø?Ð?Ð?ñ
ô 
ˆð 	×Ò˜ ¨kÐ:Ñ;Ô;Ð;Ø�Š˜Ô,Ñ-Ô-Ð-Ø×.Ò.¨tÑ4Ô4ˆØ×Ò˜ Ñ#Ô#Ð#Ø×Ò˜œ¨%Ñ0Ô0Ð0ð	%Ýœ*ˆKÝ!™œ�CŒJØ×"Ò"¥5Ñ)Ô)ð Lð LØ×.Ò.°¸kÐ/JÑKÔKÐKðLð Lð Lñ Lô Lð Lð Lð Lð Lð Lð Løøøð Lð Lð Lð Lð %�CŒJˆJˆJø˜�CŒJÐ$Ð$Ð$Ð$s0   Ã >E ÄEÄ6E ÅEÅE Å	EÅ
E ÅE)c                 ó    — t          ¦   «         }|                     ddt          ¬¦  «         d|_        |                      |j        d¦  «         d S ©Nr/   é   ©r$   rQ   é   )r   r'   Úintr/   r)   r*   s     r   Útest_setattrzOptionsTest.test_setattrk   sH   € Ý‘.”.ˆØ�Š�u a­cˆÑ2Ô2Ð2ØˆŒØ×Ò˜œ aÑ(Ô(Ð(Ð(Ð(r   c                 óÐ   — t          ¦   «         }|                     ddt          ¬¦  «         |                      t          ¦  «        5  d|_        d d d ¦  «         d S # 1 swxY w Y   d S )Nr/   r]   r^   Ú2)r   r'   r`   rG   r   r/   r*   s     r   Útest_setattr_type_checkz#OptionsTest.test_setattr_type_checkq   s¤   € õ ‘.”.ˆØ�Š�u a­cˆÑ2Ô2Ð2Ø×Ò�uÑ%Ô%ð 	ð 	ØˆGŒKð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ÁAÁAÁ"Ac                 ó¨   — g }t          ¦   «         }|                     ddt          |j        ¬¦  «         d|_        |                      |dg¦  «         d S )Nr/   r]   )r$   rQ   r>   r_   )r   r'   r`   Úappendr/   r)   )r   Úvaluesr+   s      r   Útest_setattr_with_callbackz&OptionsTest.test_setattr_with_callbacky   sQ   € ØˆÝ‘.”.ˆØ�Š�u a­c¸F¼MˆÑJÔJÐJØˆŒØ×Ò˜ ! Ñ%Ô%Ð%Ð%Ð%r   c                 ó~   — t          ¦   «         }|                     dd¬¦  «         |                     dd¬¦  «         |S )NÚar]   r#   Úbr_   )r   r'   r*   s     r   Ú_sample_optionszOptionsTest._sample_options€   s<   € Ý‘.”.ˆØ�Š�s AˆÑ&Ô&Ð&Ø�Š�s AˆÑ&Ô&Ð&Øˆr   c                 ó’   — |                       ¦   «         }|                      h d£t          t          |¦  «        ¦  «        ¦  «         d S )N>   rj   rk   Úhelp)rl   r)   ÚsetÚiterr*   s     r   Ú	test_iterzOptionsTest.test_iter†   sD   € Ø×&Ò&Ñ(Ô(ˆà×ÒÐ+Ð+Ð+­Sµ°g±´Ñ-?Ô-?Ñ@Ô@Ð@Ð@Ð@r   c                 óf   — |                       ¦   «         }|                      d|d         ¦  «         d S )Nr]   rj   )rl   r)   r*   s     r   Útest_getitemzOptionsTest.test_getitem‹   s3   € Ø×&Ò&Ñ(Ô(ˆØ×Ò˜˜G CœLÑ)Ô)Ð)Ð)Ð)r   c                 óž   — t          ¦   «         }|                     ddt          ¬¦  «         d|d<   |                      |d         d¦  «         d S r\   )r   r'   r`   r)   r*   s     r   Útest_setitemzOptionsTest.test_setitem�   sL   € Ý‘.”.ˆØ�Š�u a­cˆÑ2Ô2Ð2Øˆ�‰Ø×Ò˜ œ¨Ñ+Ô+Ð+Ð+Ð+r   c                 ó´   — |                       ¦   «         }ddd|j        fg}t          |                     ¦   «         ¦  «        }|                      ||¦  «         d S )N)rj   r]   )rk   r_   rn   )rl   rn   ÚsortedÚitemsr)   )r   r+   ÚexpectedÚactuals       r   Ú
test_itemszOptionsTest.test_items•   sW   € Ø×&Ò&Ñ(Ô(ˆà˜h¨°´Ð(>Ð?ˆÝ˜Ÿš™œÑ(Ô(ˆØ×Ò˜ 6Ñ*Ô*Ð*Ð*Ð*r   c                 ó”   — |                       ¦   «         }dd|j        dœ}|                      ||                     ¦   «         ¦  «         d S )Nr]   r_   )rj   rk   rn   )rl   rn   r)   Úas_dict)r   r+   ry   s      r   Útest_as_dictzOptionsTest.test_as_dictœ   sJ   € Ø×&Ò&Ñ(Ô(ˆØ ¨G¬LÐ9Ð9ˆØ×Ò˜ 7§?¢?Ñ#4Ô#4Ñ5Ô5Ð5Ð5Ð5r   c                 óÂ  — t          ¦   «         }|                     dd¬¦  «         |                     ddd¬¦  «         t          j        d¦  «        }|j        j        }|                      dd	|h|                     ¦   «         ¦  «         |                     d¦  «        }|                      ddi|¦  «         |                      i |                     d
¦  «        ¦  «         d S )Nrj   r]   r#   rk   Úb_groupr_   )Úgroupr$   r   Ú Únonexistent)	r   r'   rE   Ú	_getframeÚf_codeÚco_filenamer)   ÚgroupsÚ
group_dict)r   r+   ÚframeÚ	this_fileÚb_group_dicts        r   Útest_group_dictzOptionsTest.test_group_dict¡   sÐ   € Ý‘.”.ˆØ�Š�s AˆÑ&Ô&Ð&Ø�Š�s )°QˆÑ7Ô7Ð7å”˜aÑ Ô ˆØ”LÔ,ˆ	Ø×Ò˜) R¨Ð3°W·^²^Ñ5EÔ5EÑFÔFÐFà×)Ò)¨)Ñ4Ô4ˆØ×Ò˜#˜q˜ <Ñ0Ô0Ð0à×Ò˜˜W×/Ò/°Ñ>Ô>Ñ?Ô?Ð?Ð?Ð?r   c                 óþ  — t          ¦   «         }|                     dd¬¦  «         |                     ddg¦  «         |                      |j        d¦  «         t
          j                             |                     ¦   «         dd¦  «        5  |                      |j        d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      |j        d¦  «         t
          j                             |                     ¦   «         dd¦  «        5  |                      |j        d¦  «         d	|_        |                      |j        d	¦  «         t
          j                             |                     ¦   «         dd
¦  «        5  |                      |j        d
¦  «         d d d ¦  «         n# 1 swxY w Y   |                      |j        d	¦  «         d d d ¦  «         n# 1 swxY w Y   |                      |j        d¦  «         d S )Nr/   r]   r#   r%   z--foo=2r_   é   é   é   é   )	r   r'   r(   r)   r/   r   ÚpatchÚobjectÚmockabler*   s     r   Útest_mock_patchzOptionsTest.test_mock_patch¯   s|  € å‘.”.ˆØ�Š�u aˆÑ(Ô(Ð(Ø×"Ò" I¨yÐ#9Ñ:Ô:Ð:Ø×Ò˜œ aÑ(Ô(Ð(åŒZ×Ò˜w×/Ò/Ñ1Ô1°5¸!Ñ<Ô<ð 	-ð 	-Ø×Ò˜Wœ[¨!Ñ,Ô,Ð,ð	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-øøøð 	-ð 	-ð 	-ð 	-à×Ò˜œ aÑ(Ô(Ð(õ ŒZ×Ò˜w×/Ò/Ñ1Ô1°5¸!Ñ<Ô<ð 	-ð 	-Ø×Ò˜Wœ[¨!Ñ,Ô,Ð,ØˆGŒKØ×Ò˜Wœ[¨!Ñ,Ô,Ð,Ý”×"Ò" 7×#3Ò#3Ñ#5Ô#5°u¸aÑ@Ô@ð 1ð 1Ø× Ò  ¤¨aÑ0Ô0Ð0ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1à×Ò˜Wœ[¨!Ñ,Ô,Ð,ð	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-øøøð 	-ð 	-ð 	-ð 	-ð 	×Ò˜œ aÑ(Ô(Ð(Ð(Ð(sI   ÂB3Â3B7Â:B7ÄA1GÅ=F%ÆGÆ%F)	Æ)GÆ,F)	Æ-GÇGÇGc                 ó2  — t          ¦   «         }|                     dt          ¬¦  «         |                     dt          ¬¦  «         |                     dt          ¬¦  «         |                     dt
          ¬¦  «         |                     dt          j        ¬¦  «         |                     dt          j        ¬¦  «         |                     dt          ¬¦  «         |                     d	t          d
¬¦  «         |                     dt          d
¬¦  «         |S )Nr   rP   Ú
basestringr`   ÚfloatÚdatetimeÚ	timedeltaÚemailzlist-of-intT©rQ   Úmultiplezlist-of-str)	r   r'   r   r   r`   r˜   r™   rš   r
   r*   s     r   Ú_define_optionszOptionsTest._define_optionsÄ   sà   € Ý‘.”.ˆØ�Š�u¥3ˆÑ'Ô'Ð'Ø�Š�|­/ˆÑ:Ô:Ð:Ø�Š�u¥3ˆÑ'Ô'Ð'Ø�Š�w¥UˆÑ+Ô+Ð+Ø�Š�z­Ô(9ˆÑ:Ô:Ð:Ø�Š�{­Ô);ˆÑ<Ô<Ð<Ø�Š�w¥UˆÑ+Ô+Ð+Ø�Š�}­3¸ˆÑ>Ô>Ð>Ø�Š�}­3¸ˆÑ>Ô>Ð>Øˆr   c           
      óª  — |                       |j        d¦  «         |                       |j        d¦  «         |                       |j        d¦  «         |                       |j        d¦  «         |                       |j        t          j        ddddd	¦  «        ¦  «         |                       |j        t          j        d
¬¦  «        ¦  «         |                       |j        j        d¦  «         |  	                    t          |j        t          ¦  «        ¦  «         |                       |j        g d¢¦  «         |                       |j        g d¢¦  «         d S )NÚasdfÚqweré*   g      ø?iÝ  r�   é   r�   é   é-   )Úsecondsztornado@web.com)r]   r_   rŽ   ©rj   rk   Úc)r)   r   r—   r`   r˜   r™   rš   r›   r   rB   r   r
   Úlist_of_intÚlist_of_strr*   s     r   Ú_check_options_valuesz!OptionsTest._check_options_valuesÑ   s0  € Ø×Ò˜œ fÑ-Ô-Ð-Ø×Ò˜Ô+¨VÑ4Ô4Ð4Ø×Ò˜œ bÑ)Ô)Ð)Ø×Ò˜œ¨Ñ,Ô,Ð,Ø×Ò˜Ô)­8Ô+<¸TÀ1ÀbÈ!ÈRÑ+PÔ+PÑQÔQÐQØ×Ò˜Ô*­HÔ,>ÀrÐ,JÑ,JÔ,JÑKÔKÐKØ×Ò˜œÔ,Ð.?Ñ@Ô@Ð@Ø�Š�
 7¤=µ%Ñ8Ô8Ñ9Ô9Ð9Ø×Ò˜Ô,¨i¨i¨iÑ8Ô8Ð8Ø×Ò˜Ô,¨o¨o¨oÑ>Ô>Ð>Ð>Ð>r   c                 ó†   — |                       ¦   «         }|                     g d¢¦  «         |                      |¦  «         d S )N)
r%   z
--str=asdfz--basestring=qwerz--int=42z--float=1.5z--datetime=2013-04-28 05:16z--timedelta=45sz--email=tornado@web.comz--list-of-int=1,2,3z--list-of-str=a,b,c)rž   r(   r«   r*   s     r   Ú
test_typeszOptionsTest.test_typesÝ   sV   € Ø×&Ò&Ñ(Ô(ˆØ×"Ò"ðð ð ñ	
ô 	
ð 	
ð 	×"Ò" 7Ñ+Ô+Ð+Ð+Ð+r   c                 ó  — dD ]€}|                       ¦   «         }|                     t          j                             t          j                             t          ¦  «        |¦  «        ¦  «         |                      |¦  «         Œ�d S )N)zoptions_test_types.cfgzoptions_test_types_str.cfg)rž   r8   r2   r3   r4   r5   r7   r«   )r   Úconfig_file_namer+   s      r   Útest_types_with_conf_filez%OptionsTest.test_types_with_conf_fileï   s„   € ð!
ð 	0ð 	0Ðð ×*Ò*Ñ,Ô,ˆGØ×%Ò%Ý”—’�RœWŸ_š_­XÑ6Ô6Ð8HÑIÔIñô ð ð ×&Ò& wÑ/Ô/Ð/Ð/ð	0ð 	0r   c                 óÄ   — t          ¦   «         }|                     dt          d¬¦  «         |                     ddg¦  «         |                      |j        g d¢¦  «         d S )Nr/   Trœ   r%   z--foo=a,b,cr§   )r   r'   r   r(   r)   r/   r*   s     r   Útest_multiple_stringz OptionsTest.test_multiple_stringú   s^   € Ý‘.”.ˆØ�Š�u¥3°ˆÑ6Ô6Ð6Ø×"Ò" I¨}Ð#=Ñ>Ô>Ð>Ø×Ò˜œ o o oÑ6Ô6Ð6Ð6Ð6r   c                 óÄ   — t          ¦   «         }|                     dt          d¬¦  «         |                     ddg¦  «         |                      |j        g d¢¦  «         d S )Nr/   Trœ   r%   z--foo=1,3,5:7)r]   rŽ   r�   r‘   é   )r   r'   r`   r(   r)   r/   r*   s     r   Útest_multiple_intzOptionsTest.test_multiple_int   s^   € Ý‘.”.ˆØ�Š�u¥3°ˆÑ6Ô6Ð6Ø×"Ò" I¨Ð#?Ñ@Ô@Ð@Ø×Ò˜œ o o oÑ6Ô6Ð6Ð6Ð6r   c                 ó*  — t          ¦   «         }|                     d¦  «         |                      t          ¦  «        5 }|                     d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          |j        ¦  «        d¦  «         d S )Nr/   zOption.*foo.*already defined)r   r'   rG   r   ÚassertRegexr   Ú	exception)r   r+   Úcms      r   Útest_error_redefinezOptionsTest.test_error_redefine  s¼   € Ý‘.”.ˆØ�Š�uÑÔÐØ×Ò�uÑ%Ô%ð 	"¨Ø�NŠN˜5Ñ!Ô!Ð!ð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"à×Ò�˜Rœ\Ñ*Ô*Ð,JÑKÔKÐKÐKÐKs   ¾A Á A$Á'A$c                 ó¢  — g d¢}|D ]Ç\  }}|                       | ||¬¦  «        5  t          ¦   «         }|                     |¦  «         |                      t          ¦  «        5 }|                     |¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          |j        ¦  «        d¦  «         d d d ¦  «         n# 1 swxY w Y   ŒÈd S )N))úfoo-barr¼   )Úfoo_barr½   ©r¼   r½   )r½   r¼   )rj   rk   z Option.*foo.bar.*already defined)ÚsubTestr   r'   rG   r   r·   r   r¸   )r   Útestsrj   rk   r+   r¹   s         r   Útest_error_redefine_underscorez*OptionsTest.test_error_redefine_underscore  si  € ð
ð 
ð 
ˆð ð 	Xð 	X‰DˆAˆqØ—’˜d a¨1�Ñ-Ô-ð Xð XÝ&™.œ.�Ø—’˜qÑ!Ô!Ð!Ø×&Ò&¥uÑ-Ô-ð &°Ø—N’N 1Ñ%Ô%Ð%ð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &à× Ò ¥ R¤\Ñ!2Ô!2Ð4VÑWÔWÐWðXð Xð Xñ Xô Xð Xð Xð Xð Xð Xð Xøøøð Xð Xð Xð Xøð	Xð 	Xs5   ¤>CÁ"BÁ8CÂBÂCÂBÂ+CÃC	Ã
C	c                 ó4  — dD ]”}dD ]�}t          ¦   «         }|                     |¦  «         |                     d|g¦  «         |                      |j        d¦  «         |                      |d         d¦  «         |                      |d         d¦  «         Œ�Œ•d S )Nr¾   )z--foo-bar=az--foo_bar=ar%   rj   r¼   r½   )r   r'   r(   r)   r½   )r   Údefined_nameÚflagr+   s       r   Útest_dash_underscore_cliz$OptionsTest.test_dash_underscore_cli  s´   € à2ð 		:ð 		:ˆLØ6ð :ð :�Ý&™.œ.�Ø—’˜|Ñ,Ô,Ð,Ø×*Ò*¨I°tÐ+<Ñ=Ô=Ð=à× Ò  ¤°#Ñ6Ô6Ð6à× Ò  ¨Ô!3°SÑ9Ô9Ð9Ø× Ò  ¨Ô!3°SÑ9Ô9Ð9Ð9ð:ð		:ð 		:r   c                 ó6  — dD ]•}t          ¦   «         }|                     |¦  «         |                     t          j                             t          j                             t          ¦  «        d¦  «        ¦  «         |                      |j	        d¦  «         Œ–d S )Nr¾   r1   rj   )
r   r'   r8   r2   r3   r4   r5   r7   r)   r½   )r   rÃ   r+   s      r   Útest_dash_underscore_filez%OptionsTest.test_dash_underscore_file+  s�   € ð 3ð 	3ð 	3ˆLÝ"‘n”nˆGØ�NŠN˜<Ñ(Ô(Ð(Ø×%Ò%Ý”—’�RœWŸ_š_­XÑ6Ô6Ð8JÑKÔKñô ð ð ×Ò˜Wœ_¨cÑ2Ô2Ð2Ð2ð	3ð 	3r   c                 ó.  — t          ¦   «         }|                     dd¬¦  «         |                     dd¬¦  «         g d¢}|                      t          |¦  «        |¦  «         |                      t          d„ |                     ¦   «         D ¦   «         ¦  «        |¦  «         |                      t          |                     ¦   «                              ¦   «         ¦  «        |¦  «         |                      t          |                     d¦  «        ¦  «        ddg¦  «         t          ¦   «         }| 	                    |¦  «         |  
                    d|                     ¦   «         ¦  «         |  
                    d|                     ¦   «         ¦  «         d S )	Nú	with-dashÚg)r�   Úwith_underscore)rn   rÉ   rË   c              3   ó    K  — | ]	\  }}|V — Œ
d S r   r   )Ú.0ÚkÚvs      r   ú	<genexpr>zAOptionsTest.test_dash_underscore_introspection.<locals>.<genexpr>=  s&   è è € Ð@Ð@¡f q¨! Ð@Ð@Ð@Ð@Ð@Ð@r   z--with-dashz--with-underscore)r   r'   r)   rw   rx   r}   Úkeysrˆ   r   Ú
print_helprJ   rI   )r   r+   Úall_optionsÚbufs       r   Ú"test_dash_underscore_introspectionz.OptionsTest.test_dash_underscore_introspection6  s_  € å‘.”.ˆØ�Š�{¨#ˆÑ.Ô.Ð.Ø�ŠÐ(°ˆÑ4Ô4Ð4Ø>Ð>Ð>ˆØ×Ò� ™œ¨+Ñ6Ô6Ð6Ø×Ò�Ð@Ð@°·²±´Ð@Ñ@Ô@Ñ@Ô@À+ÑNÔNÐNØ×Ò� §¢Ñ 1Ô 1× 6Ò 6Ñ 8Ô 8Ñ9Ô9¸;ÑGÔGÐGà×ÒÝ�7×%Ò% cÑ*Ô*Ñ+Ô+¨kÐ;LÐ-Mñ	
ô 	
ð 	
õ
 ‰jŒjˆØ×Ò˜3ÑÔÐØ�Š�m S§\¢\¡^¤^Ñ4Ô4Ð4Ø�ŠÐ)¨3¯<ª<©>¬>Ñ:Ô:Ð:Ð:Ð:r   N)r   r   r   r,   r:   rC   rM   rZ   ra   rd   rh   rl   rq   rs   ru   r{   r~   rŒ   r•   rž   r«   r­   r°   r²   rµ   rº   rÁ   rÅ   rÇ   rÕ   r   r   r   r   r      sµ  € € € € € ð,ð ,ð ,ð7ð 7ð 7ð%ð %ð %ð.
'ð 
'ð 
'ð%ð %ð %ð.)ð )ð )ðð ð ð&ð &ð &ðð ð ðAð Að Að
*ð *ð *ð,ð ,ð ,ð+ð +ð +ð6ð 6ð 6ð
@ð @ð @ð)ð )ð )ð*ð ð ð
?ð 
?ð 
?ð,ð ,ð ,ð$	0ð 	0ð 	0ð7ð 7ð 7ð7ð 7ð 7ðLð Lð LðXð Xð Xð":ð :ð :ð	3ð 	3ð 	3ð;ð ;ð ;ð ;ð ;r   r   )r™   Úior   r2   rE   Úunittestr   Útornado.optionsr   r   Útornado.utilr   ÚtypingÚTYPE_CHECKINGr   r
   ÚTestCaser   r   r   r   ú<module>rÝ      s  ðØ €€€Ø Ð Ð Ð Ð Ð Ø 	€	€	€	Ø 
€
€
€
Ø Ð Ð Ð Ð Ð Ø €€€à /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ø (Ð (Ð (Ð (Ð (Ð (à €€€à	Ôð ØÐÐÐÐÐð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ðk;ð k;ð k;ð k;ð k;�(Ô#ñ k;ô k;ð k;ð k;ð k;r   