Your IP : 216.73.216.213


Current Path : /opt/alt/python35/lib64/python3.5/test/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/test/__pycache__/test_shelve.cpython-35.opt-2.pyc



���]��@s_ddlZddlZddlZddlmZddlmZddlmZdd�Z	Gdd�de�Z
Gd	d
�d
ej�ZddlmZGdd
�d
ej
�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�Zdd�Zedkr[e�dS)�N)�support)�MutableMapping)�dbm_iteratorcCs
|jd�S)Nzlatin-1)�decode)�s�r�0/opt/alt/python35/lib64/python3.5/test_shelve.py�L1sr	c@sveZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�ZeZ	d
d�Z
dd�ZdS)�byteskeydictcCs
i|_dS)N)�d)�selfrrr�__init__szbyteskeydict.__init__cCs|jt|�S)N)rr	)r�keyrrr�__getitem__szbyteskeydict.__getitem__cCs||jt|�<dS)N)rr	)rr�valuerrr�__setitem__szbyteskeydict.__setitem__cCs|jt|�=dS)N)rr	)rrrrr�__delitem__szbyteskeydict.__delitem__cCs
t|j�S)N)�lenr)rrrr�__len__szbyteskeydict.__len__ccs,x%|jj�D]}|jd�VqWdS)Nzlatin-1)r�keys�encode)r�krrr�iterkeysszbyteskeydict.iterkeyscCst|j��S)N)�listr)rrrrr#szbyteskeydict.keyscCs
t|j�S)N)r
r)rrrr�copy&szbyteskeydict.copyN)�__name__�
__module__�__qualname__r
rrrrr�__iter__rrrrrrr
sr
c@s�eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZdS)�TestCasezshelftemp.dbcCs2x+tj|jd�D]}tj|�qWdS)N�*)�glob�fnr�unlink)r�frrr�tearDown.szTestCase.tearDowncCs�i}tj|dddd�}ddddg|d<|j|dddddg�|jt|�d�|j�|jtt|�y|dWntk
r�YnX|jd	�dS)
N�protocol��	writebackF����key1z"Closed shelf should not find a key)�shelve�Shelf�assertEqualr�close�assertRaises�
ValueError�fail)r�d1rrrr�
test_close2s 

zTestCase.test_closecCsLtj|jdd�}z"d|d<|j|dd	�Wd|j�XdS)
Nr&rr)r'r*r+r,)r)r'r*r+)r)r'r*r+)r-�openr"r/r0)rrrrr�test_ascii_file_shelfAs

zTestCase.test_ascii_file_shelfcCsLtj|jdd�}z"d|d<|j|dd�Wd|j�XdS)	Nr&r)r'r*r+r,)r)r'r*r+)r)r'r*r+)r-r6r"r/r0)rrrrr�test_binary_file_shelfIs

zTestCase.test_binary_file_shelfcCsLtj|jdd�}z"d|d<|j|dd�Wd|j�XdS)	Nr&r'r)r*r+r,)r)r'r*r+)r)r'r*r+)r-r6r"r/r0)rrrrr�test_proto2_file_shelfQs

zTestCase.test_proto2_file_shelfcCs�t�}tj|dd�}d|d<|j|dd	�|j�t�}tj|dd�}d
|d<|j|dd�|j�|jt|�d�|jt|�d�|j|j�|j��dS)Nr&rr)r'r*r+r,)r)r'r*r+)r)r'r*r+)r)r'r*r+)r)r'r*r+)r
r-r.r/r0r�assertNotEqual�items)rr4r�d2rrr�test_in_memory_shelfYs	

	

zTestCase.test_in_memory_shelfcCs]t�}tj|dddd�}ddddg|d<|j|dddddg�|djd	�|j|dddddg�|j�t�}tj|dddd
�}ddddg|d<|j|dddddg�|djd	�|j|dddddd	g�|j�|jt|�d�|jt|�d�dS)Nr&r'r(Fr)r*r+r,�T)r
r-r.r/�appendr0r)rr4rr<rrr�test_mutable_entryis 	  
	 #
zTestCase.test_mutable_entrycCs�i}d}dgtj|�|<|j|jd�|�dgtj|dd�|<|j|jd�|�tj|dd�}|jt|j|dg�dS)NuPöpr)zutf-8Zkeyencodingzlatin-1�ascii)r-r.ZassertInrr1�UnicodeEncodeErrorr)rrrrrrr�test_keyencoding}szTestCase.test_keyencodingcCs�i}d}|jd�}tj|dd�}dg||<||}|djd�|j�||}|j||�dS)Nrzutf-8r(Tr)r')rr-r.r?r0r:)rrr�
encodedkeyrZp1Zp2rrr�&test_writeback_also_writes_immediately�s



z/TestCase.test_writeback_also_writes_immediatelycCs�i}tj|dddd��S}ddddg|d<|j|dddddg�|jt|�d�WdQRX|jtt|�y|dWntk
r�YnX|jd	�dS)
Nr&r'r(Fr)r*r+r,z"Closed shelf should not find a key)r-r.r/rr1r2r3)rr4rrrr�	test_with�s 
zTestCase.test_withc
Cs0tji��}|j|jd�WdQRXdS)Nr*)r-r.r/Z	_protocol)rrrrr�test_default_protocol�szTestCase.test_default_protocolN)rrrr"r%r5r7r8r9r=r@rCrErFrGrrrrr*s

r)�
mapping_testsc@sUeZdZdZdZdd�ZejZdd�Z	dd�Z
d	d
�ZdS)�TestShelveBasezshelftemp.dbrcOs#g|_tjj|||�dS)N)�_dbrH�BasicTestMappingProtocolr
)r�args�kwrrrr
�s	zTestShelveBase.__init__cCsddddddiS)	Nr,Zvalue1Zkey2r'Zkey3r)r*)r)r'r*r)rrrr�
_reference�szTestShelveBase._referencecCsl|jr$tjt�|j�}n4|jd7_tj|jt|j�|j�}|j	j
|�|S)Nr))�_in_memr-r.r
�_args�counterr6r"�strrJr?)r�xrrr�_empty_mapping�s	%zTestShelveBase._empty_mappingcCsbx|jD]}|j�q
Wg|_|js^x+tj|jd�D]}tj|�qGWdS)Nr )rJr0rOr!r"rr#)rZdbr$rrrr%�s		zTestShelveBase.tearDownN)rrrr"rQr
r-r.Z	type2testrNrTr%rrrrrI�s	rIc@s"eZdZddiZdZdS)�TestAsciiFileShelver&rFN)rrrrPrOrrrrrU�srUc@s"eZdZddiZdZdS)�TestBinaryFileShelver&r)FN)rrrrPrOrrrrrV�srVc@s"eZdZddiZdZdS)�TestProto2FileShelver&r'FN)rrrrPrOrrrrrW�srWc@s"eZdZddiZdZdS)�TestAsciiMemShelver&rTN)rrrrPrOrrrrrX�srXc@s"eZdZddiZdZdS)�TestBinaryMemShelver&r)TN)rrrrPrOrrrrrY�srYc@s"eZdZddiZdZdS)�TestProto2MemShelver&r'TN)rrrrPrOrrrrrZ�srZc	Cs7x0t�D]%}tjttttttt	�q
WdS)N)
rrZrun_unittestrUrVrWrXrYrZr)�modulerrr�	test_main�sr\�__main__)Zunittestr-r!Ztestr�collections.abcrZ
test.test_dbmrr	r
rrHrKrIrUrVrWrXrYrZr\rrrrr�<module>s&