HEX
Server: Apache
System: Linux bd12.noc223.com 4.18.0-553.121.1.lve.el8.x86_64 #1 SMP Thu Apr 30 16:40:41 UTC 2026 x86_64
User: handcraf (1693)
PHP: 8.1.28
Disabled: NONE
Upload Files
File: //opt/alt/python312/lib64/python3.12/test/test_sqlite3/__pycache__/test_factory.cpython-312.pyc
�

h�e0��z�ddlZddlZddlmZd�ZGd�dej�ZGd�dej�Z	Gd�d	ej�Z
Gd
�dej�ZGd�d
ej�ZGd�dej�Z
Gd�dej�Zedk(rej �yy)�N)�Sequencec�Z�i}t|j�D]\}}||||d<�|S)Nr)�	enumerate�description)�cursor�row�d�idx�cols     �E/opt/alt/python312/lib64/python3.12/test/test_sqlite3/test_factory.py�dict_factoryr
s;��
�A��f�0�0�1����S���H��#�a�&�	���H�c��eZdZd�Zy)�MyCursorc�`�tjj|g|��i|��t|_y�N)�sqlite�Cursor�__init__r
�row_factory��self�args�kwargss   rrzMyCursor.__init__#s&���
�
���t�5�d�5�f�5�'��rN��__name__�
__module__�__qualname__r�rrrr"s��(rrc��eZdZd�Zd�Zd�Zy)�ConnectionFactoryTestsc��Gd�dtj�}Gd�dtj�}||fD]F}|j|��5tjd|��}|j	||�ddd��Hy#1swY�SxYw)Nc��eZdZd�Zy)�GConnectionFactoryTests.test_connection_factories.<locals>.DefectFactoryc��yrrrs   rrzPConnectionFactoryTests.test_connection_factories.<locals>.DefectFactory.__init__*s��rNrrrr�
DefectFactoryr$)s��
rr&c��eZdZd�Zy)�CConnectionFactoryTests.test_connection_factories.<locals>.OkFactoryc�J�tjj|g|��i|��yr)r�
Connectionrrs   rrzLConnectionFactoryTests.test_connection_factories.<locals>.OkFactory.__init__-s ���!�!�*�*�4�A�$�A�&�ArNrrrr�	OkFactoryr(,s��
Brr+��factory�:memory:)rr*�subTest�connect�assertIsInstance)rr&r+r-�cons     r�test_connection_factoriesz0ConnectionFactoryTests.test_connection_factories(s���	�F�-�-�	�	B��)�)�	B�%�i�/�	4�G����g��.�
4��n�n�Z��A���%�%�c�7�3�
4�
4�	4�
4�
4�s�*B�B
	c����G�fd�dtj��tjd���}|j|j�|j|��y)Nc�"���eZdZ��fd�Z�xZS)�LConnectionFactoryTests.test_connection_factory_relayed_call.<locals>.Factoryc�.��d|d<t�|�|i|��y)N�isolation_level��superr�rrr�Factory�	__class__s   ��rrzUConnectionFactoryTests.test_connection_factory_relayed_call.<locals>.Factory.__init__8s"���,0��(�)��g�t�-�t�>�v�>r�rrrr�
