Your IP : 216.73.216.213


Current Path : /opt/alt/python39/lib64/python3.9/test/__pycache__/
Upload File :
Current File : //opt/alt/python39/lib64/python3.9/test/__pycache__/test_tcl.cpython-39.opt-2.pyc

a

XC?h}�@sddlZddlZddlZddlZddlZddlZddlZddlmZe�	d�Z
ddlZddlmZddl
m
Z
zddlmZmZWney�ejZZYn0eeee
j�d���Zdadd	�ZGd
d�dej�ZGdd
�d
ej�ZGdd�dej�Zdd�Ze dk�re�!�dS)�N)�support�_tkinter)�Tcl)�TclError)�INT_MAX�PY_SSIZE_T_MAX�.cCs�tdur�t�}|�dd�}t�d|�}|��\}}}}t|�t|�t|�}}}dddd�|}|dkrz||||dfan||d||fatS)	N�info�
patchlevelz(\d+)\.(\d+)([ab.])(\d+)ZalphaZbeta�final)�a�brr)�_tk_patchlevelr�call�re�	fullmatch�groups�int)�tclr
�m�major�minor�releaselevel�serial�r�2/opt/alt/python39/lib64/python3.9/test/test_tcl.py�get_tk_patchlevelsrc@seZdZdd�ZdS)�TkinterTestcCsF|�ttjd�|�ttji�|�ttjd�|�ttjdh�dS)NT�string�set)�assertRaises�	TypeErrorrZ_flatten��selfrrr�testFlattenLen+szTkinterTest.testFlattenLenN)�__name__�
__module__�__qualname__r$rrrrr)src@sveZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Ze�e j!d7kd8�d9d:��Z"d;d<�Z#d=d>�Z$d?d@�Z%dAdB�Z&e�e'dCkdD�dEdF��Z(dGdH�Z)dIdJ�Z*dKdL�Z+dMdN�Z,dOdP�Z-dQdR�Z.dSdT�Z/dUdV�Z0dWS)X�TclTestcCst�|_|jj��|_dS�N)r�interp�tk�wantobjectsr"rrr�setUp8sz
TclTest.setUpcCs&|j}|�d�|�|�d�d�dS)N�set a 1�set a�1)r*�eval�assertEqual�r#rrrr�testEval<s
zTclTest.testEvalcCs|j}|�|�d�d�dS)Nzset a "a\0b"�ab)r*r2r1r3rrr�test_eval_null_in_resultAsz TclTest.test_eval_null_in_resultcCs|j}|�|�d�d�dS)Nzset a "<\ud83d\udcbb>"�<💻>)r*�assertInr1r3rrr�test_eval_surrogates_in_resultEsz&TclTest.test_eval_surrogates_in_resultcCs|j}|�t|jd�dS)Nr/�r*r rr1r3rrr�testEvalExceptionIszTclTest.testEvalExceptioncCs|j}|�t|jd�dS)Nz
this is wrongr:r3rrr�testEvalException2MszTclTest.testEvalException2cCs,|j}|�ddd�|�|�dd�d�dS)Nrrr0)r*rr2r3rrr�testCallQszTclTest.testCallcCs|j}|�t|jdd�dS)Nrr�r*r rrr3rrr�testCallExceptionVszTclTest.testCallExceptioncCs|j}|�t|jddd�dS)N�this�isZwrongr>r3rrr�testCallException2ZszTclTest.testCallException2cCs(|j}|�dd�|�|�d�d�dS)Nrr0r/�r*�setvarr2r1r3rrr�
testSetVar^szTclTest.testSetVarcCs(|j}|�dd�|�|�d�d�dS)N�a(1)r0zset a(1)rCr3rrr�testSetVarArraycszTclTest.testSetVarArraycCs&|j}|�d�|�|�d�d�dS)Nr.rr0�r*r1r2�getvarr3rrr�
testGetVarhs
zTclTest.testGetVarcCs&|j}|�d�|�|�d�d�dS)Nz
set a(1) 1rFr0rHr3rrr�testGetVarArrayms
zTclTest.testGetVarArraycCs|j}|�t|jd�dS�Nr�r*r rrIr3rrr�testGetVarExceptionrszTclTest.testGetVarExceptioncCs|j}|�t|jd�dS)NrFrMr3rrr�testGetVarArrayExceptionvsz TclTest.testGetVarArrayExceptioncCsD|j}|�dd�|�|�d�d�|�d�|�|�d�d�dS)Nr�z
info exists ar0�0�r*rDr2r1�unsetvarr3rrr�testUnsetVarzs

