Your IP : 216.73.216.85


Current Path : /opt/alt/python35/lib64/python3.5/test/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/test/__pycache__/test_tcl.cpython-35.opt-2.pyc



���]�m�
@spddlZddlZddlZddlZddlZddlmZejd�Zddl	Z	ddl	m
Z
ddlmZyddlm
Z
mZWnek
r�ejZ
ZYnXeeeejjd���Zdadd	�ZGd
d�dej�ZGdd
�d
ej�ZGdd�dej�Zdd�Zdd�Zedkrle�dS)�N)�support�_tkinter)�Tcl)�TclError)�INT_MAX�PY_SSIZE_T_MAX�.cCs�tdkr�t�}|jdd�}tjd|�}|j�\}}}}t|�t|�t|�}}}dddddd	i|}|d	kr�||||d
fan||d
||fatS)N�info�
patchlevelz(\d+)\.(\d+)([ab.])(\d+)�a�alpha�b�betar�finalr)�_tk_patchlevelr�call�re�	fullmatch�groups�int)�tclr
�m�major�minor�releaselevel�serial�r�-/opt/alt/python35/lib64/python3.5/test_tcl.py�get_tk_patchlevels	&rc@seZdZdd�ZdS)�TkinterTestcCs|jttjd�dS)NT)�assertRaises�	TypeErrorrZ_flatten)�selfrrr�testFlattenLen)szTkinterTest.testFlattenLenN)�__name__�
__module__�__qualname__r#rrrrr'src@seZdZdd�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�Zejejd3kd4�d5d6��Z d7d8�Z!d9d:�Z"d;d<�Z#d=d>�Z$eje%dSkdA�dBdC��Z&dDdE�Z'dFdG�Z(dHdI�Z)dJdK�Z*dLdM�Z+dNdO�Z,dPdQ�Z-dRS)T�TclTestcCs%t�|_|jjj�|_dS)N)r�interp�tk�wantobjects)r"rrr�setUp0sz
TclTest.setUpcCs3|j}|jd�|j|jd�d�dS)Nzset a 1zset a�1)r(�eval�assertEqual)r"rrrr�testEval4s	
zTclTest.testEvalcCs&|j}|j|jd�d�dS)Nzset a "a\0b"zab)r(r.r-)r"rrrr�test_eval_null_in_result9s	z TclTest.test_eval_null_in_resultcCs#|j}|jt|jd�dS)Nzset a)r(r rr-)r"rrrr�testEvalException=s	zTclTest.testEvalExceptioncCs#|j}|jt|jd�dS)Nz
this is wrong)r(r rr-)r"rrrr�testEvalException2As	zTclTest.testEvalException2cCs<|j}|jddd�|j|jdd�d�dS)N�setrr,)r(rr.)r"rrrr�testCallEs	zTclTest.testCallcCs&|j}|jt|jdd�dS)Nr3r)r(r rr)r"rrrr�testCallExceptionJs	zTclTest.testCallExceptioncCs)|j}|jt|jddd�dS)N�this�isZwrong)r(r rr)r"rrrr�testCallException2Ns	zTclTest.testCallException2cCs6|j}|jdd�|j|jd�d�dS)Nrr,zset a)r(�setvarr.r-)r"rrrr�
testSetVarRs	zTclTest.testSetVarcCs6|j}|jdd�|j|jd�d�dS)Nza(1)r,zset a(1))r(r9r.r-)r"rrrr�testSetVarArrayWs	zTclTest.testSetVarArraycCs3|j}|jd�|j|jd�d�dS)Nzset a 1rr,)r(r-r.�getvar)r"rrrr�
testGetVar\s	
zTclTest.testGetVarcCs3|j}|jd�|j|jd�d�dS)Nz
set a(1) 1za(1)r,)r(r-r.r<)r"rrrr�testGetVarArrayas	
zTclTest.testGetVarArraycCs#|j}|jt|jd�dS)Nr)r(r rr<)r"rrrr�testGetVarExceptionfs	zTclTest.testGetVarExceptioncCs#|j}|jt|jd�dS)Nza(1))r(r rr<)r"rrrr�testGetVarArrayExceptionjs	z TclTest.testGetVarArrayExceptioncCs\|j}|jdd�|j|jd�d�|jd�|j|jd�d�dS)Nr�z
info exists ar,�0)r(r9r.r-�unsetvar)r"rrrr�testUnsetVarns
	
