Your IP : 216.73.216.213


Current Path : /proc/242857/root/opt/alt/python34/lib64/python3.4/test/__pycache__/
Upload File :
Current File : //proc/242857/root/opt/alt/python34/lib64/python3.4/test/__pycache__/test_tcl.cpython-34.pyo

�
g f�k�
@svddlZddlZddlZddlZddlZddlmZejd�Zej	d�Z
ddl
mZddlmZyddl
mZmZWnek
r�ejZZYnXeeeejjd���Zdad	d
�ZGdd�dej�ZGd
d�dej�ZGdd�dej�Zdd�Zdd�Ze dkrre�ndS)�N)�support�_tkinter�tkinter)�Tcl)�TclError)�INT_MAX�PY_SSIZE_T_MAX�.cCs�tdkr�t�}|jdd�}tjd|�}|j�\}}}}t|�t|�t|�}}}idd6dd6dd	6|}|dkr�||||d
faq�||d
||fantS)N�info�
patchlevelz(\d+)\.(\d+)([ab.])(\d+)Zalpha�aZbeta�b�finalr	r)�_tk_patchlevelr�call�re�	fullmatch�groups�int)�tclr�m�major�minor�releaselevel�serial�r�2/opt/alt/python34/lib64/python3.4/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@s�eZdZdd�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%dQkdA�dBdC��Z&dDdE�Z'dFdG�Z(dHdI�Z)dJdK�Z*dLdM�Z+dNdO�Z,dPS)R�TclTestcCs%t�|_|jjj�|_dS)N)r�interp�tk�wantobjects)r!rrr�setUp2sz
TclTest.setUpcCs3|j}|jd�|j|jd�d�dS)Nzset a 1zset a�1)r'�eval�assertEqual)r!rrrr�testEval6s	
zTclTest.testEvalcCs&|j}|j|jd�d�dS)Nzset a "a\0b"�ab)r'r-r,)r!rrrr�test_eval_null_in_result;s	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�testEvalException2Cs	zTclTest.testEvalException2cCs<|j}|jddd�|j|jdd�d�dS)N�setrr+)r'rr-)r!rrrr�testCallGs	zTclTest.testCallcCs&|j}|jt|jdd�dS)Nr3r)r'rrr)r!rrrr�testCallExceptionLs	zTclTest.testCallExceptioncCs)|j}|jt|jddd�dS)N�this�isZwrong)r'rrr)r!rrrr�testCallException2Ps	zTclTest.testCallException2cCs6|j}|jdd�|j|jd�d�dS)Nrr+zset a)r'�setvarr-r,)r!rrrr�
testSetVarTs	zTclTest.testSetVarcCs6|j}|jdd�|j|jd�d�dS)Nza(1)r+zset a(1))r'r9r-r,)r!rrrr�testSetVarArrayYs	zTclTest.testSetVarArraycCs3|j}|jd�|j|jd�d�dS)Nzset a 1rr+)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�testGetVarArraycs	
zTclTest.testGetVarArraycCs#|j}|jt|jd�dS)Nr)r'rrr<)r!rrrr�testGetVarExceptionhs	zTclTest.testGetVarExceptioncCs#|j}|jt|jd�dS)Nza(1))r'rrr<)r!rrrr�testGetVarArrayExceptionls	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�testUnsetVarps
	
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�testUnsetVarArrayws	
zTclTest.testUnsetVarArraycCs#|j}|jt|jd�dS)Nr)r'rrrC)r!rrrr�testUnsetVarException�s	zTclTest.testUnsetVarExceptioncCs^d}tdkr|d7}nt�dksMdt�koHdknrZ|d&7}n|S)'NrrArE����?�r�i����l��l��)rrArNrOrP)rIrJ�li����l�����l���)rQrRrSrT)rIrLrzfinal)rIrMrI)rIrL�ll��������ClC���)rUrVrWrX)�tcl_versionr)r!Zintegersrrr�get_integers�s

zTclTest.get_integerscCs�|jj}x�|j�D]�}|j|jd|�|�tdkrh|j|jd|�|�n|j|jd|jdd��|�|j|jd|�|�qWtdkr�|jt|jt	d��n|j|jd
�d
�|jt
|j�|jt
|jdd�|jt
|jd
�|jt
|jd�|jt|jd�|jt
ttf|jd�|jtttf|jd�dS)Nz %d rIrMz %#o �o�z %#x rEi��*Z42�10s42gE@rZ42u42�)rIrM)rIrMlC)
r'r(rZr-�getintrY�replacerr�strr �
ValueError�UnicodeEncodeError)r!r�irrr�test_getint�s& )!
zTclTest.test_getintcCs|jj}|j|jd�d�|j|jd�d�|j|jd�d�|jt|j�|jt|jdd�|jt|jd�|jt|jd�|jt|jd	�|jtttf|jd
�|jtttf|jd�dS)Nz 42 gE@z 42.5 g@E@z42.5r^s42.5r]rz42.5u42.5�)	r'r(r-�	getdoublerr rrbrc)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�?rZonuon�)	r'r(ZassertIs�
getbooleanrr rrbrc)r!rrrr�test_getboolean�s
zTclTest.test_getbooleanc
Cs�|j}ttjd��*}|jtjtj�|jd�WdQX|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�WdQX|jtj�|j|j	d�d�|j|j	d�d�dS)Nrkz>
            set a "ab"
            set b "a\0b"
            zset ar/zset b)