zTclTest.testUnsetVarcCst|j}|�dd�|�dd�|�|�d�d�|�|�d�d�|�d�|�|�d�d�|�|�d�d�dS)	NrFrPza(2)�zinfo exists a(1)r0zinfo exists a(2)rQrRr3rrr�testUnsetVarArray�s
zTclTest.testUnsetVarArraycCs|j}|�t|jd�dSrL)r*r rrSr3rrr�testUnsetVarException�szTclTest.testUnsetVarExceptioncCsPd}tdkrLt�}|dks2d|kr.dkrLnn|dddd	dd	f7}|S)
N)	rrP���i���i�ll����l����l�������)rZ�rr)rZr[rZ)rZr\ll����rU��)�tcl_versionr)r#Zintegers�vrrr�get_integers�s zTclTest.get_integersc	Cs0|jj}|��D]l}|�|�d|�|�tdkrH|�|�d|�|�|�|�d|�dd��|�|�|�d|�|�qtdkr�|�t|jt	dd��|�|�d	�d	�|�t
|j�|�t
|jd
d�|�t
|jd�|�t
|jd
�|�t|jd�|�t
ttf|jd�|�tttf|jd�dS)Nz %d rYz %#o �o�z %#x rUr]�*Z42�10s42�E@rz42u42�)
r*r+r`r2�getintr^�replacer r�strr!�
ValueError�UnicodeEncodeError)r#r�irrr�test_getint�s*��zTclTest.test_getintcCs�|jj}|�|�d�d�|�|�d�d�|�|�d�d�|�|�d�d�|�t|j�|�t|jdd�|�t|jd�|�t|jd	�|�tttf|jd
�|�tttf|jd�dS)Nz 42 rez 42.5 g@E@rcz42.5rds42.5rz42.5u42.5�)	r*r+r2�	getdoubler r!rrirjr3rrr�test_getdouble�s��zTclTest.test_getdoublecCs�|jj}|�|�d�d�|�|�d�d�|�|�d�d�|�|�d�d�|�t|j�|�t|jdd�|�t|jd�|�t|jd�|�t|jd	�|�tttf|jd
�|�tttf|jd�dS)N�onTr0rcrFson��?rzonuon�)	r*r+ZassertIs�
getbooleanr r!rrirjr3rrr�test_getboolean�s ��zTclTest.test_getbooleancCs�|j}tj}|�tj|�t|d��}|�d�Wd�n1sD0Y|�|�|�|�	d�d�|�|�	d�d�|�|�	d�d�dS)	N�wzKset a 1
            set b 2
            set c [ expr $a + $b ]
            r/r0�set b�2zset c�3�
r*r�TESTFN_ASCII�
addCleanup�unlink�open�write�evalfiler2r1�r#r�filename�frrr�testEvalFile�s(
zTclTest.testEvalFilecCs�|j}tj}|�tj|�t|d��}|�d�Wd�n1sD0Y|�|�|�|�	d�d�|�|�	d�d�dS)Nrsz>
            set a "ab"
            set b "a\0b"
            r/r5rtrwr~rrr�test_evalfile_null_in_result�s(
z$TclTest.test_evalfile_null_in_resultcCs�|j}|�dd�}|�|jdd|�|�ddd�tj}|�tj|�t|d��}|�d�Wd�n1sp0Y|�|�|�	|�
d�d�|�	|�
d�d�dS)	N�encoding�systemzutf-8�wbsM
            set a "<��>"
            set b "<\ud83d\udcbb>"
            r/r7rt)r*rryrrxrzr{r|r}r2r1)r#rr�rr�rrr�"test_evalfile_surrogates_in_result�s(
z*TclTest.test_evalfile_surrogates_in_resultc
CsR|j}d}zt�|�Wn$ty<}zWYd}~n
d}~00|�t|j|�dS)NZ
doesnotexists)r*�os�remove�	Exceptionr rr})r#rr�errr�testEvalFileException�szTclTest.testEvalFileExceptioncCs|j}|�t|jd�dS)Nzpackage require DNEr:r3rrr�testPackageRequireExceptionsz#TclTest.testPackageRequireException�win32zRequires WindowscCs�tj�tj�}|ddkr$t�d��dtjd|d|dd�f}tj�|�sZt�d��t	�
��*}|�d	�t�
|d
dg�}Wd�n1s�0Y|�d|�dS)
NrP�:z$Absolute path should have drive partz\\%s\%s$\%sZCOMPUTERNAMEr�zCannot connect to UNC PathZTCL_LIBRARY�-czimport tkinter; print(tkinter)stkinter)r��path�abspath�sys�
executable�unittestZSkipTest�environ�existsrZEnvironmentVarGuardZunset�
subprocessZcheck_outputr8)r#�fullnameZunc_name�env�stdoutrrr�testLoadWithUNCs


�


�"zTclTest.testLoadWithUNCcsJ�j���ddd���ddd���fdd�}��t�j���t�jdd	���t�jd
���t�jd�|dd
�|dd�|dd�|dd�|dd�|dd
�|dd
�|dd�|dd�|dd�|dd�|dd �|d!d�|d"d#�|d$d#�|d%d&�|d'd(�|d)d(�|d*d+�td,k�rF|d-td.��dS)/Nrrr�r
r\cs&��|�}��||���|t�dSr))�
exprstringr2�assertIsInstancerh��expr�expected�resultr3rr�check"s
z&TclTest.test_exprstring.<locals>.check�8.2�+6�8.2 + 6�spamrbrQ�8.2 + 6z14.2�3.1 + $az6.1�2 + "$a.$b"z5.6�4*[llength "6 2"]�8�{word one} < "word $a"�4*2 < 7�hypot($a, 4)z5.0�5 / 4r0�5 / 4.0z1.25�$5 / ( [string length "abcd"] + 0.0 )�20.0/5.0z4.0�"0x03" > "2"�[string length "a½€"]rv�[string length "a\xbd\u20ac"]�"abc"�abcu"a½€"ua½€z
"a\xbd\u20ac"z"a\0b"r5rY�2**64�)r*rr r!r�rr^rh�r#r�rr3r�test_exprstrings:



















zTclTest.test_exprstringcs2�j���ddd���ddd���fdd�}��t�j���t�jdd	���t�jd
���t�jd�|dd
�|dd�|dd�|dd�|dd�|dd
�|dd
�|dd�|dd�|dd�|dd�|dd �|d!d�|d"d#�|d$d#���t�jd%�td&k�r.|d'td(��dS))Nrrr�r
r\cs&��|�}��||���|t�dSr))�
exprdoubler2r��floatr�r3rrr�Es
z&TclTest.test_exprdouble.<locals>.checkr�r�r�r�rb�r�gffffff,@r�gffffff@r�gffffff@r�g @r�r�r�g@r�rpr�g�?r�r�g@r�r�g@r�r�rYr�r�)r*rr r!r�rr^r�r�rr3r�test_exprdoubleAs4















zTclTest.test_exprdoublecs4�j���ddd���ddd���fdd�}��t�j���t�jdd	���t�jd
���t�jd�|dd
�|dd�|dd�|dd�|dd�|dd
�|dd
�|dd�|dd�|dd�|dd�|dd�|dd�|dd�|d d���t�jd!�td"k�r0��t�jd#�dS)$Nrrr�r
r\cs&��|�}��||���|t�dSr))�exprlongr2r�rr�r3rrr�es
z$TclTest.test_exprlong.<locals>.checkr�r�r�r�rbrr��r�r�r[r�rZr�r�r�r�rPr�r�r��r�r�r�r�rYr�)r*rr r!r�rr^r�rr3r�
test_exprlongas4















zTclTest.test_exprlongcs��j���ddd���ddd���fdd�}��t�j���t�jdd	���t�jd
���t�jd�|dd
�dD]*}||d
�|d|d
�|d|d
�q~dD]*}||d�|d|d�|d|d�q�|dd�|dd�|dd�|dd�|dd
�|dd
�|dd�|dd�|dd�|dd�|dd�|dd�|dd�|d d���t�jd!�td"k�r�|d#d�dS)$Nrrr�r
r\cs2��|�}��||���|t���|t�dSr))�exprbooleanr2r�rZassertNotIsInstance�boolr�r3rrr��s
z'TclTest.test_exprboolean.<locals>.checkr�r�r�r�rbF)rQ�false�no�offz"%s"z{%s})r0�true�yesroTr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rYr�)r*rr r!r�rr^)r#r��valuerr3r�test_exprboolean�sD

















zTclTest.test_exprbooleanrYzrequires Tcl version >= 8.5csh�j���fdd�}|dd�|dd�|dd�|dd�|d	d�|d
d�|dd�|dd�dS)
NcsV��d|�}���r.��||���|t�n$��||tt|��f���|t�dS)Nr�)rr,r2r�rr8rhr�r3rrr��sz$TclTest.test_booleans.<locals>.checkr�Tr�ror�Fr�r�z1 < 2z1 > 2)r*r�rr3r�
test_booleans�s






zTclTest.test_booleanscCs�|j}|��D]P}|�dt|��}|jrB|�||�|�|t�q|�|t|��|�|t�qt�dkr�|�	t
|jdtdd��dS)Nr�rYrUr])r*r`rrhr,r2r�rrr r)r#rrkr�rrr�test_expr_bignum�s
zTclTest.test_expr_bignumcs��fdd�}��|d��jr dnd���|d��jr:dnd���|d�d���|d�d���|d	�d	���|d
�d
���|d�d���|d�d���|d
�d
�tjdkrڈ�|d�d���|d�d���|d��jr�dnd
���|d��j�r
dnd���|d��j�r&dnd����D]&}��||��j�rN|nt|���q4tdk�r���|dd�tdd��ddddtjjtjj	tjjtjj	fD]4}�j�rȈ�||�|�n��t
||��|��q��j�r6|t
d��}��||���|t
d ��t
d ����|t
d ��t
d ��n<��t
|t
d ���t
d ����t
|t
d ���t
d ����|d!��j�r�d!nd"���|d#d$d%gg��j�r�d&nd'�dS)(Ncs�j�dd|�S)Nr�_)r*r�r�r"rr�	passValue�sz.TclTest.test_passing_values.<locals>.passValueTr0FrQr�	string€�
string💻�string�	string½�
string€ustring💻r��<���>�<€>�<������>r7�string�str��ing�
strÀ€ingsstr�ingustr½ingrYrUr]r�rp���UUUUUU�?�nan�inf�rPru��333333@z1 2 3.4rr
�c�r)r
r��a {b c})r2r,r��platformr`rhr^�
float_info�min�maxr�ZassertNotEqual)r#r�rkr�rr"r�test_passing_values�sh
�

�
�
�
�
�$
� 
��zTclTest.test_passing_valuescs�d��fdd�}�j�d|����jjjd�d1�jd���fdd�}�fdd�}|d	d
�|dd�|d
�|d�|d�|d�tjdkr�|dd�|dd�|d�|dd
�|dd�|dd�|dd�|d�|d�|d�|dd�|d d!�|d"d#����D]}||t	|���qt
d$k�rJ|d%d&t	d%d&��d'D]}||t|���qNd(tjj
tjjtjj
tjjfD]}|||d��q�|td)�|d�|td)�|d�|d*d�|d+d,�|d-d%gd.d/gd0ggd,�dS)2Ncs|�|Sr)r)�arg)r�rr�testfunc�sz+TclTest.test_user_command.<locals>.testfuncr�)�eqcsN|dur|}d��j�d|�}���t�|�|���|t�|||�dS)Nr�)r*rr�rh)r�r�r��r�r�r#rrr�s
z(TclTest.test_user_command.<locals>.checkcs �jt|�|t|�dd�dS)Ng�����|�=)Zdelta)ZassertAlmostEqualr��abs)Zactualr�r"rr�float_eqs
�z+TclTest.test_user_command.<locals>.float_eqTr0FrQrustring½r�r�r�r�r�r�r7rbsstrings	string€ustring€sstring��r�r�r�r�r�r�sstr��ing€ustrÀ€ing€rYrUr])r�rpr�r�r�r)rP)rU)r�r��5 6rz1 2 {3 4} {5 6} {}rPr�r�r�)N)r*�
createcommandryr+�
deletecommandr2r�r�r`rhr^�reprr�r�r�r�)r#r�r�r�rkr�rr�r�test_user_command�sR