__classcell__�r=r<s@�rr<r67s
���
?�
?rr<r.r,�rr*r0�assertIsNoner8r1�rr2r<s  @r�$test_connection_factory_relayed_callz;ConnectionFactoryTests.test_connection_factory_relayed_call5sK���	?�f�'�'�	?�
�n�n�Z��9�����#�-�-�.����c�7�+rc����G�fd�dtj��tjddddd��}|j|j�|j|��y)Nc�"���eZdZ��fd�Z�xZS)�QConnectionFactoryTests.test_connection_factory_as_positional_arg.<locals>.Factoryc�$��t�|�|i|��yrr9r;s   ��rrzZConnectionFactoryTests.test_connection_factory_as_positional_arg.<locals>.Factory.__init__Bs����g�t�-�t�>�v�>rr>r@s@�rr<rGAs
���
?�
?rr<r.g@rTrArCs  @r�)test_connection_factory_as_positional_argz@ConnectionFactoryTests.test_connection_factory_as_positional_arg@sS���	?�f�'�'�	?��n�n�Z��a��t�W�E�����#�-�-�.����c�7�+rN)rrrr3rDrIrrrr!r!'s��4�	,�,rr!c�$�eZdZd�Zd�Zd�Zd�Zy)�CursorFactoryTestsc�8�tjd�|_y�Nr.�rr0r2�rs r�setUpzCursorFactoryTests.setUpK����>�>�*�-��rc�8�|jj�yr�r2�closerOs r�tearDownzCursorFactoryTests.tearDownN��������rc�H�|jj�}|j|tj�|jjt
�}|j|t
�|jjd���}|j|t
�y)Nc��t|�Sr)r�r2s r�<lambda>z5CursorFactoryTests.test_is_instance.<locals>.<lambda>Vs
��(�3�-�rr,)r2rr1rrr)r�curs  r�test_is_instancez#CursorFactoryTests.test_is_instanceQsm���h�h�o�o������c�6�=�=�1��h�h�o�o�h�'�����c�8�,��h�h�o�o�&?�o�@�����c�8�,rc�
�|jt|jjd�|jt|jjd��|jt|jjd��y)Nc��yrrrrrrZz9CursorFactoryTests.test_invalid_factory.<locals>.<lambda>]��rc��yrrrYs rrZz9CursorFactoryTests.test_invalid_factory.<locals>.<lambda>_r_r)�assertRaises�	TypeErrorr2rrOs r�test_invalid_factoryz'CursorFactoryTests.test_invalid_factoryYsQ�����)�T�X�X�_�_�d�;����)�T�X�X�_�_�l�C����)�T�X�X�_�_�6F�GrN)rrrrPrUr\rcrrrrKrKJs��.��-�HrrKc��eZdZd�Zd�Zd�Zy)�RowFactoryTestsBackwardsCompatc�8�tjd�|_yrMrNrOs rrPz$RowFactoryTestsBackwardsCompat.setUpbrQrc���|jjt��}|jd�|j	�}|j|t�|j�y)Nr,zselect 4+5 as foo)r2rr�execute�fetchoner1�dictrT)rr[rs   r�test_is_produced_by_factoryz:RowFactoryTestsBackwardsCompat.test_is_produced_by_factoryesG���h�h�o�o�h�o�/�����'�(��l�l�n�����c�4�(��	�	�rc�8�|jj�yrrSrOs rrUz'RowFactoryTestsBackwardsCompat.tearDownlrVrN)rrrrPrkrUrrrrereas��.��rrec�Z�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zy)�RowFactoryTestsc�v�tjd�|_tj|j_yrM)rr0r2�RowrrOs rrPzRowFactoryTests.setUpps"���>�>�*�-���%�z�z����rc��d�|j_|jjd�j�}|j	|t
�y)Nc��t|�Sr)�list)r[rs  rrZz5RowFactoryTests.test_custom_factory.<locals>.<lambda>us
���S�	�rzselect 1, 2)r2rrhrir1rs�rrs  r�test_custom_factoryz#RowFactoryTests.test_custom_factoryts;��9������h�h���}�-�6�6�8�����c�4�(rc��|jjd�j�}|j|tj
�|j
|ddd�|j
|ddd�|j
|ddd	�|j
|d
dd�|j
|ddd
�|j
|ddd�|j
|ddd�|j
|ddd�|jt�5|dddd�|jt�5|dddd�|jt�5|dddd�|jt�5|dddd�|jt�5|dddd�|jt�5|ddzddd�|jt�5|t�ddd�y#1swY��xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY�qxYw#1swYyxYw)Nzselect 1 as a_1, 2 as b�a_1�z&by name: wrong result for column 'a_1'�b�z$by name: wrong result for column 'b'�A_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�)
r2rhrir1rrp�assertEqualra�
IndexError�complexrts  r�test_sqlite_row_indexz%RowFactoryTests.test_sqlite_row_indexys���h�h���8�9�B�B�D�����c�6�:�:�.�����U��Q�(P�Q�����S��1�&L�M�����U��Q�(P�Q�����S��1�&L�M�����Q���$I�J�����Q���$I�J�����R��!�%K�L�����R��!�%K�L�
�
�
�z�
*�	���H�	�
�
�
�z�
*�	���M�	�
�
�
�z�
*�	���M�	�
�
�
�z�
*�	���F�	�
�
�
�z�
*�	���G�	�
�
�
�z�
*�	���4��L�	�
�
�
�z�
*�	���	�N�	�	�	�	��	�	��	�	��	�	��	�	��	�	��	�	�sT�G;�2H�H�8H�H+�>	H7�$I�;H�H�H�H(�+H4�7I�Ic�<�|jjd�j�}|j|dd�|j	t
�5|dddd�|j	t
�5|dddd�y#1swY�-xYw#1swYyxYw)Nuselect 1 as ÿ�ÿrxuŸ�ß)r2rhrir�rar�rts  r�test_sqlite_row_index_unicodez-RowFactoryTests.test_sqlite_row_index_unicode�s����h�h���1�2�;�;�=������V��a�(�
�
�
�z�
*�	���M�	�
�
�
�z�
*�	���K�	�	�	�	��	�	�s�B�7B�B�Bc��|jjd�j�}|j|ddd�|j|ddd�|j|ddd�|j|ddd�|j|ddd�|j|ddd	�|j|d
dd�|j|d
dd
�|j|ddd�d�|j|ddd
�d�y)Nzselect 1, 2, 3, 4rrrx)rx�)rzr�)rzr��)rxrzr�r~r})r�)r�r�r�rz)rxr�)r�rz�r2rhrir�rts  r�test_sqlite_row_slicez%RowFactoryTests.test_sqlite_row_slice�s���h�h���2�3�<�<�>������Q�q��2�&�����Q�q��4�(�����Q�q��6�*�����Q�q��2�&�����Q�R��)�,�����R�a��)�,�����R���T�*�����R�S��6�*�����Q�q��U��V�,�����Q�q��V��f�-rc��|jjd�j�}|D�cgc]}|��}}|j|ddg�|D�cgc]}|��}}|j|ddg�ycc}wcc}w)N�select 1 as a, 2 as brxrzr�)rrr�itemss    r�test_sqlite_row_iterz$RowFactoryTests.test_sqlite_row_iter�s|���h�h���6�7�@�@�B��!$�$���$��$������A��'�!$�$���$��$������A��'��%��%s�	A1�	A6c��|jjd�j�}t|�}|j	||d|df�y�Nr��ary)r2rhri�tupler�)rr�ts   r�test_sqlite_row_as_tuplez(RowFactoryTests.test_sqlite_row_as_tuple�sF���h�h���6�7�@�@�B���#�J������S��X�s�3�x�0�1rc���|jjd�j�}t|�}|j	|d|d�|j	|d|d�yr�)r2rhrirjr�)rrr	s   r�test_sqlite_row_as_dictz'RowFactoryTests.test_sqlite_row_as_dict�sY���h�h���6�7�@�@�B����I������3���S��*�����3���S��*rc�^�|jjd�j�}|jjd�j�}|jjd�j�}|jjd�j�}|jjd�j�}|j||k(�|j||k(�|j	||k(�|j	||k(�|j	||k(�|j	|t�k(�|j	||k7�|j	||k7�|j||k7�|j||k7�|j||k7�|j|t�k7�|j
t�5||kDddd�|j
t�5||kddd�|j
t�5||k\ddd�|j
t�5||kddd�|jt|�t|��y#1swY��xYw#1swY��xYw#1swY�ixYw#1swY�RxYw)Nr�zselect 1 as a, 3 as bzselect 1 as b, 2 as azselect 2 as b, 1 as a)
r2rhri�
assertTrue�assertFalse�objectrarbr��hash)r�row_1�row_2�row_3�row_4�row_5s      r�test_sqlite_row_hash_cmpz(RowFactoryTests.test_sqlite_row_hash_cmp�s,����� � �!8�9�B�B�D����� � �!8�9�B�B�D����� � �!8�9�B�B�D����� � �!8�9�B�B�D����� � �!8�9�B�B�D��������'�������'�����%��(�����%��(�����%��(�����&�(�*�+�����%��(�����%��(�������'�������'�������'�������)�*�
�
�
�y�
)�	��E�M�	�
�
�
�y�
)�	��E�M�	�
�
�
�y�
)�	��U�N�	�
�
�
�y�
)�	��U�N�	�	
����e��d�5�k�2�	�	��	�	��	�	��	�	�s0�#I?�J�)J�J#�?J�J�J �#J,c��|jjd�j�}t|�}|j	tt
|��tt
|���|j|t�y)Nr�)	r2rhrir�r�rs�reversedr1r)rr�as_tuples   r�test_sqlite_row_as_sequencez+RowFactoryTests.test_sqlite_row_as_sequence�s\���h�h���6�7�@�@�B����:������h�s�m�,�d�8�H�3E�.F�G����c�8�,rc��|jjd�j�}|j|j	�ddg�yr�)r2rhrir��keysrts  r�test_sqlite_row_keysz$RowFactoryTests.test_sqlite_row_keys�s:���h�h���6�7�@�@�B���������c�3�Z�0rc���Gd�dt�}|jt|jj|�|jtt
j|�d�y)Nc�$�eZdZejZy)�:RowFactoryTests.test_fake_cursor_class.<locals>.FakeCursorN)rrrrrr=rrr�
FakeCursorr��s���
�
�Irr�r)�strrarbr2rrrp)rr�s  r�test_fake_cursor_classz&RowFactoryTests.test_fake_cursor_class�sB��	&��	&����)�T�X�X�_�_�j�A����)�V�Z�Z���r�Brc�8�|jj�yrrSrOs rrUzRowFactoryTests.tearDownrVrN)rrrrPrur�r�r�r�r�r�r�r�r�r�rUrrrrnrnosE��*�)�
�<�.�"
(�2�+�3�B-�1�
C�rrnc�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�TextFactoryTestsc�8�tjd�|_yrMrNrOs rrPzTextFactoryTests.setUprQrc��d}|jjd|f�j�}|jt	|d�t
d�y)N�Österreich�select ?r�type of row[0] must be unicode)r2rhrir��typer��r�austriars   r�test_unicodezTextFactoryTests.test_unicodesC�����h�h���z�G�:�6�?�?�A������c�!�f��s�,L�Mrc��t|j_d}|jjd|f�j	�}|jt
|d�td�|j|d|jd�d�y)Nr�r�rztype of row[0] must be bytes�utf-8z(column must equal original data in UTF-8)�bytesr2�text_factoryrhrir�r��encoder�s   r�test_stringzTextFactoryTests.test_stringso�� %��������h�h���z�G�:�6�?�?�A������c�!�f��u�.L�M�����Q������!8�:d�erc��d�|j_d}|jjd|f�j�}|j	t|d�td�|j|djd�d�y)Nc��t|dd�S)Nr��ignore)r���xs rrZz.TextFactoryTests.test_custom.<locals>.<lambda>s��#�a��(�*C�rr�r�rr��reichz!column must contain original data)	r2r�rhrir�r�r�r��endswithr�s   r�test_customzTextFactoryTests.test_customsk�� C��������h�h���z�G�:�6�?�?�A������c�!�f��s�,L�M�����A�����0�2U�Vrc�8�|jj�yrrSrOs rrUzTextFactoryTests.tearDownrVrN)rrrrPr�r�r�rUrrrr�r�s��.�N�
f�W�rr�c�0�eZdZd�Zd�Zd�Zd�Zd�Zd�Zy)�%TextFactoryTestsWithEmbeddedZeroBytesc��tjd�|_|jjd�|jjdd�y)Nr.zcreate table test (value text)z#insert into test (value) values (?))�ab)rr0r2rhrOs rrPz+TextFactoryTestsWithEmbeddedZeroBytes.setUps:���>�>�*�-��������9�:������>��Lrc���|jjd�j�}|jt	|d�t
�|j
|dd�y)N�select value from testrr�)r2rhri�assertIsr�r�r�rts  rr�z1TextFactoryTestsWithEmbeddedZeroBytes.test_string#sJ���h�h���7�8�A�A�C���
�
�d�3�q�6�l�C�(�����Q���*rc���t|j_|jjd�j	�}|jt
|d�t�|j|dd�y�Nr�r�ab)r�r2r�rhrir�r�r�rts  r�
test_bytesz0TextFactoryTestsWithEmbeddedZeroBytes.test_bytes)sV�� %������h�h���7�8�A�A�C���
�
�d�3�q�6�l�E�*�����Q���+rc���t|j_|jjd�j	�}|jt
|d�t�|j|dd�yr�)�	bytearrayr2r�rhrir�r�r�rts  r�test_bytearrayz4TextFactoryTestsWithEmbeddedZeroBytes.test_bytearray/sV�� )������h�h���7�8�A�A�C���
�
�d�3�q�6�l�I�.�����Q���+rc���d�|j_|jjd�j�}|j	t|d�t�|j|dd�y)Nc��|Srrr�s rrZzCTextFactoryTestsWithEmbeddedZeroBytes.test_custom.<locals>.<lambda>7s��!�rr�rr�)r2r�rhrir�r�r�r�rts  rr�z1TextFactoryTestsWithEmbeddedZeroBytes.test_custom5sV�� +������h�h���7�8�A�A�C���
�
�d�3�q�6�l�E�*�����Q���+rc�8�|jj�yrrSrOs rrUz.TextFactoryTestsWithEmbeddedZeroBytes.tearDown<rVrN)	rrrrPr�r�r�r�rUrrrr�r�s!��M�
+�,�,�,�rr��__main__)�unittest�sqlite3r�collections.abcrr
rr�TestCaser!rKrernr�r�r�mainrrr�<module>r�s���.��$�
�(�v�}�}�(�
 ,�X�.�.� ,�FH��*�*�H�.�X�%6�%6��R�h�'�'�R�h�x�(�(��4 �H�,=�,=� �F�z���H�M�M�O�r