Current File : //usr/local/apps/python3/lib/python3.11/test/__pycache__/test_dbm_ndbm.cpython-311.pyc
�

�Ke����ddlmZddlmZejd��ddlZddlZddlZddlmZGd�dej	��Z
edkrej��dSdS)	�)�
import_helper)�	os_helperzdbm.ndbmN)�errorc��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zej
ejd
��d���Zd�Zd
�Zd�Zd�ZdS)�DbmTestCasec��tj|_tj�|jd��|_|j���dS�N�c)r�TESTFN�filename�dbm�ndbm�open�d�close��selfs �</usr/local/apps/python3/lib/python3.11/test/test_dbm_ndbm.py�setUpzDbmTestCase.setUps8��!�(��
�����t�}�c�2�2������������c�H�dD]}tj|j|z���dS)N��z.pagz.dirz.db)r�unlinkr)r�suffixs  r�tearDownzDbmTestCase.tearDowns6��1�	5�	5�F���T�]�V�3�4�4�4�4�	5�	5rc�4�tj�|jd��|_|�|j���g��d|jd<d|jd<d|jd<|j���|�d|j��|�d|j��|�|jdd��|�|j�d��d	��|�	|j�d
����|�|j�d
d��d��|�
t��5|jdddd��n#1swxYwY|�|j�d
d��d��|�|jd
d��|j�
��dS)
Nr
�b�asdatasbytes�019237410982340912840198242�12345678910�a�bsxxxsfoo�xxx)r
rrrr�assertEqual�keys�assertIn�get�assertIsNone�assertRaises�KeyError�
setdefaultrrs r�	test_keyszDbmTestCase.test_keyss�������t�}�c�2�2�������������+�+�+����s��"���x�� =���}������
�
�
��
�
�c�4�6�"�"�"��
�
�d�D�F�#�#�#�������)�7�3�3�3��������D�)�)�4�0�0�0����$�&�*�*�V�,�,�-�-�-��������F�F�3�3�V�<�<�<�
�
�
�x�
(�
(�	�	��F�5�M�M�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	������*�*�6�6�:�:�F�C�C�C���������0�0�0���������s�
F$�$F(�+F(c���tjjdkr|�d��tj�|jd��|_|�|j���g��d|jd<|�|j���dg��|�	d|j��|�|jdd��|�|j�
d��d��|�|j�d��d��|j���dS)NzBerkeley DBzCBerkeley DB doesn't distinguish the empty value from the absent oner
r�emptysemptyr)
r
r�library�skipTestrrrr%r&r'r(r,rrs r�test_empty_valuezDbmTestCase.test_empty_value(s#���8��}�,�,��M�M�0�
1�
1�
1�����t�}�c�2�2�������������+�+�+����w������������
�3�3�3��
�
�h���'�'�'�������)�3�/�/�/��������H�-�-�s�3�3�3������*�*�8�4�4�c�:�:�:���������rc���dD]j}	tj�|j|��|_|j����G#t$r|���Y�gwxYwdS)N)�r�rw�w�n)r
rrrrrr�fail)r�modes  r�
test_modeszDbmTestCase.test_modes6sv��)�	�	�D�
�����t�}�d�;�;�������������
�
�
��	�	������
����		�	s�AA
�
A+�*A+c�`�tj�|jd��5}d|d<ddd��n#1swxYwYtj�|jd��5}|�t|�����dg��ddd��n#1swxYwY|�tjj��5}|���ddd��n#1swxYwY|�t|j
��d��dS)Nr
zcontext managerzndbm context managerr4sndbm context managerz"DBM object has already been closed)r
rrrr%�listr&r*r�str�	exception)r�db�cms   r�test_context_managerz DbmTestCase.test_context_manager>s���
�X�]�]�4�=�#�
.�
.�	;�"�):�B�%�&�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;����	;�	;�	;�	;��X�]�]�4�=�#�
.�
.�	I�"����T�"�'�'�)�)�_�_�/F�.G�H�H�H�	I�	I�	I�	I�	I�	I�	I�	I�	I�	I�	I����	I�	I�	I�	I��
�
�s�x�~�
.�
.�	�"��G�G�I�I�I�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�����R�\�*�*�=�	?�	?�	?�	?�	?s0�8�<�<�(7B+�+B/�2B/�C;�;C?�C?c���tj�|jd��5}d|d<ddd��n#1swxYwYtj�|jd��5}|�t|�����dg��|�d|v��|�|dd��ddd��dS#1swxYwYdS)Nr
s
bytes value �sbytes key �r4)r
rrrr%r<r&�
assertTrue�rr?s  r�
test_byteszDbmTestCase.test_bytesJs`��
�X�]�]�4�=�#�
.�
.�	8�"�$7�B� �!�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8����	8�	8�	8�	8�
�X�]�]�4�=�#�
.�
.�	I�"����T�"�'�'�)�)�_�_�/@�.A�B�B�B��O�O�-��3�4�4�4����R� 1�2�4G�H�H�H�	I�	I�	I�	I�	I�	I�	I�	I�	I�	I�	I�	I����	I�	I�	I�	I�	I�	Is�8�<�<�(A*C�C#�&C#c���tj�|jd��5}d|d<ddd��n#1swxYwYtj�|jd��5}|�t|�����d���g��|�d���|v��|�d|v��|�|d���d�����|�|dd�����ddd��dS#1swxYwYdS)Nr
uUnicode value 🐍uUnicode key 🐍r4)	r
rrrr%r<r&�encoderCrDs  r�test_unicodezDbmTestCase.test_unicodeRs���
�X�]�]�4�=�#�
.�
.�	F�"�+E�B�'�(�	F�	F�	F�	F�	F�	F�	F�	F�	F�	F�	F����	F�	F�	F�	F�
�X�]�]�4�=�#�
.�
.�	B�"����T�"�'�'�)�)�_�_�/G�/N�/N�/P�/P�.Q�R�R�R��O�O�4�;�;�=�=��C�D�D�D��O�O�4��:�;�;�;����R� 8� ?� ?� A� A�B�7�>�>�@�@�
B�
B�
B����R� 8�9�7�>�>�@�@�
B�
B�
B�
	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B����	B�	B�	B�	B�	B�	Bs�8�<�<�(C7E,�,E0�3E0c�H�tj�|jd��5}d|d<ddd��n#1swxYwYtj�|jd��5}|�t
