Your IP : 216.73.216.213


Current Path : /opt/alt/python36/lib64/python3.6/test/__pycache__/
Upload File :
Current File : //opt/alt/python36/lib64/python3.6/test/__pycache__/test_dbm_ndbm.cpython-36.opt-2.pyc

3

��2a9�@s`ddlmZejd�ddlZddlZddlZddlmZGdd�dej�Z	e
dkr\ej�dS)�)�supportzdbm.ndbmN)�errorc@sbeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
eje
jd�dd��ZdS)�DbmTestCasecCs(tj|_tjj|jd�|_|jj�dS)N�c)rZTESTFN�filename�dbm�ndbm�open�d�close)�self�r
�2/opt/alt/python36/lib64/python3.6/test_dbm_ndbm.py�setUp
szDbmTestCase.setUpcCs"xdD]}tj|j|�qWdS)N��.pag�.dir�.db)rrrr)r�unlinkr)r�suffixr
r
r�tearDowns
zDbmTestCase.tearDowncCstjj|jd�|_|j|jj�g�d|jd<d|jd<d|jd<|jj�|jd|j�|jd|j�|j|jdd�|j|jjd�d	�|j	|jjd
��|j|jjd
d�d�|j
t��|jdWdQRX|j|jjd
d�d�|j|jd
d�|jj
�dS)
Nr�b�asdatasbytesZ019237410982340912840198242Z12345678910�a�bsxxxsfooZxxx)rrr	rr
�assertEqual�keys�assertIn�getZassertIsNone�assertRaises�KeyError�
setdefaultr)rr
r
r�	test_keyss"



zDbmTestCase.test_keyscCs�tjjdkr|jd�tjj|jd�|_|j|jj�g�d|jd<|j|jj�dg�|j	d|j�|j|jdd�|j|jj
d�d�|j|jjd�d�|jj�dS)NzBerkeley DBzCBerkeley DB doesn't distinguish the empty value from the absent onerr�emptysempty�)
rrZlibraryZskipTestr	rr
rrrrr!r)rr
r
r�test_empty_value's

zDbmTestCase.test_empty_valuecCsPxJdD]B}y tjj|j|�|_|jj�Wqtk
rF|j�YqXqWdS)N�r�rw�w�n)r&r'r(r))rrr	rr
rrZfail)r�moder
r
r�
test_modes5s
zDbmTestCase.test_modescCs�tjj|jd��}d|d<WdQRXtjj|jd��}|jt|j��dg�WdQRX|jtjj��}|j�WdQRX|jt	|j
�d�dS)Nrzcontext managerzndbm context managerr&sndbm context managerz"DBM object has already been closed)rrr	rr�listrrr�strZ	exception)r�db�cmr
r
r�test_context_manager=s z DbmTestCase.test_context_managercCsxtjj|jd��}d|d<WdQRXtjj|jd��:}|jt|j��dg�|jd|k�|j|dd�WdQRXdS)Nrs
bytes value �sbytes key �r&)rrr	rrr,r�
assertTrue)rr.r
r
r�
test_bytesIszDbmTestCase.test_bytescCs�tjj|jd��}d|d<WdQRXtjj|jd��l}|jt|j��dj�g�|jdj�|k�|jd|k�|j|dj�dj��|j|ddj��WdQRXdS)NruUnicode value 🐍uUnicode key 🐍r&)	rrr	rrr,r�encoder1)rr.r
r
r�test_unicodeQs

zDbmTestCase.test_unicodez*requires OS support of non-ASCII encodingscs�tj�xdD]}|jtj�|�qWtjj�d��}d|d<WdQRX|jt�fdd	�dD���tjj�d
��:}|j	t
|j��dg�|jd|k�|j	|dd�WdQRXdS)
Nr�.pag�.dir�.dbrsvalueskeyc3s|]}tjj�|�VqdS)N)�os�path�exists)�.0r)rr
r�	<genexpr>esz5DbmTestCase.test_nonascii_filename.<locals>.<genexpr>r&)rr5r6r7)rr5r6r7)r�TESTFN_NONASCIIZ
addCleanuprrrr	r1�anyrr,r)rrr.r
)rr�test_nonascii_filename]s
z"DbmTestCase.test_nonascii_filenameN)�__name__�
__module__�__qualname__rrr"r%r+r0r2r4�unittestZ
skipUnlessrr=r?r
r
r
rrsr�__main__)Ztestr�
import_moduler8rCZdbm.ndbmrrZTestCaserr@�mainr
r
r
r�<module>s
f