+
    Bi/                        ^ RI t ^ RIHt ^ RIHt ^ RIHtHtHtH	t	H
t
Ht ]	P                  t]	P                  t ! R R]4      t ! R R] P$                  4      t ! R	 R
] P$                  4      t]R8X  d   ] P,                  ! 4        R# R# )    N)catch_warnings)is_instance)	MagicMockMockpatchsentinel	mock_opencallc                       ] tR t^tRtR# )SampleException N)__name__
__module____qualname____firstlineno____static_attributes__r       ;/usr/lib/python3.14/test/test_unittest/testmock/testwith.pyr   r      s    $r   r   c                   h   a  ] tR t^t o 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# )WithTestc                *   \        R \        ,          \        P                  4      ;_uu_ 4        V P	                  \
        \        P                  R4       RRR4       V P	                  \
        \        P                  4       R#   + '       g   i     L6; i%s.something	unpatchedN)r   r   r   
Something2assertEqual	something	Somethingselfs   &r   test_with_statementWithTest.test_with_statement   sX    >H,h.A.ABBY(;(;[I CH$6$67 CBs   &BB	c           	        V P                  \        4      ;_uu_ 4        \        R \        ,          \        P
                  4      ;_uu_ 4        V P                  \        \        P
                  R4       \        4       h  + '       g   i     M; i RRR4       M  + '       g   i     M; iT P                  \        \        P                  4       R# r   )	assertRaisesr   r   r   r   r   r   r   r   r   s   &r   test_with_statement_exception&WithTest.test_with_statement_exception   s    //~0(2E2EFF  H,?,?M%'' GFF 0/// 	H$6$67s   .B0A<	<BBB)	c                0   \        R \        ,          4      ;_uu_ 4       pV P                  \        VR4       V P	                  \        V\        4      R4       RRR4       V P                  \        \        P                  4       R#   + '       g   i     L6; i)r   r   zpatching wrong typeN)	r   r   r   r   
assertTruer   r   r   r   r    mock_somethings   & r   test_with_statement_asWithTest.test_with_statement_as    sd    >H,--YDOOK	B13 . 	H$6$67	 .-s   8BB	c                $    ! R  R\         4      pVP                  p\        P                   ! VR4      ;_uu_ 4        V P                  VP                  VR4       RRR4       V P	                  VP                  V4       R#   + '       g   i     L.; i)c                       ] tR t^)tRtRtR# )6WithTest.test_patch_object_with_statement.<locals>.Foofoor   N)r   r   r   r   r   r   r   r   r   Foor/   )   s    Ir   r1   r   r   N)objectr   r   assertNotEqualr   )r    r1   originals   &  r    test_patch_object_with_statement)WithTest.test_patch_object_with_statement(   s`    	& 	==\\#{++xE ,1 ,+s   A??B	c                :   \        R R7      ;_uu_ 4        \        R\        ,          4      ;_uu_ 4       p\        R\        ,          4      ;_uu_ 4       pV P                  \        VR4       V P                  \
        VR4       RRR4       RRR4       RRR4       V P                  \        \        P                  4       V P                  \
        \        P                  4       R#   + '       g   i     Lj; i  + '       g   i     Lu; i  + '       g   i     L; i)T)recordr   %s.something_elser   N)	r   r   r   r   r   something_elser   r   SomethingElser    r*   mock_something_elses   &  r   test_with_statement_nested#WithTest.test_with_statement_nested1   s    4((~011^UK^aiKiEjEj  oB  NKH  1D!,. Fk1 ) 	H$6$67)?)?@ FkEj11 )(s:   D
C7	/C$C7	
D
$C4/C7	7DD

D	c                P   \        R \        ,          \        P                  4      ;_uu_ 4       pV P	                  \
        VR4       V P	                  V\        P                  R4       RRR4       V P	                  \
        \        P                  4       R#   + '       g   i     L6; i)r   r   zwrong patchNr   r   r   Patchedr   r   r   r)   s   & r   test_with_statement_specified&WithTest.test_with_statement_specified<   sn    >H,h.>.>??>YD^X-=-=}M @ 	H$6$67 @?s   9BB%	c                |   \        4       p\        4       Vn        \        4       Vn        R VP                  n        V;_uu_ 4       pV P	                  W!P                  P                  4       RRR4       VP                  P                  4        VP                  P                  RRR4       R#   + '       g   i     LI; i)FN)r   	__enter____exit__return_valuer   assert_called_with)r    mockms   &  r   testContextManagerMocking"WithTest.testContextManagerMockingC   sy    v%*"TQQ ; ;< ))+((tT: Ts   &B++B;	c           	     h   \        4       pV P                  \        4      ;_uu_ 4        V;_uu_ 4        R ^,            RRR4       RRR4       VP                  P	                  4        V P                  VP                  P                  4       R#   + '       g   i     LY; i  + '       g   i     Ld; i)r0   N)r   r$   	TypeErrorrF   rI   r(   rG   called)r    rJ   s   & r   $test_context_manager_with_magic_mock-WithTest.test_context_manager_with_magic_mockO   si    {y))	  * 	))+,,-  *)s!   B!
B	B!BB!!B1	c           	        \        R \        ,          \        P                  4      ;_uu_ 4       pV P	                  \
        VR4       \        R \        ,          4      ;_uu_ 4       pV P	                  \
        VR4       RRR4       V P	                  \
        VR4       RRR4       V P	                  \
        \        P                  R4       R#   + '       g   i     LV; i  + '       g   i     LJ; i)r   r   Nzrestored with wrong instanceznot restoredrA   )r    r*   
mock_agains   &  r   "test_with_statement_same_attribute+WithTest.test_with_statement_same_attributeY   s    >H,h.>.>??>YD~011Z  JD 2 Y;= @ 	H$6$6G 21 @?s#   6C$C
	<C
CCC-	c           	        \        R \        ,          4      ;_uu_ 4       pV P                  \        VR4       \        R\        ,          4      ;_uu_ 4       pV P                  \        VR4       RRR4       RRR4       V P                  \        \
        P                  4       V P                  \        \
        P                  4       R#   + '       g   i     Lb; i  + '       g   i     Lm; i)r   r   r9   N)r   r   r   r   r:   r   r   r;   r<   s   &  r   test_with_statement_imbricated'WithTest.test_with_statement_imbricatedf   s    >H,--YD*X566:M  1D!,. 7 . 	H$6$67)?)?@ 76 .-s#   6CC	-CCCC*	c           	        / p\         P                  ! VR R/4      ;_uu_ 4        V P                  VR R/4       RRR4       V P                  V/ 4       V P                  \        4      ;_uu_ 4        \         P                  ! VR R/4      ;_uu_ 4        V P                  VR R/4       \	        R4      h  + '       g   i     L; i  + '       g   i     M; i RRR4       M  + '       g   i     M; iT P                  T/ 4       R# )abNKonrad)r   dictr   r$   	NameError)r    r0   s   & r   test_dict_context_manager"WithTest.test_dict_context_managerr   s    ZZc3Z((S3*- )b!y))C#s,,  sCj1)) )(
 -,, *)))
 	b!s)   B20"C" C	2C	CC""C2	c           	         ! R  R4      pV! 4       p\         P                  ! VR4      ;_uu_ 4       p\         P                  ! VR4      ;_uu_ 4       pVP                  4        RRR4       V P                  XP                  ^4       V P                  VP                  ^ 4       VP                  4        RRR4       V P                  XP                  ^4       R#   + '       g   i     L~; i  + '       g   i     LA; i)c                   &   a  ] tR t^t o R tRtV tR# )5WithTest.test_double_patch_instance_method.<locals>.Cc                    R # )Nr   r   s   &r   f7WithTest.test_double_patch_instance_method.<locals>.C.f   s    r   r   N)r   r   r   r   rf   r   __classdictcell____classdict__s   @r   Crd      s     r   rk   rf   N)r   r2   rf   r   
