Your IP : 216.73.216.52


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-1.pyc



��Yf�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+)�aZalpha�bZbetar�finalr)�_tk_patchlevelr�call�re�	fullmatch�groups�int)�tclr
�m�major�minor�releaselevel�serial�r�2/opt/alt/python35/lib64/python3.5/test/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&rrr+)r rrrr�testEvalException=s	zTclTest.testEvalExceptioncCs#|j}|jt|jd�dS)Nz
this is wrong)r&rrr+)r rrrr�testEvalException2As	zTclTest.testEvalException2cCs<|j}|jddd�|j|jdd�d�dS)N�setrr*)r&rr,)r rrrr�testCallEs	zTclTest.testCallcCs&|j}|jt|jdd�dS)Nr1r)r&rrr)r rrrr�testCallExceptionJs	zTclTest.testCallExceptioncCs)|j}|jt|jddd�dS)N�this�isZwrong)r&rrr)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&r7r,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&rrr:)r rrrr�testGetVarExceptionfs	zTclTest.testGetVarExceptioncCs#|j}|jt|jd�dS)Nza(1))r&rrr:)r rrrr�testGetVarArrayExceptionjs	z TclTest.testGetVarArrayExceptioncCs\|j}|jdd�|j|jd�d�|jd�|j|jd�d�dS)Nr�z
info exists ar*�0)r&r7r,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)r?za(2)�zinfo exists a(1)r*zinfo exists a(2)r@)r&r7r,r+rA)r rrrr�testUnsetVarArrayus	
zTclTest.testUnsetVarArraycCs#|j}|jt|jd�dS)Nr)r&rrrA)r rrrr�testUnsetVarExceptions	zTclTest.testUnsetVarExceptionc
CsBd}t�dks4dt�ko/dknr>|d#7}|S)$Nrr?rC��?��r
�i����l��l���li����l�����l���)	rr?rKrLrMrNrOrPrQ)rHrIrr
)rHrJrH)rHrI�ll��������ClC���)rRrSrTrU)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 rHrJz %#o �o�z %#x rCi��*Z42�10s42gE@rz42u42�)rHrJ)rHrJlC)
r&r'rVr,�getint�tcl_version�replacerr�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@rYz42.5rZs42.5rz42.5u42.5�)	r&r'r,�	getdoublerrrr_r`)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*rYrFsong�?rzonuon�)	r&r'ZassertIs�
getbooleanrrrr_r`)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)Nrhz>
            set a "ab"
            set b "a\0b"
            zset azabzset b)
r&rkrrlrmrnrorpr,r+)r rrqrrr�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�	Exceptionrrrp)r r�filename�errr�testEvalFileException�s	zTclTest.testEvalFileExceptioncCs#|j}|jt|jd�dS)Nzpackage require DNE)r&rrr+)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)
Nr?�:z$Absolute path should have drive partz\\%s\%s$\%sZCOMPUTERNAMEr�zCannot connect to UNC PathZTCL_LIBRARYz-czimport tkinter; print(tkinter)stkinter)rt�path�abspath�sys�
executable�unittestZSkipTest�environ�existsrZEnvironmentVarGuardZunset�
subprocessZ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)3Nr1rr}rrIcs3�j|�}�j||��j|t�dS)N)�
exprstringr,�assertIsInstancer^)�expr�expected�result)r rrr�check�sz&TclTest.test_exprstring.<locals>.checkz8.2z+6s8.2 + 6�spamrXr@z8.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½€"]rjz[string length "a\xbd\u20ac"]z"abc"�abcu"a½€"ua½€z
"a\xbd\u20ac"z"a\0b"zabrHrJz2**64rC�@)rHrJl)r&rrrr�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)-Nr1rr}rrIcs3�j|�}�j||��j|t�dS)N)�
exprdoubler,r��float)r�r�r�)r rrrr�"sz&TclTest.test_exprdouble.<locals>.checkz8.2z+6s8.2 + 6r�rXgz8.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"rHrJz2**64rCr�)rHrJl)r&rrrr�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)$Nr1rr}rrIcs3�j|�}�j||��j|t�dS)N)�exprlongr,r�r)r�r�r�)r rrrr�Bsz$TclTest.test_exprlong.<locals>.checkz8.2z+6s8.2 + 6r�rXrz8.2 + 6�z3.1 + $az2 + "$a.$b"rJz4*[llength "6 2"]rHz{word one} < "word $a"z4*2 < 7zhypot($a, 4)z5 / 4r?z5 / 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)rHrJ)r&rrrr�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).Nr1rr}rrIcsC�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�rXFr@�false�no�offz"%s"z{%s}r*�true�yesreTz8.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"rHrJz2**64)r@r�r�r�)r*r�r�re)rHrJ)r&rrrr�rr\)r r��valuer)r rr�test_exprboolean^sD	


















