Your IP : 216.73.216.213


Current Path : /opt/alt/python38/lib64/python3.8/sqlite3/test/__pycache__/
Upload File :
Current File : //opt/alt/python38/lib64/python3.8/sqlite3/test/__pycache__/factory.cpython-38.pyc

U

i�f0�@s�ddlZddlZddlmZGdd�dej�Zdd�ZGdd�dej�Z	Gd	d
�d
ej
�ZGdd�dej
�ZGd
d�dej
�Z
Gdd�dej
�ZGdd�dej
�ZGdd�dej
�Zdd�Zdd�Zedkr�e�dS)�N)�Sequencec@seZdZdd�ZdS)�MyConnectioncOstjj|f|�|�dS�N)�sqlite�
Connection�__init__��self�args�kwargs�r�9/opt/alt/python38/lib64/python3.8/sqlite3/test/factory.pyrszMyConnection.__init__N��__name__�
__module__�__qualname__rrrrr
rsrcCs,i}t|j�D]\}}||||d<q|S)Nr)�	enumerateZdescription)�cursor�row�d�idx�colrrr
�dict_factory src@seZdZdd�ZdS)�MyCursorcOstjj|f|�|�t|_dSr)r�Cursorrr�row_factoryrrrr
r'szMyCursor.__init__Nrrrrr
r&src@s$eZdZdd�Zdd�Zdd�ZdS)�ConnectionFactoryTestscCstjdtd�|_dS)N�:memory:��factory)r�connectr�con�r	rrr
�setUp,szConnectionFactoryTests.setUpcCs|j��dSr�r!�closer"rrr
�tearDown/szConnectionFactoryTests.tearDowncCs|�|jt�dSr)�assertIsInstancer!rr"rrr
�CheckIsInstance2sz&ConnectionFactoryTests.CheckIsInstanceN)rrrr#r&r(rrrr
r+src@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�CursorFactoryTestscCst�d�|_dS�Nr�rr r!r"rrr
r#6szCursorFactoryTests.setUpcCs|j��dSrr$r"rrr
r&9szCursorFactoryTests.tearDowncCsR|j��}|�|tj�|j�t�}|�|t�|jjdd�d�}|�|t�dS)NcSst|�Sr)r�r!rrr
�<lambda>A�z4CursorFactoryTests.CheckIsInstance.<locals>.<lambda>r)r!rr'rrr)r	�currrr
r(<s
z"CursorFactoryTests.CheckIsInstancecCsB|�t|jjd�|�t|jjdd��|�t|jjdd��dS)NcSsdSrrrrrr
r-Hr.z8CursorFactoryTests.CheckInvalidFactory.<locals>.<lambda>cSsdSrrr,rrr
r-Jr.)�assertRaises�	TypeErrorr!rr"rrr
�CheckInvalidFactoryDsz&CursorFactoryTests.CheckInvalidFactoryN)rrrr#r&r(r2rrrr
r)5sr)c@s$eZdZdd�Zdd�Zdd�ZdS)�RowFactoryTestsBackwardsCompatcCst�d�|_dSr*r+r"rrr
r#Msz$RowFactoryTestsBackwardsCompat.setUpcCs8|jjtd�}|�d�|��}|�|t�|��dS)Nrzselect 4+5 as foo)r!rr�execute�fetchoner'�dictr%)r	r/rrrr
�CheckIsProducedByFactoryPs

