HEX
Server: Microsoft-IIS/10.0
System: Windows NT ITPWINWEBSVR22 10.0 build 20348 (Windows Server 2022) AMD64
User: www.conferencesearch.co.uk (0)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: D:/Python311/Lib/test/test_sqlite3/__pycache__/test_factory.cpython-311.pyc
�

��Vc~3��`�ddlZddlZddlmZd�ZGd�dej��ZGd�dej��Z	Gd�d	ej��Z
Gd
�dej��ZGd�d
ej��ZGd�dej��Z
Gd�dej��Zedkrej��dSdS)�N)�Sequencec�`�i}t|j��D]\}}||||d<�|S)Nr)�	enumerate�description)�cursor�row�d�idx�cols     �2D:\Python311\Lib\test\test_sqlite3\test_factory.py�dict_factoryr
s=��
�A��f�0�1�1�����S���H��#�a�&�	�	��H�c��eZdZd�ZdS)�MyCursorc�R�tjj|g|�Ri|��t|_dS�N)�sqlite�Cursor�__init__r
�row_factory��self�args�kwargss   rrzMyCursor.__init__#s3���
��t�5�d�5�5�5�f�5�5�5�'����rN��__name__�
__module__�__qualname__r�rrrr"s#������(�(�(�(�(rrc� �eZdZd�Zd�Zd�ZdS)�ConnectionFactoryTestsc�(�Gd�dtj��}Gd�dtj��}||fD]\}|�|���5tjd|���}|�||��ddd��n#1swxYwY�]dS)Nc��eZdZd�ZdS)�GConnectionFactoryTests.test_connection_factories.<locals>.DefectFactoryc��dSrrrs   rrzPConnectionFactoryTests.test_connection_factories.<locals>.DefectFactory.__init__*s���trNrrrr�
DefectFactoryr$)s#������
�
�
�
�
rr&c��eZdZd�ZdS)�CConnectionFactoryTests.test_connection_factories.<locals>.OkFactoryc�:�tjj|g|�Ri|��dSr)r�
Connectionrrs   rrzLConnectionFactoryTests.test_connection_factories.<locals>.OkFactory.__init__-s,���!�*�4�A�$�A�A�A�&�A�A�A�A�ArNrrrr�	OkFactoryr(,s(������
B�
B�
B�
B�
Brr+��factory�:memory:)rr*�subTest�connect�assertIsInstance)rr&r+r-�cons     r�test_connection_factoriesz0ConnectionFactoryTests.test_connection_factories(s��	�	�	�	�	�F�-�	�	�	�	B�	B�	B�	B�	B��)�	B�	B�	B�%�i�/�	4�	4�G����g��.�.�
4�
4��n�Z��A�A�A���%�%�c�7�3�3�3�
4�
4�
4�
4�
4�
4�
4�
4�
4�
4�
4����
4�
4�
4�
4��	4�	4s�
-B�B
	�
B
	c����G�fd�dtj���tjd����}|�|j��|�|���dS)Nc�"���eZdZ��fd�Z�xZS)�LConnectionFactoryTests.test_connection_factory_relayed_call.<locals>.Factoryc�H��d|d<t�|��j|i|��dS)N�isolation_level��superr�rrr�Factory�	__class__s   ��rrzUConnectionFactoryTests.test_connection_factory_relayed_call.<locals>.Factory.__init__8s6���,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_call5s����	?�	?�	?�	?�	?�	?�	?�f�'�	?�	?�	?�
�n�Z��9�9�9�����#�-�.�.�.����c�7�+�+�+�+�+rc����G�fd�dtj���tjddddd���}|�|j��|�|���dS)Nc�"���eZdZ��fd�Z�xZS)�QConnectionFactoryTests.test_connection_factory_as_positional_arg.<locals>.Factoryc�>��t�|��j|i|��dSrr9r;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@s����	?�	?�	?�	?�	?�	?�	?�f�'�	?�	?�	?��n�Z��a��t�W�E�E�����#�-�.�.�.����c�7�+�+�+�+�+rN)rrrr3rDrIrrrr!r!'sA������4�4�4�	,�	,�	,�,�,�,�,�,rr!c�&�eZdZd�Zd�Zd�Zd�ZdS)�CursorFactoryTestsc�8�tjd��|_dS�Nr.�rr0r2�rs r�setUpzCursorFactoryTests.setUpK����>�*�-�-����rc�8�|j���dSr�r2�closerOs r�tearDownzCursorFactoryTests.tearDownN�����������rc�Z�|j���}|�|tj��|j�t
��}|�|t
��|j�d����}|�|t
��dS)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_instanceQs����h�o�o�������c�6�=�1�1�1��h�o�o�h�'�'�����c�8�,�,�,��h�o�o�&?�&?�o�@�@�����c�8�,�,�,�,�,rc���|�t|jjd��|�t|jjd���|�t|jjd���dS)Nc��dSrrrrrrZz9CursorFactoryTests.test_invalid_factory.<locals>.<lambda>]s��d�rc��dSrrrYs rrZz9CursorFactoryTests.test_invalid_factory.<locals>.<lambda>_s��$�r)�assertRaises�	TypeErrorr2rrOs r�test_invalid_factoryz'CursorFactoryTests.test_invalid_factoryYsb�����)�T�X�_�d�;�;�;����)�T�X�_�l�l�C�C�C����)�T�X�_�6F�6F�G�G�G�G�GrN)rrrrPrUr\rbrrrrKrKJsU������.�.�.����-�-�-�H�H�H�H�HrrKc� �eZdZd�Zd�Zd�ZdS)�RowFactoryTestsBackwardsCompatc�8�tjd��|_dSrMrNrOs rrPz$RowFactoryTestsBackwardsCompat.setUpbrQrc��|j�t���}|�d��|���}|�|t��|���dS)Nr,zselect 4+5 as foo)r2rr�execute�fetchoner1�dictrT)rr[rs   r�test_is_produced_by_factoryz:RowFactoryTestsBackwardsCompat.test_is_produced_by_factoryes^���h�o�o�h�o�/�/�����'�(�(�(��l�l�n�n�����c�4�(�(�(��	�	�����rc�8�|j���dSrrSrOs rrUz'RowFactoryTestsBackwardsCompat.tearDownlrVrN)rrrrPrjrUrrrrdrdasA������.�.�.��������rrdc�V�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
S)�RowFactoryTestsc�8�tjd��|_dSrMrNrOs rrPzRowFactoryTests.setUpprQrc��d�|j_|j�d�����}|�|t
��dS)Nc� �t|��Sr)�list)r[rs  rrZz5RowFactoryTests.test_custom_factory.<locals>.<lambda>ts���S�	�	�rzselect 1, 2)r2rrgrhr1rq�rrs  r�test_custom_factoryz#RowFactoryTests.test_custom_factoryssL��9�9�����h���}�-�-�6�6�8�8�����c�4�(�(�(�(�(rc���tj|j_|j�d�����}|�|tj��|�|ddd��|�|ddd��|�|ddd	��|�|d
dd��|�|ddd
��|�|ddd��|�|ddd��|�|ddd��|�t��5|dddd��n#1swxYwY|�t��5|dddd��n#1swxYwY|�t��5|dddd��n#1swxYwY|�t��5|dddd��n#1swxYwY|�t��5|dddd��n#1swxYwY|�t��5|ddzddd��n#1swxYwY|�t��5|t��ddd��dS#1swxYwYdS)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�)r�Rowr2rrgrhr1�assertEqualr`�
IndexError�complexrrs  r�test_sqlite_row_indexz%RowFactoryTests.test_sqlite_row_indexxse��%�z�����h���8�9�9�B�B�D�D�����c�6�:�.�.�.�����U��Q�(P�Q�Q�Q�����S��1�&L�M�M�M�����U��Q�(P�Q�Q�Q�����S��1�&L�M�M�M�����Q���$I�J�J�J�����Q���$I�J�J�J�����R��!�%K�L�L�L�����R��!�%K�L�L�L�
�
�
�z�
*�
*�	�	���H�H�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�z�
*�
*�	�	���M�M�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�z�
*�
*�	�	���M�M�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�z�
*�
*�	�	���F�F�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�z�
*�
*�	�	���G�G�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�z�
*�
*�	�	���4��L�L�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�z�
*�
*�	�	���	�	�N�N�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s~�%	E:�:E>�E>�	F4�4F8�;F8�	G.�.G2�5G2�	H(�(H,�/H,�
	I"�"I&�)I&�J�J#�&J#�K&�&K*�-K*c��tj|j_|j�d�����}|�|dd��|�t��5|dddd��n#1swxYwY|�t��5|dddd��dS#1swxYwYdS)Nuselect 1 as ÿ�ÿrvuŸ�ß)	rrr2rrgrhr�r`r�rrs  r�test_sqlite_row_index_unicodez-RowFactoryTests.test_sqlite_row_index_unicode�s=��%�z�����h���1�2�2�;�;�=�=������V��a�(�(�(�
�
�
�z�
*�
*�	�	���M�M�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�z�
*�
*�	�	���K�K�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s$�9	B�B�B�3	C	�	C
�C
c���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, 4rrrv)rv�)rxr�)rxr��)rvrxr�r|r{)r�)r�r�r�rx)rvr�)r�rx)rrr2rrgrhr�rrs  r�test_sqlite_row_slicez%RowFactoryTests.test_sqlite_row_slice�sf��%�z�����h���2�3�3�<�<�>�>������Q�q�S��2�&�&�&�����Q�q�S��4�(�(�(�����Q�q�S��6�*�*�*�����Q�q�S��2�&�&�&�����Q�R�R��)�,�,�,�����R�a�R��)�,�,�,�����R��U��T�*�*�*�����R�S�S��6�*�*�*�����Q�q��U��V�,�,�,�����Q�q��V��f�-�-�-�-�-rc��tj|j_|j�d�����}|D]}�dS)z$Checks if the row object is iterable�select 1 as a, 2 as bN)rrr2rrgrh)rrrs   r�test_sqlite_row_iterz$RowFactoryTests.test_sqlite_row_iter�sL��%�z�����h���6�7�7�@�@�B�B���	�	�C��	�	rc���tj|j_|j�d�����}t
|��}|�||d|df��dS)z4Checks if the row object can be converted to a tupler��arwN)rrr2rrgrh�tupler�)rr�ts   r�test_sqlite_row_as_tuplez(RowFactoryTests.test_sqlite_row_as_tuple�sd��%�z�����h���6�7�7�@�@�B�B���#�J�J������S��X�s�3�x�0�1�1�1�1�1rc�0�tj|j_|j�d�����}t
|��}|�|d|d��|�|d|d��dS)zCChecks if the row object can be correctly converted to a dictionaryr�r�rwN)rrr2rrgrhrir�)rrr	s   r�test_sqlite_row_as_dictz'RowFactoryTests.test_sqlite_row_as_dict�s}��%�z�����h���6�7�7�@�@�B�B����I�I������3���S��*�*�*�����3���S��*�*�*�*�*rc��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��5||kddd��n#1swxYwY|�	t��5||kddd��n#1swxYwY|�	t��5||kddd��n#1swxYwY|�	t��5||kddd��n#1swxYwY|�t|��t|����dS)z6Checks if the row object compares and hashes correctlyr�zselect 1 as a, 3 as bzselect 1 as b, 2 as azselect 2 as b, 1 as aN)
rrr2rrgrh�
assertTrue�assertFalse�objectr`rar��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���%�z������ � �!8�9�9�B�B�D�D���� � �!8�9�9�B�B�D�D���� � �!8�9�9�B�B�D�D���� � �!8�9�9�B�B�D�D���� � �!8�9�9�B�B�D�D��������'�'�'�������'�'�'�����%��(�(�(�����%��(�(�(�����%��(�(�(�����&�(�(�*�+�+�+�����%��(�(�(�����%��(�(�(�������'�'�'�������'�'�'�������'�'�'��������)�*�*�*�
�
�
�y�
)�
)�	�	��E�M�M�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��E�M�M�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��U�N�N�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��U�N�N�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
����e���d�5�k�k�2�2�2�2�2sH�I$�$I(�+I(�	J�J �#J �K�K�K�9L�L�Lc�r�tj|j_|j�d�����}t
|��}|�tt|����tt|������|�
|t��dS)z2 Checks if the row object can act like a sequence r�N)rrr2rrgrhr�r�rq�reversedr1r)rr�as_tuples   r�test_sqlite_row_as_sequencez+RowFactoryTests.test_sqlite_row_as_sequence�s���%�z�����h���6�7�7�@�@�B�B����:�:������h�s�m�m�,�,�d�8�H�3E�3E�.F�.F�G�G�G����c�8�,�,�,�,�,rc��Gd�dt��}tj|j_|�t|jj|��|�ttj|��d��dS)Nc��eZdZejZdS)�:RowFactoryTests.test_fake_cursor_class.<locals>.FakeCursorN)rrrrrr=rrr�
FakeCursorr��s�������
�I�I�Irr�r)�strrrr2rr`rar)rr�s  r�test_fake_cursor_classz&RowFactoryTests.test_fake_cursor_class�s|��	&�	&�	&�	&�	&��	&�	&�	&�%�z�������)�T�X�_�j�A�A�A����)�V�Z�����r�B�B�B�B�Brc�8�|j���dSrrSrOs rrUzRowFactoryTests.tearDown�rVrN)rrrrPrsr�r�r�r�r�r�r�r�r�rUrrrrmrmos�������.�.�.�)�)�)�
���>���.�.�.�$���2�2�2�+�+�+� 3� 3� 3�D-�-�-�C�C�C�����rrmc�2�eZdZd�Zd�Zd�Zd�Zd�Zd�ZdS)�TextFactoryTestsc�8�tjd��|_dSrMrNrOs rrPzTextFactoryTests.setUprQrc���d}|j�d|f�����}|�t	|d��t
d��dS)N�Österreich�select ?r�type of row[0] must be unicode)r2rgrhr��typer��r�austriars   r�test_unicodezTextFactoryTests.test_unicodesU�����h���z�G�:�6�6�?�?�A�A������c�!�f���s�,L�M�M�M�M�Mrc�F�t|j_d}|j�d|f�����}|�t
|d��td��|�|d|�d��d��dS)Nr�r�rztype of row[0] must be bytes�utf-8z(column must equal original data in UTF-8)�bytesr2�text_factoryrgrhr�r��encoder�s   r�test_stringzTextFactoryTests.test_string	s��� %�������h���z�G�:�6�6�?�?�A�A������c�!�f���u�.L�M�M�M�����Q������!8�!8�:d�e�e�e�e�erc�<�d�|j_d}|j�d|f�����}|�t|d��td��|�|d�d��d��dS)Nc�$�t|dd��S)Nr��ignore)r���xs rrZz.TextFactoryTests.test_custom.<locals>.<lambda>s��#�a��(�*C�*C�rr�r�rr��reichz!column must contain original data)	r2r�rgrhr�r�r�r��endswithr�s   r�test_customzTextFactoryTests.test_customs��� C� C�������h���z�G�:�6�6�?�?�A�A������c�!�f���s�,L�M�M�M�����A�����0�0�2U�V�V�V�V�Vrc�H�|�t��5}tj|j_ddd��n#1swxYwY|�d|j��d}d}|j�d|f���	��}|j�d|f���	��}|�
t|d��td��|�
t|d��td��dS)Nz
factory.pyr��
Deutchlandr�rz!type of non-ASCII row must be strz"type of ASCII-only row must be str)
�assertWarns�DeprecationWarningr�OptimizedUnicoder2r��assertIn�filenamergrhr�r�r�)r�cmr��germany�a_row�d_rows      r�test_optimized_unicodez'TextFactoryTests.test_optimized_unicodes,��
�
�
�0�
1�
1�	<�R�$*�$;�D�H�!�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<����	<�	<�	<�	<��
�
�l�B�K�0�0�0������� � ��g�Z�8�8�A�A�C�C���� � ��g�Z�8�8�A�A�C�C������e�A�h����.Q�R�R�R�����e�A�h����.R�S�S�S�S�Ss�>�A�Ac�8�|j���dSrrSrOs rrUzTextFactoryTests.tearDown#rVrN)	rrrrPr�r�r�r�rUrrrr�r�sz������.�.�.�N�N�N�
f�f�f�W�W�W�
T�
T�
T�����rr�c�2�eZdZd�Zd�Zd�Zd�Zd�Zd�ZdS)�%TextFactoryTestsWithEmbeddedZeroBytesc��tjd��|_|j�d��|j�dd��dS)Nr.zcreate table test (value text)z#insert into test (value) values (?))�ab)rr0r2rgrOs rrPz+TextFactoryTestsWithEmbeddedZeroBytes.setUp'sI���>�*�-�-�������9�:�:�:�����>��L�L�L�L�Lrc���|j�d�����}|�t	|d��t
��|�|dd��dS)N�select value from testrr�)r2rgrh�assertIsr�r�r�rrs  rr�z1TextFactoryTestsWithEmbeddedZeroBytes.test_string,sb���h���7�8�8�A�A�C�C���
�
�d�3�q�6�l�l�C�(�(�(�����Q���*�*�*�*�*rc��t|j_|j�d�����}|�t
|d��t��|�|dd��dS�Nr�r�ab)r�r2r�rgrhr�r�r�rrs  r�
test_bytesz0TextFactoryTestsWithEmbeddedZeroBytes.test_bytes2sl�� %�����h���7�8�8�A�A�C�C���
�
�d�3�q�6�l�l�E�*�*�*�����Q���+�+�+�+�+rc��t|j_|j�d�����}|�t
|d��t��|�|dd��dSr�)�	bytearrayr2r�rgrhr�r�r�rrs  r�test_bytearrayz4TextFactoryTestsWithEmbeddedZeroBytes.test_bytearray8sl�� )�����h���7�8�8�A�A�C�C���
�
�d�3�q�6�l�l�I�.�.�.�����Q���+�+�+�+�+rc��d�|j_|j�d�����}|�t|d��t��|�|dd��dS)Nc��|Srrr�s rrZzCTextFactoryTestsWithEmbeddedZeroBytes.test_custom.<locals>.<lambda>@s��!�rr�rr�)r2r�rgrhr�r�r�r�rrs  rr�z1TextFactoryTestsWithEmbeddedZeroBytes.test_custom>sn�� +������h���7�8�8�A�A�C�C���
�
�d�3�q�6�l�l�E�*�*�*�����Q���+�+�+�+�+rc�8�|j���dSrrSrOs rrUz.TextFactoryTestsWithEmbeddedZeroBytes.tearDownErVrN)	rrrrPr�r�r�r�rUrrrr�r�&sq������M�M�M�
+�+�+�,�,�,�,�,�,�,�,�,�����rr��__main__)�unittest�sqlite3r�collections.abcrr
rr�TestCaser!rKrdrmr�r�r�mainrrr�<module>r�s���.��������$�$�$�$�$�$�
�
�
�(�(�(�(�(�v�}�(�(�(�
 ,� ,� ,� ,� ,�X�.� ,� ,� ,�FH�H�H�H�H��*�H�H�H�.�����X�%6����O�O�O�O�O�h�'�O�O�O�b$�$�$�$�$�x�(�$�$�$�L � � � � �H�,=� � � �F�z����H�M�O�O�O�O�O��r