zTclTest.test_exprbooleanrHrJzrequires 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�rer�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�rHrJrCi�)rHrJlC)r&rVrr^r(r,r�rr\rr)r rrar�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)Nr1�_)r&r)r�)r rr�	passValue�sz.TclTest.test_passing_values.<locals>.passValueTr*Fr@�stringu	string€zstringu	string½u
string€sstringsstr��ingu
strÀ€ingsstr�ingustr½ingrHrJrCi�gg�?r?r}�nan�infri�333333@z1 2 3.4rr�cza {b c})rHrJlClCg�gUUUUUU�?�r�)r?rir��r�)r?rir��rr�)rr�)r,r(rVr^r\r��
float_info�min�maxr�ZassertNotEqual)r r�rarqr)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)Zactualr�)r rr�float_eq�sz+TclTest.test_user_command.<locals>.float_eqTr*Fr@r�ustring½u	string€rXsstrings	string€ustring€sstring��zstringu	string½u
string€sstringsstr��ingu
strÀ€ingsstr��ing€ustrÀ€ing€rHrJrCi����?r?g@r�r}r�z5 6z1 2 {3 4} {5 6} {})rHrJlClC��)r�r�r�gUUUUUU�?)rC)r}r�)r&�
createcommandrmr'�
deletecommandr,rVr^r\�reprr�r�r�r�r�)r r�r�r�rarqr)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rCrirX�{}�""�
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@�listr?r*rHrJ�12�€��€�dict�createz4want objects? %s, Tcl version: %s, Tk patchlevel: %sz
arg=%a, %s�{�ri)rir��rX)r�r��rX)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��rri)r�r��rrC�rrC)r�r��rr�)r�r��rr��rr�)r�r�)r��r�)r?rir�)r*rir�)rHrJ)rHrJrJ)r�r�r�r��r�)r�r�r�r�)r�)r&r'�	splitlistrrrr(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rCrirX�{}�""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�r?r*rHrJr��€r��€r�r��msg)riri)rXrX)r�rX)r�rX)r�r��rrr�)r�r
�rrr�)r�r�rr�)r�r�rr�)r�r)r�r��r�r�)r�r)rr�rr��rr)rr�rr��rr)rr�rr�rr��rr)rr�rr�rr��rr)rr�rri)rr�rrC�rrC)rr�rr)rr�rr	�rr	)r r!�rCr	�rr"�rCr	�rr$)r#r%�rr�)rr&�rr�)rr')r	�r	)r?rir()r*rir)rHrJ)rHrJrJ)r�r�r
r�r	)r�r�rr))r	)
r&r'�splitrrrr(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�statusrXrZ	somethingr?rCr}�{}z-a b -c r�-cr�rHrJr�r��r?rCr})r,r2r-r.r/r0)r?rCr})r?rCr})r,rr1)r?rCr})r?rCr})rHrJ)r?rCr})rHrJrJ)r?rCr})�tkinterZ
_splitdictr&r'r,r�RuntimeErrorrr(r\r)r Z	splitdictrr�r�rrr�test_splitdictis4		zTclTest.test_splitdictcCs|jttj�dS)N)rrrZTcl_Obj)r rrr�test_new_tcl_obj�szTclTest.test_new_tcl_objN)rHrJ).r"r#r$r)r-r.r/r0r2r3r6r8r9r;r<r=r>rBrDrErVrbrdrgrrrsryrzr��
skipUnlessr��platformr�r�r�r�r�r\r�r�r�r�r�r+r5r6rrrrr%.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�sizer?ZmemuserJZdry_runFcCs-d|}|jt|jjdd|�dS)N� r1r�)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)rr<r&r'r[rcrfr+rp�recordZadderrorinfor7rAr�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�r7rrZ
bigmemtestr=rArrrrr9�s4r9cCs/tjr+t�}td|jdd��dS)Nzpatchlevel =r	r
)r�verboser�printr)rrrr�setUpModule�s		rDcCstjttt�dS)N)rZrun_unittestr%rr9rrrr�	test_main�srE�__main__) r�rr�r�rtZtestr�
import_modulerr3rrZ	_testcapirr�ImportError�maxsize�tuple�maprZTCL_VERSIONr*r\rrZTestCaserr%r9rDrEr"rrrr�<module>s2
!��c&