z7RowFactoryTestsBackwardsCompat.CheckIsProducedByFactorycCs|j��dSrr$r"rrr
r&Wsz'RowFactoryTestsBackwardsCompat.tearDownN)rrrr#r7r&rrrr
r3Lsr3c@sleZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZdS)�RowFactoryTestscCst�d�|_dSr*r+r"rrr
r#[szRowFactoryTests.setUpcCs,dd�|j_|j�d���}|�|t�dS)NcSst|�Sr)�list)r/rrrr
r-_r.z4RowFactoryTests.CheckCustomFactory.<locals>.<lambda>zselect 1, 2)r!rr4r5r'r9�r	rrrr
�CheckCustomFactory^sz"RowFactoryTests.CheckCustomFactoryc	Csttj|j_|j�d���}|�|tj�|�|ddd�|�|ddd�|�|ddd	�|�|d
dd�|�|ddd
�|�|ddd�|�|ddd�|�|ddd�|�t	��|dW5QRX|�t	��|dW5QRX|�t	��|dW5QRX|�t	��|dW5QRX|�t	��|dW5QRX|�t	��|ddW5QRXdS)Nzselect 1 as a_1, 2 as bZa_1�z&by name: wrong result for column 'a_1'�b�z$by name: wrong result for column 'b'ZA_1z&by name: wrong result for column 'A_1'�Bz$by name: wrong result for column 'B'rz#by index: wrong result for column 0z#by index: wrong result for column 1���z$by index: wrong result for column -1���z$by index: wrong result for column -2�cza_za1���i�)
r�Rowr!rr4r5r'�assertEqualr0�
IndexErrorr:rrr
�CheckSqliteRowIndexcs.
z#RowFactoryTests.CheckSqliteRowIndexc	Csjtj|j_|j�d���}|�|dd�|�t��|dW5QRX|�t��|dW5QRXdS)Nuselect 1 as ÿ�ÿr<uŸ�ß)	rrDr!rr4r5rEr0rFr:rrr
�CheckSqliteRowIndexUnicode�s
z*RowFactoryTests.CheckSqliteRowIndexUnicodecCs�tj|j_|j�d���}|�|dd�d�|�|dd�d�|�|dd�d�|�|dd�d�|�|dd�d�|�|dd�d	�|�|d
d�d�|�|d
d�d
�|�|ddd�d�|�|ddd
�d�dS)Nzselect 1, 2, 3, 4rrr<)r<�)r>rK)r>rK�)r<r>rKrAr@)rK)rKrLrLr>)r<rK)rLr>)rrDr!rr4r5rEr:rrr
�CheckSqliteRowSlice�s
z#RowFactoryTests.CheckSqliteRowSlicecCs(tj|j_|j�d���}|D]}qdS)z$Checks if the row object is iterable�select 1 as a, 2 as bN)rrDr!rr4r5)r	rrrrr
�CheckSqliteRowIter�s
z"RowFactoryTests.CheckSqliteRowItercCs>tj|j_|j�d���}t|�}|�||d|df�dS)z4Checks if the row object can be converted to a tuplerN�ar=N)rrDr!rr4r5�tuplerE)r	r�trrr
�CheckSqliteRowAsTuple�s
z%RowFactoryTests.CheckSqliteRowAsTuplecCsNtj|j_|j�d���}t|�}|�|d|d�|�|d|d�dS)zCChecks if the row object can be correctly converted to a dictionaryrNrPr=N)rrDr!rr4r5r6rE)r	rrrrr
�CheckSqliteRowAsDict�s

z$RowFactoryTests.CheckSqliteRowAsDictc	Cs�tj|j_|j�d���}|j�d���}|j�d���}|j�d���}|j�d���}|�||k�|�||k�|�||k�|�||k�|�||k�|�|t�k�|�||k�|�||k�|�||k�|�||k�|�||k�|�|t�k�|�	t
��||kW5QRX|�	t
��||kW5QRX|�	t
��||kW5QRX|�	t
��||kW5QRX|�t|�t|��dS)z6Checks if the row object compares and hashes correctlyrNzselect 1 as a, 3 as bzselect 1 as b, 2 as azselect 2 as b, 1 as aN)
rrDr!rr4r5�
assertTrueZassertFalse�objectr0r1rE�hash)r	Zrow_1Zrow_2Zrow_3Zrow_4Zrow_5rrr
�CheckSqliteRowHashCmp�s6
z%RowFactoryTests.CheckSqliteRowHashCmpcCsNtj|j_|j�d���}t|�}|�tt	|��tt	|���|�
|t�dS)z2 Checks if the row object can act like a sequence rNN)rrDr!rr4r5rQrEr9�reversedr'r)r	rZas_tuplerrr
�CheckSqliteRowAsSequence�s