call_count)r    rk   cpatch1patch2s   &    r   !test_double_patch_instance_method*WithTest.test_double_patch_instance_method   s    	 	 C\\!S!!Va%% &V..2V..2CCE " 	**A. &% "!s$    C+C	"AC+C(#C++C;	r   N)r   r   r   r   r!   r%   r+   r5   r>   rC   rL   rQ   rU   rX   r`   rp   r   rh   ri   s   @r   r   r      sI     8882A8	;.
H	A"/ /r   r   c                   z   a  ] tR t^t o 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R tR tRtV tR# )TestMockOpenc                    \        4       p\        R \        ,          VRR7      ;_uu_ 4       pV P                  W!4       \	        R4       RRR4       VP                  R4       R#   + '       g   i     L#; i%s.openTcreater0   N)r	   r   r   assertIsopenassert_called_once_withr    rJ   patcheds   &  r   test_mock_openTestMockOpen.test_mock_open   sP    {9x'd;;wMM'(K < 	$$U+	 <;s   A$$A4	c           	     \   \        4       pVP                  p\        R \        ,          VRR7      ;_uu_ 4        \	        R4      ;_uu_ 4       pVP                  4        RRR4       RRR4       \        R4      \        4       P                  4       \        4       P                  4       \        4       P                  RRR4      \        4       P                  4       .pV P                  VP                  V4       V P                  XV4       R#   + '       g   i     L; i  + '       g   i     L; iru   )r	   rH   r   r   rz   readr
   rF   rG   closer   
