HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.7/sqlite3/test/__pycache__/factory.cpython-37.opt-1.pyc
B

��g0�@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
�0/usr/local/lib/python3.7/sqlite3/test/factory.pyrszMyConnection.__init__N)�__name__�
__module__�__qualname__rr
r
r
rrsrcCs0i}x&t|j�D]\}}||||d<qW|S)Nr)�	enumerate�description)�cursor�row�d�idx�colr
r
r�dict_factory src@seZdZdd�ZdS)�MyCursorcOstjj|f|�|�t|_dS)N)r�Cursorrr�row_factory)rrr	r
r
rr'szMyCursor.__init__N)rr
rrr
r
r
rr&src@s$eZdZdd�Zdd�Zdd�ZdS)�ConnectionFactoryTestscCstjdtd�|_dS)Nz:memory:)�factory)r�connectr�con)rr
r
r�setUp,szConnectionFactoryTests.setUpcCs|j��dS)N)r�close)rr
r
r�tearDown/szConnectionFactoryTests.tearDowncCs|�|jt�dS)N)�assertIsInstancerr)rr
r
r�CheckIsInstance2sz&ConnectionFactoryTests.CheckIsInstanceN)rr
rrr r"r
r
r
rr+src@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�CursorFactoryTestscCst�d�|_dS)Nz:memory:)rrr)rr
r
rr6szCursorFactoryTests.setUpcCs|j��dS)N)rr)rr
r
rr 9szCursorFactoryTests.tearDowncCsR|j��}|�|tj�|j�t�}|�|t�|jjdd�d�}|�|t�dS)NcSst|�S)N)r)rr
r
r�<lambda>A�z4CursorFactoryTests.CheckIsInstance.<locals>.<lambda>)r)rrr!rrr)r�curr
r
rr"<s
z"CursorFactoryTests.CheckIsInstancecCsB|�t|jjd�|�t|jjdd��|�t|jjdd��dS)NcSsdS)Nr
r
r
r
rr$Hr%z8CursorFactoryTests.CheckInvalidFactory.<locals>.<lambda>cSsdS)Nr
)rr
r
rr$Jr%)�assertRaises�	TypeErrorrr)rr
r
r�CheckInvalidFactoryDsz&CursorFactoryTests.CheckInvalidFactoryN)rr
rrr r"r)r
r
r
rr#5sr#c@s$eZdZdd�Zdd�Zdd�ZdS)�RowFactoryTestsBackwardsCompatcCst�d�|_dS)Nz:memory:)rrr)rr
r
rrMsz$RowFactoryTestsBackwardsCompat.setUpcCs8|jjtd�}|�d�|��}|�|t�|��dS)N)rzselect 4+5 as foo)rrr�execute�fetchoner!�dictr)rr&rr
r
r�CheckIsProducedByFactoryPs

z7RowFactoryTestsBackwardsCompat.CheckIsProducedByFactorycCs|j��dS)N)rr)rr
r
rr Wsz'RowFactoryTestsBackwardsCompat.tearDownN)rr
rrr.r r
r
r
rr*Lsr*c@sleZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZdS)�RowFactoryTestscCst�d�|_dS)Nz:memory:)rrr)rr
r
rr[szRowFactoryTests.setUpcCs,dd�|j_|j�d���}|�|t�dS)NcSst|�S)N)�list)r&rr
r
rr$_r%z4RowFactoryTests.CheckCustomFactory.<locals>.<lambda>zselect 1, 2)rrr+r,r!r0)rrr
r
r�CheckCustomFactory^sz"RowFactoryTests.CheckCustomFactoryc	Csttj|j_|j�d���}|�|tj�|�|ddd�|�|ddd�|�|ddd	�|�|d
dd�|�|ddd
�|�|ddd�|�|ddd�|�|ddd�|�t	��|dWdQRX|�t	��|dWdQRX|�t	��|dWdQRX|�t	��|dWdQRX|�t	��|dWdQRX|�t	��|ddWdQRXdS)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�Rowrrr+r,r!�assertEqualr'�
IndexError)rrr
r
r�CheckSqliteRowIndexcs.
z#RowFactoryTests.CheckSqliteRowIndexc	Csjtj|j_|j�d���}|�|dd�|�t��|dWdQRX|�t��|dWdQRXdS)Nuselect 1 as ÿ�ÿr2uŸ�ß)	rr:rrr+r,r;r'r<)rrr
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
r2)r2�)r4rA)r4rA�)r2r4rAr7r6)rA)rArBrBr4)r2rA)rBr4)rr:rrr+r,r;)rrr
r
r�CheckSqliteRowSlice�s
z#RowFactoryTests.CheckSqliteRowSlicecCs,tj|j_|j�d���}x|D]}q WdS)z$Checks if the row object is iterablezselect 1 as a, 2 as bN)rr:rrr+r,)rrrr
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 tuplezselect 1 as a, 2 as b�ar3N)rr:rrr+r,�tupler;)rr�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 dictionaryzselect 1 as a, 2 as brEr3N)rr:rrr+r,r-r;)rrrr
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
��||kWdQRX|�	t
��||kWdQRX|�	t
��||kWdQRX|�	t
��||kWdQRX|�t|�t|��dS)z6Checks if the row object compares and hashes correctlyzselect 1 as a, 2 as bzselect 1 as a, 3 as bzselect 1 as b, 2 as azselect 2 as b, 1 as aN)
rr:rrr+r,�
assertTrueZassertFalse�objectr'r(r;�hash)rZrow_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 zselect 1 as a, 2 as bN)rr:rrr+r,rFr;r0�reversedr!r)rrZas_tupler
r
r�CheckSqliteRowAsSequence�s