z(RowFactoryTests.CheckSqliteRowAsSequencecCsDGdd�dt�}tj|j_|�t|jj|�|�ttj|�d�dS)Nc@seZdZejZdS)z8RowFactoryTests.CheckFakeCursorClass.<locals>.FakeCursorN)rrrrr�	__class__rrrr
�
FakeCursor�sr\r)�strrrDr!rr0r1r)r	r\rrr
�CheckFakeCursorClass�s
z$RowFactoryTests.CheckFakeCursorClasscCs|j��dSrr$r"rrr
r&�szRowFactoryTests.tearDownN)rrrr#r;rGrJrMrOrSrTrXrZr^r&rrrr
r8Zs	"	
r8c@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�TextFactoryTestscCst�d�|_dSr*r+r"rrr
r#�szTextFactoryTests.setUpcCs2d}|j�d|f���}|�t|d�td�dS)N�Österreich�select ?r�type of row[0] must be unicode)r!r4r5rE�typer]�r	�austriarrrr
�CheckUnicode�szTextFactoryTests.CheckUnicodecCsRt|j_d}|j�d|f���}|�t|d�td�|�|d|�d�d�dS)Nr`rarztype of row[0] must be bytes�utf-8z(column must equal original data in UTF-8)�bytesr!�text_factoryr4r5rErc�encoderdrrr
�CheckString�s
zTextFactoryTests.CheckStringcCsTdd�|j_d}|j�d|f���}|�t|d�td�|�|d�d�d�dS)	NcSst|dd�S)Nrg�ignore)r]��xrrr
r-�r.z.TextFactoryTests.CheckCustom.<locals>.<lambda>r`rarrbZreichz!column must contain original data)	r!rir4r5rErcr]rU�endswithrdrrr
�CheckCustom�s
zTextFactoryTests.CheckCustomcCsjtj|j_d}d}|j�d|f���}|j�d|f���}|�t|d�td�|�t|d�td�dS)Nr`Z
Deutchlandrarz!type of non-ASCII row must be strz"type of ASCII-only row must be str)	rZOptimizedUnicoder!rir4r5rErcr])r	reZgermanyZa_rowZd_rowrrr
�CheckOptimizedUnicodes
z&TextFactoryTests.CheckOptimizedUnicodecCs|j��dSrr$r"rrr
r&szTextFactoryTests.tearDownN)	rrrr#rfrkrprqr&rrrr
r_�sr_c@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�%TextFactoryTestsWithEmbeddedZeroBytescCs*t�d�|_|j�d�|j�dd�dS)Nrzcreate table test (value text)z#insert into test (value) values (?))�ab)rr r!r4r"rrr
r#sz+TextFactoryTestsWithEmbeddedZeroBytes.setUpcCs8|j�d���}|�t|d�t�|�|dd�dS)N�select value from testrrs)r!r4r5�assertIsrcr]rEr:rrr
rksz1TextFactoryTestsWithEmbeddedZeroBytes.CheckStringcCs@t|j_|j�d���}|�t|d�t�|�|dd�dS�Nrtr�ab)rhr!rir4r5rurcrEr:rrr
�
CheckBytessz0TextFactoryTestsWithEmbeddedZeroBytes.CheckBytescCs@t|j_|j�d���}|�t|d�t�|�|dd�dSrv)�	bytearrayr!rir4r5rurcrEr:rrr
�CheckBytearray sz4TextFactoryTestsWithEmbeddedZeroBytes.CheckBytearraycCsDdd�|j_|j�d���}|�t|d�t�|�|dd�dS)NcSs|Srrrmrrr
r-(r.zCTextFactoryTestsWithEmbeddedZeroBytes.CheckCustom.<locals>.<lambda>rtrrw)r!rir4r5rurcrhrEr:rrr
rp&sz1TextFactoryTestsWithEmbeddedZeroBytes.CheckCustomcCs|j��dSrr$r"rrr
r&-sz.TextFactoryTestsWithEmbeddedZeroBytes.tearDownN)	rrrr#rkrxrzrpr&rrrr
rrsrrcCs^t�td�}t�td�}t�td�}t�td�}t�td�}t�td�}t�||||||f�S)NZCheck)	�unittestZ	makeSuiterr)r3r8r_rrZ	TestSuite)Zconnection_suiteZcursor_suiteZrow_suite_compatZ	row_suiteZ
text_suiteZtext_zero_bytes_suiterrr
�suite0sr|cCst��}|�t��dSr)r{ZTextTestRunner�runr|)Zrunnerrrr
�test9sr~�__main__)r{Zsqlite3rZcollections.abcrrrrrrZTestCaserr)r3r8r_rrr|r~rrrrr
�<module>s 
%"