�

zTclTest.test_user_commandc	Cs,|jjj}|jjj}|�t|�|�t|dd�|�t|d�dddddd	d
ddd
ddddddddddgdfdddggdddgff|dddd�|jr�dndfg}t�}td kr�|jr�|d!kr�d"}nd#}||d$d%d&d'd(d�|fg7}d)|jt|f}|D]"\}}|�	||�|d*||f�q�|�t
|d+�dS),Nrr
rU)ru)ru)rbr)�{}�rb)�""r��z
a
 b	
 c
 �rr
r��s
a
 b	
 c
 r��ua €�r�€)ua 💻�ru💻�sa €r)sa 💻r)sa ��r�s	a��b c��d)r5zcd)r��r�b c)�a b\ cr)rr�za 2)rru��rrUr�za 3.4)r�3.4��rr�r�rrrr��listrPrur�r��r0rur
rY�rZr[r[�Z12ru€r
��r�€r��dict�createrrrz4want objects? %s, Tcl version: %s, Tk patchlevel: %sz
arg=%a, %s�{)r*r+�	splitlistrr r!r,rr^r2r)	r#rr�	testcasesZ
tk_patchlevelr�Zdbg_infor��resrrr�test_splitlist7sd


����
�
�zTclTest.test_splitlistcCsp|jjj}|jjj}t���Ht�ddt�|�t	|�|�t	|dd�|�t	|d�Wd�n1sj0Ydddd	d
ddd
ddddddddddddddgdfddgdfdddggdf|d d!d"d#�|j
r�d$nd%fg}td&k�r|j
r�t�d'kr�d(}nd)}||d*d+d,d-d.d#�|fg7}|D]J\}}|�
t��$|j||�||d/�Wd�n1�s^0Y�q dS)0N�ignorez\bsplit\b.*\bsplitlist\brr
rU)ruru)rbrb)r�rb)r�rb)rrr�r�rr)sa��br5r)s
{a��b c��dz{ab cd)r�r�)rr�))rsb cr�)rr�r	r
rr)�r)rUr�r rrrr�r�rrPrur�r�rrYrrrrrrrr)�msg)r*r+�splitr�warnings�catch_warnings�filterwarnings�DeprecationWarningr r!r,r^rZassertWarnsr2)r#r"rrr�r�rrrr�
test_splitjsf


