+
    Bi                     L   ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RI	H
t
 R t ! R R]4      t ! R R	] P                  4      t ! R
 R4      t ! R R]4      t ! R R]4      t^ RIHt ]! ]P(                  ^,           4       F}  t]]P,                  3tR] R2t]! ]]RR]//4      ]! 4       ]&   ]]P,                  3t]
! 4        F7  t]P8                  R,          tR] R] R2t]! ]]R]RR]//4      ]! 4       ]&   K9  	  K  	  ]R8X  d   ] P<                  ! 4        R# R# )    N)	os_helper)MutableMapping)dbm_iteratorc                 $    V P                  R 4      # )latin-1)decode)ss   &'/usr/lib/python3.14/test/test_shelve.pyL1r      s    88I    c                   X   a  ] tR t^t o RtR tR tR tR tR t	R t
]
tR tR	 tR
tV tR# )byteskeydictz Mapping that supports bytes keysc                    / V n         R # Ndselfs   &r
   __init__byteskeydict.__init__   s	    r   c                :    V P                   \        V4      ,          # r   r   r   r   keys   &&r
   __getitem__byteskeydict.__getitem__   s    vvbgr   c                4    W P                   \        V4      &   R # r   r   )r   r   values   &&&r
   __setitem__byteskeydict.__setitem__   s    r#wr   c                2    V P                   \        V4       R # r   r   r   s   &&r
   __delitem__byteskeydict.__delitem__   s    FF2c7Or   c                ,    \        V P                  4      # r   )lenr   r   s   &r
   __len__byteskeydict.__len__   s    466{r   c              #  v   "   V P                   P                  4        F  pVP                  R 4      x  K  	  R# 5i)r   N)r   keysencode)r   ks   & r
   iterkeysbyteskeydict.iterkeys    s(     A((9%% s   79c                4    \        V P                  4       4      # r   )listr,   r   s   &r
   r)   byteskeydict.keys&   s    DMMO$$r   c                ,    \        V P                  4      # r   )r   r   r   s   &r
   copybyteskeydict.copy)   s    DFF##r   r   N)__name__
__module____qualname____firstlineno____doc__r   r   r   r"   r&   r,   __iter__r)   r2   __static_attributes____classdictcell____classdict__s   @r
   r   r      s<     & & H%$ $r   r   c                      a  ] tR t^-t o ]P
                  t]P                  P                  ]P
                  R4      t
R tRR ltR tR tR tR tR	 tR
 tR tR tR tR tR tR tRtV tR# )TestCaseshelftemp.dbc                f   / p\         P                  ! V^RR7      p. ROVR&   V P                  VR,          . RO4       V P                  \        V4      ^4       VP	                  4        V P                  \        \        V4        VR,           V P                  R4       R#   \         d     R# i ; i)   Fprotocol	writebackkey1"Closed shelf should not find a keyN   rB         )shelveShelfassertEqualr%   closeassertRaises
ValueErrorfailr   d1r	   s   &  r
   
test_closeTestCase.test_close1   s    LLa59&	6I.Q#		*c1-	<fI II:;  		s   	B! !B0/B0Nc                r   \         P                  ! V P                  4       V P                  \        P
                  V P                  4       \        P                  ! Ve   TMV P                  VR7      p RVR&   V P                  VR,          R4       VP                  4        R #   TP                  4        i ; i)N)filenamerD   rF   rH   )osmkdirdirname