r'rnrrorprqrrrsr-r,)r!rrtrrr�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�	Exceptionrrrs)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�}|ddkr7tjd��ndtjd|d|dd�f}tjj|�s�tjd��nt	j
��,}|jd	�tj
|d
dg�}WdQX|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)rw�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��ndS)3Nr3rr�r
rLcs3�j|�}�j||��j|t�dS)N)�
exprstringr-�assertIsInstancera)�expr�expected�result)r!rrr�checksz&TclTest.test_exprstring.<locals>.checkz8.2z+6s8.2 + 6�spamr\rBz8.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½€"]rmz[string length "a\xbd\u20ac"]z"abc"�abcu"a½€"ua½€z
"a\xbd\u20ac"z"a\0b"r/rIrMz2**64rE�@)rIrMl)r'rrr r�rrYra)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,��ndS)-Nr3rr�r
rLcs3�j|�}�j||��j|t�dS)N)�
exprdoubler-r��float)r�r�r�)r!rrrr�&sz&TclTest.test_exprdouble.<locals>.checkz8.2z+6s8.2 + 6r�r\gz8.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"rIrMz2**64rEr�)rIrMl)r'rrr r�rrYr�)r!r�r)r!rr�test_exprdouble"s4	














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"�ndS)$Nr3rr�r
rLcs3�j|�}�j||��j|t�dS)N)�exprlongr-r�r)r�r�r�)r!rrrr�Fsz$TclTest.test_exprlong.<locals>.checkz8.2z+6s8.2 + 6r�r\rz8.2 + 6�z3.1 + $az2 + "$a.$b"rMz4*[llength "6 2"]rIz{word one} < "word $a"z4*2 < 7zhypot($a, 4)z5 / 4rAz5 / 4.0z$5 / ( [string length "abcd"] + 0.0 )z20.0/5.0rJz"0x03" > "2"u[string length "a½€"]z[string length "a\xbd\u20ac"]z"abc"z2**64)rIrM)r'rrr r�rrY)r!r�r)r!rr�
test_exprlongBs4	














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�ndS).Nr3rr�r
rLcsC�j|�}�j||��j|t��j|t�dS)N)�exprbooleanr-r�rZassertNotIsInstance�bool)r�r�r�)r!rrrr�fsz'TclTest.test_exprboolean.<locals>.checkz8.2z+6s8.2 + 6r�r\FrB�false�no�offz"%s"z{%s}r+�true�yesrhTz8.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"rIrMz2**64)rBr�znor�)r+ztruezyeszon)rIrM)r'rrr r�rrY)r!r��valuer)r!rr�test_exprbooleanbsD	


















zTclTest.test_exprbooleanrIrMzrequires 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�ra)r�r�r�)r!rrrr��s"z$TclTest.test_booleans.<locals>.checkr�Tr�rhr�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��ndS)Nr�rIrMrEi�)rIrMlC)r'rZrrar)r-r�rrYrr)r!rrdr�rrr�test_expr_bignum�s		zTclTest.test_expr_bignumcs�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|��qFWtdkr��j|d�td ��nx~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�dS)'Ncs�jjdd|�S)Nr3�_)r'r)r�)r!rr�	passValue�sz.TclTest.test_passing_values.<locals>.passValueTr+FrB�stringu	string€�stringu	string½u
string€sstringsstr��ingu
strÀ€ingsstr�ingustr½ingrIrMrEi�gg�?rAr��nan�infrl�333333@z1 2 3.4)rIrMlClCg�gUUUUUU�?�r�)rArlr��r�)rArlr�)r-r)rZrarYr��
float_info�min�maxr�ZassertNotEqual)r!r�rdrtr)r!r�test_passing_values�sB%%/	 	"'(*zTclTest.test_passing_valuescsFd��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-��nx!d/D]}||t	|��q�WxGd0t
jjt
jj
t
jjt
jj
fD]}||d|�q�W|td&�d|�|td&�d|�|fd�|d$d1d2d)ffd*�dS)3Ncs
|�|S)Nr)�arg)r�rr�testfunc�sz+TclTest.test_user_command.<locals>.testfuncr��eqcsn|dkr|}nd��jjd|�}�j�t�|�|��j|t�|||�dS)Nr�)r'rr�ra)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+FrBr�ustring½u	string€r\sstrings	string€ustring€sstring��r�u	string½u
string€sstringsstr��ingu
strÀ€ingsstr��ing€ustrÀ€ing€rIrMrEi����?rAg@r�r�rJz5 6z1 2 {3 4} {5 6} {})rIrMlClC��)r�r�r�gUUUUUU�?)rE)r�rJ)r'�
createcommandrpr(�
deletecommandr-rZrarY�reprr�r�r�r�r�)r!r�r�r�rdrtr)r�r!r�test_user_command�sF!


