zTclTest.testUnsetVarcCs�|j}|jdd�|jdd�|j|jd�d�|j|jd�d�|jd�|j|jd�d�|j|jd�d�dS)	Nza(1)rAza(2)�zinfo exists a(1)r,zinfo exists a(2)rB)r(r9r.r-rC)r"rrrr�testUnsetVarArrayus	
zTclTest.testUnsetVarArraycCs#|j}|jt|jd�dS)Nr)r(r rrC)r"rrrr�testUnsetVarExceptions	zTclTest.testUnsetVarExceptionc
CsBd}t�dks4dt�ko/dknr>|d#7}|S)$NrrArE��?��r�i����l��l���li����l�����l���)	rrArMrNrOrPrQrRrS)rJrKrr)rJrLrJ)rJrK�ll��������ClC���)rTrUrVrW)r)r"Zintegersrrr�get_integers�s

zTclTest.get_integerscCs�|jj}x�|j�D]�}|j|jd|�|�tdkre|j|jd|�|�|j|jd|jdd��|�|j|jd|�|�qWtdkr�|jt|jt	d��|j|jd
�d
�|jt
|j�|jt
|jdd�|jt
|jd
�|jt
|jd�|jt|jd�|jt
ttf|jd�|jtttf|jd�dS)Nz %d rJrLz %#o �o�z %#x rEi��*Z42�10s42gE@rz42u42�)rJrL)rJrLlC)
r(r)rXr.�getint�tcl_version�replacer r�strr!�
ValueError�UnicodeEncodeError)r"r�irrr�test_getint�s&)!
zTclTest.test_getintcCs
|jj}|j|jd�d�|j|jd�d�|j|jd�d�|j|jd�d�|jt|j�|jt|jdd�|jt|jd�|jt|jd	�|jtttf|jd
�|jtttf|jd�dS)Nz 42 gE@z 42.5 g@E@r[z42.5r\s42.5rz42.5u42.5�)	r(r)r.�	getdoubler r!rrarb)r"rrrr�test_getdouble�s
zTclTest.test_getdoublecCs |jj}|j|jd�d�|j|jd�d�|j|jd�d�|j|jd�d�|jt|j�|jt|jdd�|jt|jd�|jt|jd�|jt|jd	�|jtttf|jd
�|jtttf|jd�dS)N�onTr,r[rFsong�?rzonuon�)	r(r)ZassertIs�
getbooleanr r!rrarb)r"rrrr�test_getboolean�s
zTclTest.test_getbooleanc
Cs�|j}ttjd��*}|jtjtj�|jd�WdQRX|jtj�|j|j	d�d�|j|j	d�d�|j|j	d�d�dS)	N�wzKset a 1
            set b 2
            set c [ expr $a + $b ]
            zset ar,zset b�2zset c�3)
r(�openr�TESTFN�
addCleanup�unlink�write�evalfiler.r-)r"r�frrr�testEvalFile�s	zTclTest.testEvalFilec
Cs�|j}ttjd��*}|jtjtj�|jd�WdQRX|jtj�|j|j	d�d�|j|j	d�d�dS)Nrjz>
            set a "ab"
            set b "a\0b"
            zset azabzset b)
