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.10/sqlite3/test/__pycache__/factory.cpython-310.pyc
o

�i=0�@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�Zedkrke�dSdS)�N)�Sequencec@�eZdZdd�ZdS)�MyConnectioncOstjj|g|�Ri|��dS�N)�sqlite�
Connection�__init__��self�args�kwargs�r
�1/usr/local/lib/python3.10/sqlite3/test/factory.pyrszMyConnection.__init__N��__name__�
__module__�__qualname__rr
r
r
rr�rcCs,i}t|j�D]\}}||||d<q|S)Nr)�	enumerate�description)�cursor�row�d�idx�colr
r
r�dict_factorysrc@r)�MyCursorcOs$tjj|g|�Ri|��t|_dSr)r�Cursorrr�row_factoryr	r
r
rr&s
zMyCursor.__init__Nrr
r
r
rr%rrc@�$eZdZdd�Zdd�Zdd�ZdS)�ConnectionFactoryTestscCstjdtd�|_dS)N�:memory:��factory)r�connectr�con�r
r
r
r�setUp+szConnectionFactoryTests.setUpcC�|j��dSr�r%�closer&r
r
r�tearDown.�zConnectionFactoryTests.tearDowncCs|�|jt�dSr)�assertIsInstancer%rr&r
r
r�test_is_instance1sz'ConnectionFactoryTests.test_is_instanceN)rrrr'r+r.r
r
r
rr *sr c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�CursorFactoryTestscC�t�d�|_dS�Nr!�rr$r%r&r
r
rr'5�zCursorFactoryTests.setUpcCr(rr)r&r
r
rr+8r,zCursorFactoryTests.tearDowncCsR|j��}|�|tj�|j�t�}|�|t�|jjdd�d�}|�|t�dS)NcSst|�Sr)r�r%r
r
r�<lambda>@�z5CursorFactoryTests.test_is_instance.<locals>.<lambda>r")r%rr-rrr)r
�curr
r
rr.;s
z#CursorFactoryTests.test_is_instancecCsB|�t|jjd�|�t|jjdd��|�t|jjdd��dS)NcS�dSrr
r
r
r
rr5G�z9CursorFactoryTests.test_invalid_factory.<locals>.<lambda>cSr8rr
r4r
r
rr5Ir9)�assertRaises�	TypeErrorr%rr&r
r
r�test_invalid_factoryCsz'CursorFactoryTests.test_invalid_factoryN)rrrr'r+r.r<r
r
r
rr/4s
r/c@r)�RowFactoryTestsBackwardsCompatcCr0r1r2r&r
r
rr'Lr3z$RowFactoryTestsBackwardsCompat.setUpcCs8|jjtd�}|�d�|��}|�|t�|��dS)Nr"zselect 4+5 as foo)r%rr�execute�fetchoner-�dictr*)r
r7rr
r
r�test_is_produced_by_factoryOs

z:RowFactoryTestsBackwardsCompat.test_is_produced_by_factorycCr(rr)r&r
r
rr+Vr,z'RowFactoryTestsBackwardsCompat.tearDownN)rrrr'rAr+r
r
r
rr=Ksr=c@sleZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZdS)�RowFactoryTestscCr0r1r2r&r
r
rr'Zr3zRowFactoryTests.setUpcCs,dd�|j_|j�d���}|�|t�dS)NcSst|�Sr)�list)r7rr
r
rr5^r6z5RowFactoryTests.test_custom_factory.<locals>.<lambda>zselect 1, 2)r%rr>r?r-rC�r
rr
r
r�test_custom_factory]sz#RowFactoryTests.test_custom_factorycCs�tj|j_|j�d���}|�|tj�|�|ddd�|�|ddd�|�|ddd	�|�|d
dd�|�|ddd
�|�|ddd�|�|ddd�|�|ddd�|�t	��|dWd�n1spwY|�t	��|dWd�n1s�wY|�t	��|dWd�n1s�wY|�t	��|dWd�n1s�wY|�t	��|dWd�n1s�wY|�t	��|ddWd�dS1s�wYdS)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%rr>r?r-�assertEqualr:�
IndexErrorrDr
r
r�test_sqlite_row_indexbs:

�
�
�
�
�"�z%RowFactoryTests.test_sqlite_row_indexcCs�tj|j_|j�d���}|�|dd�|�t��|dWd�n1s)wY|�t��
|dWd�dS1sCwYdS)Nuselect 1 as ÿ�ÿrFuŸ�ß)	rrNr%rr>r?rOr:rPrDr
r
r�test_sqlite_row_index_unicodes

�
"�z-RowFactoryTests.test_sqlite_row_index_unicodecCs�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
rF)rF�)rHrU)rHrU�)rFrHrUrKrJ)rU)rUrVrVrH)rFrU)rVrH�rrNr%rr>r?rOrDr
r
r�test_sqlite_row_slice�s
z%RowFactoryTests.test_sqlite_row_slicecCsZtj|j_|j�d���}dd�|D�}|�|ddg�dd�|D�}|�|ddg�dS)z$Checks if the row object is iterable�select 1 as a, 2 as bcS�g|]}|�qSr
r
��.0rr
r
r�
<listcomp>��z8RowFactoryTests.test_sqlite_row_iter.<locals>.<listcomp>rFrHcSrZr
r
r[r
r
rr]�r^NrW)r
r�itemsr
r
r�test_sqlite_row_iter�s
z$RowFactoryTests.test_sqlite_row_itercCs>tj|j_|j�d���}t|�}|�||d|df�dS)z4Checks if the row object can be converted to a tuplerY�arGN)rrNr%rr>r?�tuplerO)r
r�tr
r
r�test_sqlite_row_as_tuple�s
z(RowFactoryTests.test_sqlite_row_as_tuplecCsNtj|j_|j�d���}t|�}|�|d|d�|�|d|d�dS)zCChecks if the row object can be correctly converted to a dictionaryrYrarGN)rrNr%rr>r?r@rO)r
rrr
r
r�test_sqlite_row_as_dict�s

z'RowFactoryTests.test_sqlite_row_as_dictcCs�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
��||kWd�n1s�wY|�	t
��||kWd�n1s�wY|�	t
��||kWd�n1s�wY|�	t
��||kWd�n1s�wY|�t|�t|��dS)z6Checks if the row object compares and hashes correctlyrYzselect 1 as a, 3 as bzselect 1 as b, 2 as azselect 2 as b, 1 as aN)
rrNr%rr>r?�
assertTrueZassertFalse�objectr:r;rO�hash)r
Zrow_1Zrow_2Zrow_3Zrow_4Zrow_5r
r
r�test_sqlite_row_hash_cmp�s>

�
�
�
�z(RowFactoryTests.test_sqlite_row_hash_cmpcCsNtj|j_|j�d���}t|�}|�tt	|��tt	|���|�
|t�dS)z2 Checks if the row object can act like a sequence rYN)rrNr%rr>r?rbrOrC�reversedr-r)r
rZas_tupler
r
r�test_sqlite_row_as_sequence�s