mock_callsry   )r    rJ   handlerf   expected_callss   &    r   test_mock_open_context_manager+TestMockOpen.test_mock_open_context_manager   s    {""9x'd;;e  < u+tv'7'7'946;;=&//$d;TV\\^M.9a   <;s#   DD	DDDD+	c                v   \        4       p\        R \        ,          VRR7      ;_uu_ 4        \        R4      ;_uu_ 4       pVP	                  4        RRR4       \        R4      ;_uu_ 4       pVP	                  4        RRR4       RRR4       \        R4      \        4       P                  4       \        4       P	                  4       \        4       P                  RRR4      \        4       P                  4       \        R4      \        4       P                  4       \        4       P	                  4       \        4       P                  RRR4      \        4       P                  4       .
pV P                  VP                  V4       R#   + '       g   i     EL7; i  + '       g   i     EL; i  + '       g   i     EL+; i)rv   Trw   r0   Nbar)r	   r   r   rz   r   r
   rF   rG   r   r   r   )r    rJ   rf   r   s   &   r   -test_mock_open_context_manager_multiple_times:TestMockOpen.test_mock_open_context_manager_multiple_times   s   {9x'd;;e e  < K))+TV[[]FOOD$-tv||~K))+TV[[]FOOD$-tv||~	?
 	.9  <;;s;   F' E?	F',F	=F'?F
	F'F$	F''F8	c                   \        4       p\        V4       \        R \        ,          VRR7      ;_uu_ 4       pV P	                  W!4       \        R4       RRR4       VP                  R4       R#   + '       g   i     L#; iru   )r   r	   r   r   ry   rz   r{   r|   s   &  r   test_explicit_mockTestMockOpen.test_explicit_mock   sW    {$9x'd;;wMM'(K < 	$$U+	 <;s   A//A?	c                    \        R R7      p\        R\        ,          VRR7      ;_uu_ 4        \        R4      pVP	                  4       pRRR4       V P                  XR 4       R#   + '       g   i     L$; i)r0   	read_datarv   Trw   r   Nr	   r   r   rz   r   r   r    rJ   hresults   &   r   test_read_dataTestMockOpen.test_read_data   sT    5)9x'd;;UAVVXF < 	'	 <;s   A&&A6	c                   \        R R7      p\        R\        ,          VRR7      ;_uu_ 4        \        R4      pVP	                  4       pVP	                  4       pVP	                  4       pRRR4       V P                  XR4       V P                  XR4       V P                  XR	4       V P                  XP	                  4       R
4       \        RR7      p\        R\        ,          VRR7      ;_uu_ 4        \        R4      pVP	                  4       pRRR4       V P                  XR4       V P                  VP	                  4       R
4       R#   + '       g   i     L; i  + '       g   i     LW; i)foo
bar
baz
r   rv   Trw   r   Nfoo
bar
baz
 r0   r	   r   r   rz   readliner   )r    rJ   r   line1line2line3r   s   &      r   test_readline_dataTestMockOpen.test_readline_data   s    #459x'd;;UAJJLEJJLEJJLE	 <
 	(((r* 5)9x'd;;UAZZ\F < 	'r*! <; <;s   <E5E E	 E0	c                8   \        R R7      p\        R\        ,          VRR7      ;_uu_ 4        \        R4      pV Uu. uF  q3NK  	  ppRRR4       V P	                  X^ ,          R4       V P	                  V^,          R4       V P	                  V^,          R	4       V P	                  XP                  4       R
4       V P                  \        4      ;_uu_ 4        \        V4       RRR4       R# u upi   + '       g   i     L; i  + '       g   i     R# ; ir   r   rv   Trw   r   Nr   r   r   r   )	r	   r   r   rz   r   r   r$   StopIterationnext)r    rJ   r   lliness   &    r   test_dunder_iter_data"TestMockOpen.test_dunder_iter_data   s    #459x'd;;UA !N1QEN < 	q7+q7+q7+r*}--G .- # <; .--s(   C5
C0C5D0C55D	D	c                   \        R R7      p\        R\        ,          VRR7      ;_uu_ 4        \        R4      p\	        V4      p\	        V4      pV Uu. uF  qUNK  	  ppRRR4       V P                  XR4       V P                  XR4       V P                  X^ ,          R	4       V P                  XP                  4       R
4       R# u upi   + '       g   i     Lt; ir   )r	   r   r   rz   r   r   r   )r    rJ   r   r   r   r   r   s   &      r   test_next_dataTestMockOpen.test_next_data   s     #459x'd;;UAGEGE !N1QEN	 <
 	((q7+r*	 #	 <;s   &C
CCCC	c                   \        R R7      p\        R\        ,          VRR7      ;_uu_ 4        \        R4      pVP	                  4       pRRR4       V P                  X. RO4       \        RR7      p\        R\        ,          VRR7      ;_uu_ 4        \        R4      pVP	                  4       pRRR4       V P                  V. R	O4       R#   + '       g   i     L; i  + '       g   i     L9; i)
r   r   rv   Trw   r   Nfoo
bar
baz)r   r   r   )r   r   bazr	   r   r   rz   	readlinesr   r   s   &   r   test_readlines_data TestMockOpen.test_readlines_data   s    #459x'd;;UA[[]F < 	!<= ?39x'd;;UA[[]F < 	!:; <; <;s   CC C	 C0	c           	     <   \        R R7      p\        R\        ,          VRR7      ;_uu_ 4        \        RR4      ;_uu_ 4       pVP	                  4       pRRR4       RRR4       V P                  XR 4       R#   + '       g   i     L,; i  + '       g   i     L7; i)   r   rv   Trw   abcrbNr   )r    rJ   rf   r   s   &   r   test_read_bytesTestMockOpen.test_read_bytes  sh    7+9x'd;;eT""a # < 	) #" <;s#   BA8	B8BBB	c           	        \        R R7      p\        R\        ,          VRR7      ;_uu_ 4        \        RR4      ;_uu_ 4       pVP	                  4       pVP	                  4       pVP	                  4       pRRR4       RRR4       V P                  XR4       V P                  XR	4       V P                  XR
4       R#   + '       g   i     LP; i  + '       g   i     L[; i)   abc
def
ghi
r   rv   Trw   r   r   N   abc
   def
   ghi
r   )r    rK   rf   r   r   r   s   &     r   test_readline_bytes TestMockOpen.test_readline_bytes  s     239x'488eT""a





 # 9
 	))) #" 98s#   C1B<	4C<CCC	c           	     @   \        R R7      p\        R\        ,          VRR7      ;_uu_ 4        \        RR4      ;_uu_ 4       pVP	                  4       pRRR4       RRR4       V P                  X. RO4       R#   + '       g   i     L.; i  + '       g   i     L9; i)	r   r   rv   Trw   r   r   N)r   r   r   r   )r    rK   rf   r   s   &   r   test_readlines_bytes!TestMockOpen.test_readlines_bytes   sj     239x'488eT""a # 9 	!?@ #" 98s#   BA:	B:B