�,

��
��zTclTest.test_splitc
CsBtj}|jj}d}|�|||d�dddd��|�|||�dddd��d}|�|||d�d	dd
d��|�|||�d	dd
d��|�t||d�|�t||d�|�d
dd	dddd�}|�|||�|jr�d	ndddd��t	dk�r>|�dddd	dddd�}|j�rt
�dk�r dddd�}nd	ddd�}|�|||�|�dS)Nz#-a {1 2 3} -something foo status {}Fz1 2 3�foorb)�-a�
-something�status)rZ	somethingr+)r)�rPrUr�r*r(r+r�r,r�z-a b -c )r)r
r�rr)r*r+rrYrrr)�tkinterZ
_splitdictr*r+r2r �RuntimeErrorrr,r^r)r#Z	splitdictrr�r�rrr�test_splitdict�sD
�
�
�
����
�zTclTest.test_splitdictcs�tj��jj��fdd�����fdd�}|d�|d�|d�|d�|d	�|d
�|d�|d�|d
�|d�|d�|d�|d�|d�|d�|d�|d�|d�|d�|d�|d�|d�|d�|d�dS)Ncs��d|d�S)NZlindexr)r)�s�rrr�unpack�sz!TclTest.test_join.<locals>.unpackcs�����|g��|�����|dg��|������|gg���|������|dgg���|������|gdg���|������|dgdg���|�dS)Nr)r2r�)�joinr#r2rrr��sz TclTest.test_join.<locals>.checkrbr�zsp amzsp	amzsp
amz 	
z{spam}z{sp am}z"spam"z"sp am"z{"spam"}z"{spam}"zsp\amz"sp\am"z	"{}" "{}"z"\z"{z"}z
\z
{z
}z\
z{
z}
)r-Z_joinr*r+r�r)r3r#rr2r�	test_join�s8zTclTest.test_joincCs|�ttj�dSr))r r!rZTcl_Objr"rrr�test_new_tcl_obj�szTclTest.test_new_tcl_objN)1r%r&r'r-r4r6r9r;r<r=r?rBrErGrJrKrNrOrTrVrWr`rlrnrrr�r�r�r�r�r��
skipUnlessr�r�r�r�r�r�r�r^r�r�r�r�rr'r/r4r5rrrrr(6sV

	
#  )