addCleanupr   rmtreerL   openfnrN   rO   )r   rX   rD   r	   s   &&& r
   test_open_templateTestCase.test_open_template@   s}    
	(($,,7KKX-Atww!)+	!AfIQvY	2GGIAGGIs   4B$ $B6c                *    V P                  ^ R7       R# )r   rD   Nr`   r   s   &r
   test_ascii_file_shelfTestCase.test_ascii_file_shelfK       +r   c                *    V P                  ^R7       R# )rI   rc   Nrd   r   s   &r
   test_binary_file_shelfTestCase.test_binary_file_shelfN   rg   r   c                *    V P                  ^R7       R# )rB   rc   Nrd   r   s   &r
   test_proto2_file_shelfTestCase.test_proto2_file_shelfQ   rg   r   c                f    V P                  \        P                  ! V P                  4      R 7       R# )rX   N)r`   r   FakePathr_   r   s   &r
   test_pathlib_path_file_shelf%TestCase.test_pathlib_path_file_shelfT   s"    ););DGG)DEr   c                f    V P                  \        P                  ! V P                  4      R 7       R# ro   )r`   rY   fsencoder_   r   s   &r
   test_bytes_path_file_shelf#TestCase.test_bytes_path_file_shelfW   s     TWW)=>r   c                    V P                  \        P                  ! \        P                  ! V P
                  4      4      R 7       R# ro   )r`   r   rp   rY   rt   r_   r   s   &r
   "test_pathlib_bytes_path_file_shelf+TestCase.test_pathlib_bytes_path_file_shelfZ   s+    ););BKK<P)QRr   c                ^   \        4       p\        P                  ! V^ R7      ;_uu_ 4       pRVR&   V P                  VR,          R4       RRR4       \        4       p\        P                  ! V^R7      ;_uu_ 4       pRVR&   V P                  VR,          R4       RRR4       V P                  \	        V4      ^4       V P                  \	        V4      ^4       V P                  VP                  4       VP                  4       4       R#   + '       g   i     L; i  + '       g   i     L; i)r   rc   rF   NrH   )r   rL   rM   rN   r%   assertNotEqualitemsr   rT   r	   d2s   &   r
   test_in_memory_shelfTestCase.test_in_memory_shelf]   s    ^\\"q))Q!AfIQvY	2 * ^\\"q))Q!AfIQvY	2 * 	R!$R!$BHHJ
3 *) *)s   D	<D	D	D,	c                   \        4       p\        P                  ! V^RR7      ;_uu_ 4       p. ROVR&   V P                  VR,          . RO4       VR,          P	                  ^4       V P                  VR,          . RO4       RRR4       \        4       p\        P                  ! V^RR7      ;_uu_ 4       p. ROVR&   V P                  VR,          . RO4       VR,          P	                  ^4       V P                  VR,          . RO4       RRR4       V P                  \        V4      ^4       V P                  \        V4      ^4       R#   + '       g   i     L; i  + '       g   i     L[; i)rB   FrC   rF   NTrH   )rI   rB   rJ   rK      )r   rL   rM   rN   appendr%   r}   s   &   r
   test_mutable_entryTestCase.test_mutable_entryk   s   ^\\"qE::a!AfIQvY	2fIQQvY	2	 ; ^\\"qD99Q!AfIQvY	2fIQQvY4	 : 	R!$R!$ ;: :9s   AE5AEE	E.	c                t   / pR p^.\         P                  ! V4      V&   V P                  VP                  R4      V4       ^.\         P                  ! VRR7      V&   V P                  VP                  R4      V4       \         P                  ! VRR7      pV P	                  \
        VP                  V^.4       R# )u   PÃ¶putf-8r   )keyencodingasciiN)rL   rM   assertInr*   rP   UnicodeEncodeErrorr   )r   r   r   r	   s   &   r
   test_keyencodingTestCase.test_keyencoding}   s     !sQcjj)1-78cQI.s3cjj+Q/LL0,ammS1#Fr   c                &   / pR pVP                  R4      p\        P                  ! VRR7      ;_uu_ 4       p^.WB&   W,          pVR ,          P                  ^4       RRR4       W,          pV P	                  XV4       R#   + '       g   i     L,; i)r   r   T)rE   N)r*   rL   rM   r   r{   )r   r   r   