zTclTest.test_user_commandcCsl|jjj}|jjj}|jt|�|jt|dd�|jt|d�d&dffd(d*d,d.d0d2d4d6d8d;d=d@dBdEfff|ddddF�|jr�dHndIfg}tdJkr"|js�t�dKkr�dL}ndN}||d!d"ddd dO�|fg7}nx0|D](\}}|j	||�|d#|�q)W|jt
|d$�dS)PNrr
rErlr\�{}�""�
a
 b	
 c
 �c�
a
 b	
 c
 �a €�€�a €�	a��b c��dr/�cd�a {b c}�b c�a b\ c�a 2�a 3.4�3.4�333333@�listrAr+rIrM�12�€��€�dict�create�msg�{�rl)rlr��r\)r�r��r\)r�r��rr
r�)r�r��rr
r�)r�r��rr�)r�r��rr�)r�r��zabr�)r�r��rr�)r�r��rr�)r�r��rr��rr�)r�r��rrl)r�r��rrE�rrE)r�r��rr�)r�r��rr��rr�)r�r�)r��r�)rArlr�)r+rlr�)rIrM)rIrMrM)r�r�r�r��r�)r�r�r�r�)r�)r'r(�	splitlistrrr r)rYrr-r)r!r�r�	testcasesr�r��resrrr�test_splitlist	sF			 zTclTest.test_splitlistcCsb|jjj}|jjj}|jt|�|jt|dd�|jt|d�d)d*d+d,d-d/d1d3d5d6d8d9d<d?dCdGdIdLdNdQdVfff|ddddW�|jr�dYndZfg}td[kr+|js�t�d\kr�d]}nd_}||d&d'd$d
d%d`�|fg7}nx0|D](\}}|j	||�|d(|�q2WdS)aNrr
rErlr\�{}�""r��
a
 b	
 c
 r��
a
 b	
 c
 �a €�€�a €�a��br/�	a��b c��dr��
{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+rIrMr��€r��€r�r�r�)rlrl)r\r\)r�r\)r�r\)r�r��rr
r�)r�r�rr
r�)r�r
�rr�)r�r�rr�)r�r)r��ab�rzcd)r�r)rr�r
r��rr)rr�r
r��rr)rr�rr�r
r��rr)rr�rr�r
r��rr)rr�rrl)rr�rrE�rrE)rr�rr)rr�rr	�rr	)r r!�rEr	�rr"�rEr	�rr$)r#r%)r	�r	)rArlr&)r+rlr)rIrM)rIrMrM)z12r�r
r�r	)r�r�rr')r	)
r'r(�splitrrr r)rYrr-)r!r(rr�r�r�r�rrr�
test_split3sN		zTclTest.test_splitc	Cstj}|jj}d}|j|||d�idd6dd6dd6�|j|||�idd	6dd
6dd6�d}|j|||d�idd6dd6dd6�|j|||�idd	6dd
6dd6�|jt||d�|jt||d�|jddddddf�}|j|||�i|jrPdndd	6dd
6dd6�t	dkr|jdddddddf�}|js�t
�d kr�idd	6dd
6dd6}nid!d	6dd
6dd6}|j|||�|�ndS)"Nz#-a {1 2 3} -something foo status {}Fz1 2 3�-a�foo�
-somethingr\�statusrZ	somethingrArEr��{}z-a b -c r
�-cr�rIrMr�r��rArEr�)r*r0r,r+r-r.)rArEr�)rArEr�)r*r
r/)rArEr�)rArEr�)rIrM)rArEr�)rIrMrM)rArEr�)rZ
_splitdictr'r(r-r�RuntimeErrorrr)rYr)r!Z	splitdictrr�r�rrr�test_splitdictas4		zTclTest.test_splitdictN)rIrM)-r#r$r%r*r.r0r1r2r4r5r8r:r;r=r>r?r@rDrFrGrZrergrjrurvr|r}r��
skipUnlessr��platformr�r�r�r�r�rYr�r�r�r�r�r)r2rrrrr&0sJ


	'#  )$
(5*.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�sizerAZmemuserMZdry_runFcCs-d|}|jt|jjdd|�dS)N� r3r�)r�
OverflowErrorr'r)r!r6r�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+r7�xr)rr8r'r(r_rfrir,rs�recordZadderrorinfor9rCr�r�r�r�r(r�r�r�)r!r6r�rrr�test_huge_string_builtins�s(z'BigmemTclTest.test_huge_string_builtinsN)
r#r$r%r*rZcpython_onlyr�r3rrZ
bigmemtestr9r=rrrrr5�s4r5cCs2tjr.t�}td|jdd��ndS)Nzpatchlevel =r
r)r�verboser�printr)rrrr�setUpModule�s		r@cCstjttt�dS)N)rZrun_unittestr&rr5rrrr�	test_main�srA�__main__)!r�rr�r�rwZtestr�
import_modulerZimport_fresh_modulerrrZ	_testcapirr�ImportError�maxsize�tuple�maprZTCL_VERSIONr(rYrrZTestCaserr&r5r@rAr#rrrr�<module>s2
!��W&