r(rmrrnrorprqrrr.r-)r"rrsrrr�test_evalfile_null_in_result�s	z$TclTest.test_evalfile_null_in_resultcCsb|j}d}ytj|�Wn%tk
rG}zWYdd}~XnX|jt|j|�dS)NZ
doesnotexists)r(�os�remove�	Exceptionr rrr)r"r�filename�errr�testEvalFileException�s	zTclTest.testEvalFileExceptioncCs#|j}|jt|jd�dS)Nzpackage require DNE)r(r rr-)r"rrrr�testPackageRequireException�s	z#TclTest.testPackageRequireException�win32zRequires WindowscCs�tjjtj�}|ddkr4tjd��dtjd|d|dd�f}tjj|�s}tjd��t	j
��,}|jd	�tj
|d
dg�}WdQRX|jd|�dS)
NrA�:z$Absolute path should have drive partz\\%s\%s$\%sZCOMPUTERNAMEr�zCannot connect to UNC PathZTCL_LIBRARYz-czimport tkinter; print(tkinter)stkinter)rv�path�abspath�sys�
executable�unittestZSkipTest�environ�existsrZEnvironmentVarGuardZunset�
subprocess�check_output�assertIn)r"�fullnameZunc_name�env�stdoutrrr�testLoadWithUNC�s

zTclTest.testLoadWithUNCcs��j��jddd��jddd���fdd�}�jt�j��jt�jdd	��jt�jd
��jt�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+�td1kr�|d.td2��dS)3Nr3rrr
rKcs3�j|�}�j||��j|t�dS)N)�
exprstringr.�assertIsInstancer`)�expr�expected�result)r"rrr�check�sz&TclTest.test_exprstring.<locals>.checkz8.2z+6s8.2 + 6�spamrZrBz8.2 + 6z14.2z3.1 + $az6.1z2 + "$a.$b"z5.6z4*[llength "6 2"]�8z{word one} < "word $a"z4*2 < 7zhypot($a, 4)z5.0z5 / 4r,z5 / 4.0z1.25z$5 / ( [string length "abcd"] + 0.0 )z20.0/5.0z4.0z"0x03" > "2"u[string length "a½€"]rlz[string length "a\xbd\u20ac"]z"abc"�abcu"a½€"ua½€z
"a\xbd\u20ac"z"a\0b"zabrJrLz2**64rE�@)rJrLl)r(rr r!r�rr^r`)r"r�r)r"rr�test_exprstring�s:	


















zTclTest.test_exprstringcs��j��jddd��jddd���fdd�}�jt�j��jt�jdd	��jt�jd
��jt�jd�|dd
�|dd�|dd�|dd�|dd�|dd
�|dd
�|dd�|dd�|dd�|dd�|dd �|d!d�|d"d#�|d$d#��jt�jd%�td+kr�|d(td,��dS)-Nr3rrr
rKcs3�j|�}�j||��j|t�dS)N)�
exprdoubler.r��float)r�r�r�)r"rrrr�"sz&TclTest.test_exprdouble.<locals>.checkz8.2z+6s8.2 + 6r�rZgz8.2 + 6gffffff,@z3.1 + $agffffff@z2 + "$a.$b"gffffff@z4*[llength "6 2"]g @z{word one} < "word $a"z4*2 < 7zhypot($a, 4)g@z5 / 4g�?z5 / 4.0g�?z$5 / ( [string length "abcd"] + 0.0 )z20.0/5.0g@z"0x03" > "2"u[string length "a½€"]g@z[string length "a\xbd\u20ac"]z"abc"rJrLz2**64rEr�)rJrLl)r(rr r!r�rr^r�)r"r�r)r"rr�test_exprdoubles4	














zTclTest.test_exprdoublecs��j��jddd��jddd���fdd�}�jt�j��jt�jdd	��jt�jd
��jt�jd�|dd
�|dd�|dd�|dd�|dd�|dd
�|dd
�|dd�|dd�|dd�|dd�|dd�|dd�|dd�|d d��jt�jd!�td#kr��jt�jd"�dS)$Nr3rrr
rKcs3�j|�}�j||��j|t�dS)N)�exprlongr.r�r)r�r�r�)r"rrrr�Bsz$TclTest.test_exprlong.<locals>.checkz8.2z+6s8.2 + 6r�rZrz8.2 + 6�z3.1 + $az2 + "$a.$b"rLz4*[llength "6 2"]rJz{word one} < "word $a"z4*2 < 7zhypot($a, 4)z5 / 4rAz5 / 4.0z$5 / ( [string length "abcd"] + 0.0 )z20.0/5.0�z"0x03" > "2"u[string length "a½€"]z[string length "a\xbd\u20ac"]z"abc"z2**64)rJrL)r(rr r!r�rr^)r"r�r)r"rr�
test_exprlong>s4	