2:35#%r(c@s�eZdZdd�Zeje�ee	kd�ej
edddd�dd	����Zeje�ee	kd�ej
edd
dd�dd����Zeje�ee	kd�ej
edd
dd�dd����Z
dS)�
BigmemTclTestcCst�|_dSr))rr*r"rrrr-�szBigmemTclTest.setUpzneeds UINT_MAX < SIZE_MAXrPr[F)�sizeZmemuseZdry_runcCs$d|}|�t|jjdd|d�dS)N� r�indexr)r �
OverflowErrorr*r)r#r8r�rrr�test_huge_string_call�sz#BigmemTclTest.test_huge_string_callrUcCsT|jj}dd|}|�t|j|�|�t|j|�|�t|j|�|�t|j|�|�t|j|�|�t|j	|�|�t|j
|�|�t|j|dd�|�t|jd|d�|�t|j|�|�t|jd|�|�t|j
|�|�t|j
|�|�t|j|�|�t|j|�|�t|j|�|�t|j|�|�t|j|t�|�t|j|�dS)Nr0r9�xr)r*r+r r;rfrmrqr1r}�recordZadderrorinforDrSr�r�r�rr"r�r�r��r#r8r+r�rrr�test_huge_string_builtins�s*z'BigmemTclTest.test_huge_string_builtinsr\cCsJ|jj}dd|}|�t|j|�|�t|j|�|�t|jd|�dS)Nr0r9r=)r*r+r r;r}rSr?rrr�test_huge_string_builtins2s
z(BigmemTclTest.test_huge_string_builtins2N)r%r&r'r-rZcpython_onlyr�r6rrZ
bigmemtestr<r@rArrrrr7�sr7cCs"tjrt�}td|�dd��dS)Nzpatchlevel =r	r
)r�verboser�printrr1rrr�setUpModulesrD�__main__)"r�Zlocalerr�r�r�r#�testr�
import_modulerr-rrZ	_testcapirr�ImportError�maxsize�tuple�maprZTCL_VERSIONr"r^rrZTestCaserr(r7rDr%�mainrrrr�<module>s:

92