BB	c                   R p\        VR7      pV P                  V! 4       P                  ^
4      VR,          4       V P                  V! 4       P                  ^
4      VR,          4       V! 4       pV P                  VP                  ^
4      VR,          4       V P                  VP                  ^
4      VR,          4       R# )r   r   :N
   N:r   NNN)r	   r   r   )r    	some_datarJ   rf   s   &   r   !test_mock_open_read_with_argument.TestMockOpen.test_mock_open_read_with_argument(  s     $	9-R)C.9R)C.9FYs^4Ys^4r   c                j   \        R R7      p\        R\        ,          VRR7      ;_uu_ 4        \        R4      pVP	                  4       pVP                  4       pRRR4       V P                  XR4       V P                  XRR	.4       \        R R7      p\        R\        ,          VRR7      ;_uu_ 4        \        R4      pVP	                  4       pVP                  4       pRRR4       V P                  VR4       V P                  VR
4       R#   + '       g   i     L; i  + '       g   i     LI; i)r   r   rv   Trw   r   Nr   r   r   zbar
baz
)r	   r   r   rz   r   r   r   r   )r    rJ   r   r   rests   &    r   test_interleaved_reads#TestMockOpen.test_interleaved_reads5  s     #459x'd;;UAJJLE;;=D < 	(12#459x'd;;UAJJLE668D < 	(|, <; <;s   ,D5,D"D	"D2	c                   \        R R7      pV! 4       pRVP                  n        RVP                  n        R.VP                  n        V P                  VP                  4       R4       V P                  VP                  4       R4       V P                  VP	                  4       R.4       V P                  VP                  4       R4       V P                  VP                  4       R4       R# )r0   r   r   N)r	   r   rH   r   r   r   )r    rJ   r   s   &  r   test_overriding_return_values*TestMockOpen.test_overriding_return_valuesI  s    5)#( ',$).%.*E2))+eW5 	*E2*E2r   r   N)r   r   r   r   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rh   ri   s   @r   rs   rs      sV     ,
!:,(+.+<$*	*A
5-(3 3r   rs   __main__)unittestwarningsr   #test.test_unittest.testmock.supportr   unittest.mockr   r   r   r   r	   r
   r   r   r;   r:   	Exceptionr   TestCaser   rs   r   mainr   r   r   <module>r      sx     # ; K K 	(( 'i &{/x   {/|I38$$ I3X zMMO r   