encodedkeyr	   p1p2s   &      r
   &test_writeback_also_writes_immediately/TestCase.test_writeback_also_writes_immediately   st    ZZ(
\\!t,,SAFBeHOOA - ]B# -,s   &B  B	c                   / p\         P                  ! V^RR7      ;_uu_ 4       p. ROVR&   V P                  VR,          . RO4       V P                  \        V4      ^4       RRR4       V P	                  \
        \        X4        VR,           V P                  R4       R#   + '       g   i     LH; i  \
         d     R# i ; i)rB   FrC   rF   NrG   rH   )rL   rM   rN   r%   rP   rQ   rR   rS   s   &  r
   	test_withTestCase.test_with   s    \\"qE::a!AfIQvY	2SVQ' ; 	*c1-	<fI II:; ;:  		s   >B"	B5 "B2	5CCc                    \         P                  ! / 4      ;_uu_ 4       pV P                  VP                  \        P
                  4       R R R 4       R #   + '       g   i     R # ; ir   )rL   rM   rN   	_protocolpickleDEFAULT_PROTOCOL)r   r	   s   & r
   test_default_protocolTestCase.test_default_protocol   s<    \\"Q[[&*A*AB s   +AA%	 )NN)r4   r5   r6   r7   r   TESTFNr[   rY   pathjoinr_   rU   r`   re   ri   rl   rq   ru   rx   r   r   r   r   r   r   r:   r;   r<   s   @r
   r?   r?   -   sz     G	i&&	7B<	,,,F?S4%$G
$<C Cr   r?   c                   >   a  ] tR t^t o ]P
                  tR tRtV t	R# )TestShelveBasec                    R RR^RR/# )rF   value1key2key3)rI   rB   rJ   r   r   s   &r
   
_referenceTestShelveBase._reference   s    x6'::r   r   N)
r4   r5   r6   r7   rL   rM   	type2testr   r:   r;   r<   s   @r
   r   r      s     I; ;r   r   c                   &   a  ] tR t^t o R tRtV tR# )TestShelveInMemBasec                T    \         P                  ! \        4       3/ V P                  B # r   )rL   rM   r   _argsr   s   &r
   _empty_mapping"TestShelveInMemBase._empty_mapping   s    ||LN9djj99r   r   N)r4   r5   r6   r7   r   r:   r;   r<   s   @r
   r   r      s     : :r   r   c                   0   a  ] tR t^t o ^ tR tR tRtV tR# )TestShelveFileBasec                    V ;P                   ^,          un         \        P                  ! V P                  \	        V P                   4      ,           3/ V P
                  B pV P                  VP                  4       V# )rI   )counterrL   r^   	base_pathstrr   r\   rO   )r   xs   & r
   r   !TestShelveFileBase._empty_mapping   sN    KKT\\)::IdjjI r   c                Z   \         P                  p\        P                  ! V4       V P	                  \         P
                  V4       \        P                  P                  VR 4      V n        V P	                  \        \        R\        P                  4       V P                  \        n        R# )r@   _defaultmodN)r   r   rY   rZ   r\   r]   r   r   r   setattrdbmr   dbm_mod)r   r[   s   & r
   setUpTestShelveFileBase.setUp   sd    ""
	(('2g~>mS__E,,r   )r   N)	r4   r5   r6   r7   r   r   r   r:   r;   r<   s   @r
   r   r      s     G' 'r   r   )mapping_tests	TestProto	MemShelver   rD   :rK   NNFile_Shelver   __main__)unittestr   rL   r   rY   test.supportr   collections.abcr   test.test_dbmr   r   r   r?   r   r   r   testr   rangeHIGHEST_PROTOCOLprotoBasicTestMappingProtocolbasesnametypeglobalsr   r4   suffixmainr   r   r
   <module>r      sC    
   	 " * &$> $>yCx   yCx; ;:. :
' '$ 6**Q./E -"H"HIEugY'D4#j%%89;GIdO!G!GHE>!!"%5'vhf5tU )7Gj%=PQS	$	 " 0 zMMO r   