��5|d=ddd��n#1swxYwY|�t
��5|d=ddd��n#1swxYwY|�t
��5d|d<ddd��n#1swxYwYddd��dS#1swxYwYdS)Nr
sbytes values	bytes keyr4s
not exist keysnot exist value)r
rrrr*rrDs  r�test_write_readonly_filez$DbmTestCase.test_write_readonly_file^sF��
�X�]�]�4�=�#�
.�
.�	.�"�-�B�|��	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�
�X�]�]�4�=�#�
.�
.�	:�"��"�"�5�)�)�
)�
)��'�(�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)����
)�
)�
)�
)��"�"�5�)�)�
%�
%��|�$�
%�
%�
%�
%�
%�
%�
%�
%�
%�
%�
%����
%�
%�
%�
%��"�"�5�)�)�
:�
:�'9��#�$�
:�
:�
:�
:�
:�
:�
:�
:�
:�
:�
:����
:�
:�
:�
:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:����	:�	:�	:�	:�	:�	:s��8�<�<�(D�B�D�B	�D�B	�D�8C�<D�C	�D�C	�D�-C?�3D�?D	�D�D	�D�D�Dz*requires OS support of non-ASCII encodingsc���tj�dD]%}|�tj�|z���&tj��d��5}d|d<ddd��n#1swxYwY|�t�fd�dD������tj��d��5}|�	t|�����dg��|�d|v��|�	|dd��ddd��dS#1swxYwYdS)Nrr
svalueskeyc3�\�K�|]&}tj��|z��V��'dS)N)�os�path�exists)�.0rrs  �r�	<genexpr>z5DbmTestCase.test_nonascii_filename.<locals>.<genexpr>qsR�����G�G� &��G�N�N�8�f�+<�=�=�G�G�G�G�G�Grr4)r�TESTFN_NONASCII�
addCleanuprr
rrrC�anyr%r<r&)rrr?rs   @r�test_nonascii_filenamez"DbmTestCase.test_nonascii_filenameis�����,��1�	A�	A�F��O�O�I�,�h��.?�@�@�@�@�
�X�]�]�8�S�
)�
)�	"�R�!�B�v�J�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�����G�G�G�G�*E�G�G�G�G�G�	H�	H�	H�
�X�]�]�8�S�
)�
)�	3�R����T�"�'�'�)�)�_�_�v�h�7�7�7��O�O�F�b�L�)�)�)����R��Z��2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�	3�	3s%�A(�(A,�/A,�A*D8�8D<�?D<c�P�d}|�tjj��5}tj�|��ddd��n#1swxYwY|�|t
|j����|�|jj	|��dS)Nznonexisting-file)
r*r
rrrr'r=r>r%r)r�nonexisting_filer@s   r�test_nonexisting_filez!DbmTestCase.test_nonexisting_filexs���-��
�
�
�s�x�~�
.�
.�	,�"��H�M�M�*�+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,��
�
�&��B�L�(9�(9�:�:�:������.�0@�A�A�A�A�As� A�A�Ac��tj�tj|j��d�����dSr	)r
rrr�FakePathrrrs r�test_open_with_pathlib_pathz'DbmTestCase.test_open_with_pathlib_paths7����
�
�i�(���7�7��=�=�C�C�E�E�E�E�Erc��tj�tj|j��d�����dSr	)r
rrrM�fsencoderrrs r�test_open_with_bytes_pathz%DbmTestCase.test_open_with_bytes_path�s6����
�
�b�k�$�-�0�0�#�6�6�<�<�>�>�>�>�>rc��tj�tjtj|j����d�����dSr	)	r
rrrrZrMr]rrrs r�!test_open_with_pathlib_bytes_pathz-DbmTestCase.test_open_with_pathlib_bytes_path�sA����
�
�i�(���T�]�)C�)C�D�D�c�J�J�P�P�R�R�R�R�RrN)�__name__�
__module__�__qualname__rrr-r2r:rArErHrJ�unittest�
skipUnlessrrRrUrXr[r^r`�rrrr	s!���������
5�5�5����(������
?�
?�
?�I�I�I�
B�
B�
B�	:�	:�	:��X���2�E�G�G�3�3�G�G�3�B�B�B�F�F�F�?�?�?�S�S�S�S�Srr�__main__)
�test.supportrr�
import_modulerMrd�dbm.ndbmr
r�TestCaserra�mainrfrr�<module>rms���&�&�&�&�&�&�"�"�"�"�"�"��
��J�'�'�'�	�	�	�	���������������}S�}S�}S�}S�}S�(�#�}S�}S�}S�@�z����H�M�O�O�O�O�O��r