z+RowFactoryTests.test_sqlite_row_as_sequencecCsDGdd�dt�}tj|j_|�t|jj|�|�ttj|�d�dS)Nc@seZdZejZdS)z:RowFactoryTests.test_fake_cursor_class.<locals>.FakeCursorN)rrrrr�	__class__r
r
r
r�
FakeCursor�s
rmr
)�strrrNr%rr:r;r)r
rmr
r
r�test_fake_cursor_class�s
z&RowFactoryTests.test_fake_cursor_classcCr(rr)r&r
r
rr+�r,zRowFactoryTests.tearDownN)rrrr'rErQrTrXr`rdrerirkror+r
r
r
rrBYs	
"	
rBc@�<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�TextFactoryTestscCr0r1r2r&r
r
rr'�r3zTextFactoryTests.setUpcCs2d}|j�d|f���}|�t|d�td�dS)N�Österreich�select ?r�type of row[0] must be unicode)r%r>r?rO�typern�r
�austriarr
r
r�test_unicode�szTextFactoryTests.test_unicodecCsRt|j_d}|j�d|f���}|�t|d�td�|�|d|�d�d�dS)Nrrrsrztype of row[0] must be bytes�utf-8z(column must equal original data in UTF-8)�bytesr%�text_factoryr>r?rOru�encodervr
r
r�test_string�s
zTextFactoryTests.test_stringcCsTdd�|j_d}|j�d|f���}|�t|d�td�|�|d�d�d�dS)	NcSst|dd�S)Nry�ignore)rn��xr
r
rr5�sz.TextFactoryTests.test_custom.<locals>.<lambda>rrrsrrtZreichz!column must contain original data)	r%r{r>r?rOrurnrf�endswithrvr
r
r�test_custom�s
zTextFactoryTests.test_customcCs�|�t��
}tj|j_Wd�n1swY|�d|j�d}d}|j�d|f��	�}|j�d|f��	�}|�
t|d�td�|�
t|d�td�dS)Nz
factory.pyrrZ
Deutchlandrsrz!type of non-ASCII row must be strz"type of ASCII-only row must be str)
ZassertWarns�DeprecationWarningrZOptimizedUnicoder%r{ZassertIn�filenamer>r?rOrurn)r
�cmrwZgermanyZa_rowZd_rowr
r
r�test_optimized_unicodes�z'TextFactoryTests.test_optimized_unicodecCr(rr)r&r
r
rr+r,zTextFactoryTests.tearDownN)	rrrr'rxr}r�r�r+r
r
r
rrq�srqc@rp)�%TextFactoryTestsWithEmbeddedZeroBytescCs*t�d�|_|j�d�|j�dd�dS)Nr!zcreate table test (value text)z#insert into test (value) values (?))�ab)rr$r%r>r&r
r
rr'sz+TextFactoryTestsWithEmbeddedZeroBytes.setUpcCs8|j�d���}|�t|d�t�|�|dd�dS)N�select value from testrr�)r%r>r?�assertIsrurnrOrDr
r
rr}sz1TextFactoryTestsWithEmbeddedZeroBytes.test_stringcC�@t|j_|j�d���}|�t|d�t�|�|dd�dS�Nr�r�ab)rzr%r{r>r?r�rurOrDr
r
r�
test_bytes �z0TextFactoryTestsWithEmbeddedZeroBytes.test_bytescCr�r�)�	bytearrayr%r{r>r?r�rurOrDr
r
r�test_bytearray&r�z4TextFactoryTestsWithEmbeddedZeroBytes.test_bytearraycCsDdd�|j_|j�d���}|�t|d�t�|�|dd�dS)NcSs|Srr
rr
r
rr5.r9zCTextFactoryTestsWithEmbeddedZeroBytes.test_custom.<locals>.<lambda>r�rr�)r%r{r>r?r�rurzrOrDr
r
rr�,sz1TextFactoryTestsWithEmbeddedZeroBytes.test_customcCr(rr)r&r
r
rr+3r,z.TextFactoryTestsWithEmbeddedZeroBytes.tearDownN)	rrrr'r}r�r�r�r+r
r
r
rr�sr�cCs$ttttttg}t�dd�|D��S)NcSsg|]	}t���|��qSr
)�unittestZ
TestLoaderZloadTestsFromTestCase)r\rcr
r
rr]@szsuite.<locals>.<listcomp>)r r/rBr=rqr�r�Z	TestSuite)Ztestsr
r
r�suite6s��r�cCst��}|�t��dSr)r�ZTextTestRunner�runr�)Zrunnerr
r
r�testCsr��__main__)r�Zsqlite3r�collections.abcrrrrrrZTestCaser r/r=rBrqr�r�r�rr
r
r
r�<module>s$
&"

