Your IP : 216.73.216.213


Current Path : /opt/alt/python38/lib64/python3.8/test/__pycache__/
Upload File :
Current File : //opt/alt/python38/lib64/python3.8/test/__pycache__/test_dbm_ndbm.cpython-38.opt-1.pyc

U

i�f7�@s`ddlmZe�d�ddlZddlZddlZddlmZGdd�dej�Z	e
dkr\e��dS)�)�supportzdbm.ndbmN)�errorc@sreZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Ze�
ejd�dd��Zdd�ZdS)�DbmTestCasecCs(tj|_tj�|jd�|_|j��dS)N�c)rZTESTFN�filename�dbm�ndbm�open�d�close��self�r�7/opt/alt/python38/lib64/python3.8/test/test_dbm_ndbm.py�setUp
szDbmTestCase.setUpcCsdD]}t�|j|�qdS)N��z.pagz.dirz.db)r�unlinkr)r
�suffixrrr�tearDownszDbmTestCase.tearDownc	Cs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��|jdW5QRX|�|j�d
d�d�|�|jd
d�|j�
�dS)
Nr�b�asdatasbytesZ019237410982340912840198242Z12345678910�a�bsxxxsfooZxxx)rrr	rr
�assertEqual�keys�assertIn�getZassertIsNone�assertRaises�KeyError�
setdefaultrrrrr�	test_keyss"



zDbmTestCase.test_keyscCs�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 onerr�emptysempty�)
rrZlibraryZskipTestr	rr
rrrrr rrrrr�test_empty_value's

zDbmTestCase.test_empty_valuec	CsLdD]B}z tj�|j|�|_|j��Wqtk
rD|��YqXqdS)N)�rZrw�w�n)rrr	rr
rrZfail)r
�moderrr�
test_modes5szDbmTestCase.test_modesc	Cs�tj�|jd��}d|d<W5QRXtj�|jd��}|�t|���dg�W5QRX|�tjj��}|��W5QRX|�t	|j
�d�dS)Nrzcontext managerzndbm context managerr%sndbm context managerz"DBM object has already been closed)rrr	rr�listrrr�str�	exception)r
�db�cmrrr�test_context_manager=s �z DbmTestCase.test_context_managerc	Csxtj�|jd��}d|d<W5QRXtj�|jd��:}|�t|���dg�|�d|k�|�|dd�W5QRXdS)Nrs
bytes value �sbytes key �r%)rrr	rrr*r�
assertTrue�r
r-rrr�
test_bytesIszDbmTestCase.test_bytesc	Cs�tj�|jd��}d|d<W5QRXtj�|jd��l}|�t|���d��g�|�d��|k�|�d|k�|�|d��d���|�|dd���W5QRXdS)NruUnicode value 🐍uUnicode key 🐍r%)	rrr	rrr*r�encoder0r1rrr�test_unicodeQs�
�zDbmTestCase.test_unicodec
Cs�tj�|jd��}d|d<W5QRXtj�|jd��\}|�t��|d=W5QRX|�t��|d=W5QRX|�t��d|d<W5QRXW5QRXdS)Nrsbytes values	bytes keyr%s
not exist keysnot exist value)rrr	rrrr1rrr�test_write_readonly_file]sz$DbmTestCase.test_write_readonly_filez*requires OS support of non-ASCII encodingsc	s�tj�dD]}|�tj�|�q
tj��d��}d|d<W5QRX|�t�fdd�dD���tj��d��:}|�	t
|���dg�|�d|k�|�	|dd�W5QRXdS)Nrrsvalueskeyc3s|]}tj��|�VqdS)N)�os�path�exists)�.0r�rrr�	<genexpr>ps�z5DbmTestCase.test_nonascii_filename.<locals>.<genexpr>r%)r�TESTFN_NONASCIIZ
addCleanuprrrr	r0�anyrr*r)r
rr-rr:r�test_nonascii_filenamehs�
z"DbmTestCase.test_nonascii_filenamec	CsPd}|�tjj��}tj�|�W5QRX|�|t|j��|�|jj	|�dS)Nznonexisting-file)
rrrrr	rr+r,rr)r
Znonexisting_filer.rrr�test_nonexisting_filews
z!DbmTestCase.test_nonexisting_fileN)�__name__�
__module__�__qualname__rrr!r$r)r/r2r4r5�unittestZ
skipUnlessrr<r>r?rrrrrs�

r�__main__)Ztestr�
import_moduler6rCZdbm.ndbmrrZTestCaserr@�mainrrrr�<module>s
w