z(RowFactoryTests.CheckSqliteRowAsSequencecCsDGdd�dt�}tj|j_|�t|jj|�|�ttj|�d�dS)Nc@seZdZejZdS)z8RowFactoryTests.CheckFakeCursorClass.<locals>.FakeCursorN)rr
rrr�	__class__r
r
r
r�
FakeCursor�srQr
)�strrr:rrr'r(r)rrQr
r
r�CheckFakeCursorClass�s
z$RowFactoryTests.CheckFakeCursorClasscCs|j��dS)N)rr)rr
r
rr �szRowFactoryTests.tearDownN)rr
rrr1r=r@rCrDrHrIrMrOrSr r
r
r
rr/Zs	"	
r/c@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�TextFactoryTestscCst�d�|_dS)Nz:memory:)rrr)rr
r
rr�szTextFactoryTests.setUpcCs2d}|j�d|f���}|�t|d�td�dS)NuÖsterreichzselect ?rztype of row[0] must be unicode)rr+r,r;�typerR)r�austriarr
r
r�CheckUnicode�szTextFactoryTests.CheckUnicodecCsRt|j_d}|j�d|f���}|�t|d�td�|�|d|�d�d�dS)NuÖsterreichzselect ?rztype of row[0] must be byteszutf-8z(column must equal original data in UTF-8)�bytesr�text_factoryr+r,r;rU�encode)rrVrr
r
r�CheckString�s
zTextFactoryTests.CheckStringcCsTdd�|j_d}|j�d|f���}|�t|d�td�|�|d�d�d�dS)	NcSst|dd�S)Nzutf-8�ignore)rR)�xr
r
rr$�r%z.TextFactoryTests.CheckCustom.<locals>.<lambda>uÖsterreichzselect ?rztype of row[0] must be unicodeZreichz!column must contain original data)	rrYr+r,r;rUrRrJ�endswith)rrVrr
r
r�CheckCustom�s
zTextFactoryTests.CheckCustomcCsjtj|j_d}d}|j�d|f���}|j�d|f���}|�t|d�td�|�t|d�td�dS)NuÖsterreichZ
Deutchlandzselect ?rz!type of non-ASCII row must be strz"type of ASCII-only row must be str)	rZOptimizedUnicoderrYr+r,r;rUrR)rrVZgermanyZa_rowZd_rowr
r
r�CheckOptimizedUnicodes
z&TextFactoryTests.CheckOptimizedUnicodecCs|j��dS)N)rr)rr
r
rr szTextFactoryTests.tearDownN)	rr
rrrWr[r_r`r r
r
r
rrT�srTc@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�%TextFactoryTestsWithEmbeddedZeroBytescCs*t�d�|_|j�d�|j�dd�dS)Nz:memory:zcreate table test (value text)z#insert into test (value) values (?))zab)rrrr+)rr
r
rrsz+TextFactoryTestsWithEmbeddedZeroBytes.setUpcCs8|j�d���}|�t|d�t�|�|dd�dS)Nzselect value from testrzab)rr+r,�assertIsrUrRr;)rrr
r
rr[sz1TextFactoryTestsWithEmbeddedZeroBytes.CheckStringcCs@t|j_|j�d���}|�t|d�t�|�|dd�dS)Nzselect value from testrsab)rXrrYr+r,rbrUr;)rrr
r
r�
CheckBytessz0TextFactoryTestsWithEmbeddedZeroBytes.CheckBytescCs@t|j_|j�d���}|�t|d�t�|�|dd�dS)Nzselect value from testrsab)�	bytearrayrrYr+r,rbrUr;)rrr
r
r�CheckBytearray sz4TextFactoryTestsWithEmbeddedZeroBytes.CheckBytearraycCsDdd�|j_|j�d���}|�t|d�t�|�|dd�dS)NcSs|S)Nr
)r]r
r
rr$(r%zCTextFactoryTestsWithEmbeddedZeroBytes.CheckCustom.<locals>.<lambda>zselect value from testrsab)rrYr+r,rbrUrXr;)rrr
r
rr_&sz1TextFactoryTestsWithEmbeddedZeroBytes.CheckCustomcCs|j��dS)N)rr)rr
r
rr -sz.TextFactoryTestsWithEmbeddedZeroBytes.tearDownN)	rr
rrr[rcrer_r r
r
r
rrasracCs^t�td�}t�td�}t�td�}t�td�}t�td�}t�td�}t�||||||f�S)NZCheck)	�unittestZ	makeSuiterr#r*r/rTraZ	TestSuite)Zconnection_suiteZcursor_suiteZrow_suite_compatZ	row_suiteZ
text_suiteZtext_zero_bytes_suiter
r
r�suite0srgcCst��}|�t��dS)N)rfZTextTestRunner�runrg)Zrunnerr
r
r�test9sri�__main__)rfZsqlite3rZcollections.abcrrrrrrZTestCaserr#r*r/rTrargrirr
r
r
r�<module>s 
%"