zTclTest.test_exprlongcs�j��jddd��jddd���fdd�}�jt�j��jt�jdd	��jt�jd
��jt�jd�|dd
�x=d+D]5}||d
�|d|d
�|d|d
�q�Wx=d,D]5}||d�|d|d�|d|d�q�W|dd�|dd�|dd�|dd�|dd
�|dd
�|dd�|d d�|d!d�|d"d�|d#d�|d$d�|d%d�|d&d��jt�jd'�td-kr|d*d�dS).Nr3rrr
rKcsC�j|�}�j||��j|t��j|t�dS)N)�exprbooleanr.r�rZassertNotIsInstance�bool)r�r�r�)r"rrrr�bsz'TclTest.test_exprboolean.<locals>.checkz8.2z+6s8.2 + 6r�rZFrB�false�no�offz"%s"z{%s}r,�true�yesrgTz8.2 + 6z3.1 + $az2 + "$a.$b"z4*[llength "6 2"]z{word one} < "word $a"z4*2 < 7zhypot($a, 4)z5 / 4z5 / 4.0z$5 / ( [string length "abcd"] + 0.0 )z20.0/5.0z"0x03" > "2"u[string length "a½€"]z[string length "a\xbd\u20ac"]z"abc"rJrLz2**64)rBr�r�r�)r,r�r�rg)rJrL)r(rr r!r�rr^)r"r��valuer)r"rr�test_exprboolean^sD	


















zTclTest.test_exprbooleanrJrLzrequires Tcl version >= 8.5cs��j���fdd�}|dd�|dd�|dd�|dd�|d	d�|d
d�|dd�|dd�dS)
Ncsw�jd|�}�j�rA�j||��j|t�n2�j||tt|��f��j|t�dS)Nr�)rr*r.r�rr�r`)r�r�r�)r"rrrr��s"z$TclTest.test_booleans.<locals>.checkr�Tr�rgr�Fr�r�z1 < 2z1 > 2)r()r"r�r)r"rr�
test_booleans�s	






zTclTest.test_booleanscCs�|j}x~|j�D]p}|jdt|��}|jr`|j||�|j|t�q|j|t|��|j|t�qWtdkr�|j	t
|jdtd��dS)Nr�rJrLrEi�)rJrLlC)r(rXrr`r*r.r�rr^r r)r"rrcr�rrr�test_expr_bignum�s		zTclTest.test_expr_bignumcsD�fdd�}�j|d��jr0dnd��j|d��jrUdnd��j|d�d��j|d�d��j|d	�d	��j|d
�d
��j|d�d��j|d��jr�dnd	��j|d
��jr
d
nd��j|d��jr2dnd�x?�j�D]1}�j||��jrj|n	t|��qFWtd"kr��j|d#�td$��x~ddd%d&tjjtjjtjjtjjfD]D}�jr�j||�|�q��jt	||��|�q�W�jr�|t	d��}�j
||��j|t	d��t	d���j|t	d��t	d��nR�jt	|t	d���t	d���jt	|t	d���t	d���j|d(��jrd*nd��j|ddd gg��jr9d,nd!�dS)-Ncs�jjdd|�S)Nr3�_)r(r)r�)r"rr�	passValue�sz.TclTest.test_passing_values.<locals>.passValueTr,FrB�stringu	string€zstringu	string½u
string€sstringsstr��ingu
strÀ€ingsstr�ingustr½ingrJrLrEi�gg�?rAr�nan�infrk�333333@z1 2 3.4rr
�cza {b c})rJrLlClCg�gUUUUUU�?�r�)rArkr��r�)rArkr��r
r�)rr�)r.r*rXr`r^r��
float_info�min�maxr�ZassertNotEqual)r"r�rcrsr)r"r�test_passing_values�sF%%/	 	"'(*zTclTest.test_passing_valuescshd��fdd�}�jjd|��j�jjjd�dd�j��fdd�}�fdd�}|d	d
�|dd�|d
�|d�|d�|d�|dd
�|dd�|dd�|dd�|d�|d�|d�|dd�|dd�|dd�x'�j�D]}||t|��q?Wtd+kr{|d,td-��x!d/D]}||t	|��q�WxGd0t
jjt
jj
t
jjt
jj
fD]}||d|�q�W|td&�d|�|td&�d|�|fd�|d$d1d2d)ffd*�|d$d gd'd(gd)ggd*�dS)3Ncs
|�|S)Nr)�arg)r�rr�testfunc�sz+TclTest.test_user_command.<locals>.testfuncr��eqcsk|dkr|}d��jjd|�}�j�t�|�|��j|t�|||�dS)Nr�)r(rr�r`)r�r�r��r)r�r"rrr��s
z(TclTest.test_user_command.<locals>.checkcs*�jt|�|dt|�d�dS)NZdeltag�����|�=)ZassertAlmostEqualr��abs)�actualr�)r"rr�float_eq�sz+TclTest.test_user_command.<locals>.float_eqTr,FrBr�ustring½u	string€rZsstrings	string€ustring€sstring��zstringu	string½u
string€sstringsstr��ingu
strÀ€ingsstr��ing€ustrÀ€ing€rJrLrEi����?rAg@r�rr�z5 6z1 2 {3 4} {5 6} {})rJrLlClC��)r�r�r�gUUUUUU�?)rE)rr�)r(�
createcommandror)�
deletecommandr.rXr`r^�reprr�r�r�r�r�)r"r�r�r�rcrsr)r�r"r�test_user_command�sH!


















zTclTest.test_user_commandc	Cs�|jjj}|jjj}|jt|�|jt|dd�|jt|d�d'dffd)d+d-d/d1d3d5d7d9d<d>dAdCdFfffgffddd	ggddd	gff|ddddG�|jr�dIndJfg}t�}tdKkrO|js|dLkr!dM}ndO}||d!d"ddd dP�|fg7}d#|jt|f}x7|D]/\}}|j	||�|d$||f�qlW|jt
|d%�dS)QNrr
rErkrZ�{}�""�
a
 b	
 c
 r��
a
 b	
 c
 �a €�€�a €�	a��b c��d�ab�cd�a {b c}�b c�a b\ c�a 2�a 3.4�3.4�333333@�listrAr,rJrL�12�€��€�dict�createz4want objects? %s, Tcl version: %s, Tk patchlevel: %sz
arg=%a, %s�{�rk)rkr��rZ)r�r��rZ)r�r��rr
r�)r�r��rr
r�)r�r��rr�)r�r��rr�)r�r��r�r�)r�r��rr�)r�r��rr�)r�r��rr��rr�)r�r��rrk)r�r��rrE�rrE)r�r��rr�)r�r��rr��rr�)r�r�)r��r�)rArkr�)r,rkr�)rJrL)rJrLrL)r�r�r�r��r�)r�r�r�r�)r�)r(r)�	splitlistrr r!r*rr^r.r)	r"r�r�	testcasesZ
tk_patchlevelr�Zdbg_infor��resrrr�test_splitlistsR			!		
zTclTest.test_splitlistcCs�|jjj}|jjj}|jt|�|jt|dd�|jt|d�d)d*d+d,d-d/d1d3d5d6d8d9d<d?dCdGdIdLdNdQdVfffgffddgdXfddd
ggdZf|dddd[�|jr�d]nd^fg}td_krU|jst�d`kr'da}ndc}||d&d'd$d
d%dd�|fg7}x0|D](\}}|j	||�|d(|�q\WdS)eNrr
rErkrZ�{}�""r��
a
 b	
 c
 r��
a
 b	
 c
 �a €�€�a €�a��b�ab�	a��b c��d�cd�
{a��b c��d�{ab cd�a {b c}�a b\ c�b c�b c�a 2�a 3.4�3.4�333333@r�rAr,rJrLr��€r��€r�r��msg)rkrk)rZrZ)r�rZ)r�rZ)r�r��rr
r�)r�r�rr
r�)r�r�rr�)r�r�rr�)r�r)rr�rr)rr)rr�r
r��rr)rr�r
r��rr)rr�rr�r
r��rr)rr�rr	�r
r��rr)rr�rrk)r
r �rrE�rrE)r!r"�rr)rr#�rr
�rr
)r$r%�rEr
�rr&�rEr
�rr()r'r)�r
r�)rr*�r
r�)rr+)r
�r
)rArkr,)r,rkr)rJrL)rJrLrL)r�r�rr�r
)r�r�rr-)r
)
r(r)�splitrr r!r*r^rr.)r"r.rr�r�r�r�rrr�
test_split8sT			
zTclTest.test_splitc	Cs�tj}|jj}d}|j|||d�ddddddi�|j|||�d	dd
dddi�d}|j|||d�ddddddi�|j|||�d	dd
dddi�|jt||d�|jt||d�|jddddddf�}|j|||�d	|jrDdndd
dddi�t	dkr�|jdddddddf�}|js�t
�d kr�d	dd
dddi}nd	d!d
dddi}|j|||�|�dS)"Nz#-a {1 2 3} -something foo status {}F�-az1 2 3�
-something�foo�statusrZrZ	somethingrArEr�{}z-a b -c r
�-cr�rJrLr�r��rArEr)r0r6r1r2r3r4)rArEr)rArEr)r0r
r5)rArEr)rArEr)rJrL)rArEr)rJrLrL)rArEr)�tkinterZ
_splitdictr(r)r.r �RuntimeErrorrr*r^r)r"Z	splitdictrr�r�rrr�test_splitdictis4		zTclTest.test_splitdictcCs|jttj�dS)N)r r!rZTcl_Obj)r"rrr�test_new_tcl_obj�szTclTest.test_new_tcl_objN)rJrL).r$r%r&r+r/r0r1r2r4r5r8r:r;r=r>r?r@rDrFrGrXrdrfrirtrur{r|r��
skipUnlessr��platformr�r�r�r�r�r^r�r�r�r�r�r/r9r:rrrrr'.sL

	'#  )$
*601#r'c	@s�eZdZdd�Zejejee	kd�ej
deddddd	�d
d����Zejejee	kd�ej
deddddd	�d
d����ZdS)�
BigmemTclTestcCst�|_dS)N)rr()r"rrrr+�szBigmemTclTest.setUpzneeds UINT_MAX < SIZE_MAX�sizerAZmemuserL�dry_runFcCs-d|}|jt|jjdd|�dS)N� r3r�)r �
OverflowErrorr(r)r"r>r�rrr�test_huge_string_call�s
z#BigmemTclTest.test_huge_string_call�	cCsdd|}|jt|jjj|�|jt|jjj|�|jt|jjj|�|jt|jj|�|jt|jj|�|jt|jj	|�|jt|jj
|�|jt|jj|dd�|jt|jjd|d�|jt|jj|�|jt|jjd|�|jt|jj
|�|jt|jj
|�|jt|jj|�|jt|jj|�|jt|jj|�|jt|jj|�|jt|jj|t�|jt|jj|�dS)Nr,r@�xr)r rAr(r)r]rerhr-rr�recordZadderrorinfor9rCr�r�r�r�r.r�r�r�)r"r>r�rrr�test_huge_string_builtins�s(z'BigmemTclTest.test_huge_string_builtinsN)
r$r%r&r+rZcpython_onlyr�r;rrZ
bigmemtestrBrFrrrrr=�s4r=cCs/tjr+t�}td|jdd��dS)Nzpatchlevel =r	r
)r�verboser�printr)rrrr�setUpModule�s		rIcCstjttt�dS)N)rZrun_unittestr'rr=rrrr�	test_main�srJ�__main__) r�rr�r�rvZtestr�
import_modulerr7rrZ	_testcapirr�ImportError�maxsize�tuple�maprZTCL_VERSIONr.r^rrZTestCaserr'r=rIrJr$rrrr�<module>s2
!��c&