+
    WBi)                         ^ RI t ^ RIt^ RItRR ltRR ltRR ltRR ltR tR tR t	R	 t
R
 tR tR tR tRR lt ! R R4      t] P"                  RR l4       tRR ltRR ltRR ltRR ltR# )    Nc                B    W8X  g   Q T;'       g
    V : RV: 24       hR# )z.Assert a == b, with repr messaging on failure.z != N abmsgs   &&&</usr/lib/python3.14/site-packages/mako/testing/assertions.pyeq_r
          6-3--1--6    c                B    W8w  g   Q T;'       g
    V : RV: 24       hR# )z.Assert a != b, with repr messaging on failure.z == Nr   r   s   &&&r	   ne_r      r   r   c                B    W9   g   Q T;'       g
    V : RV: 24       hR# )z.Assert a in b, with repr messaging on failure.z not in Nr   r   s   &&&r	   in_r      s    61311Aq116r   c                B    W9  g   Q T;'       g
    V : RV: 24       hR# )z2Assert a in not b, with repr messaging on failure.z is in Nr   r   s   &&&r	   not_inr      s    :4s44q!44:r   c                    V P                   V P                  Jd/   V P                  '       g   Q RT : RT P                   : R24       hR# R# )3  assert that any exception we're catching does not have a __context__
without a __cause__, and that __suppress_context__ is never set.

Python 3 will report nested as exceptions as "during the handling of
error X, error Y occurred". That's not what we want to do. We want
these exceptions in a cause chain.


Exception z> was correctly raised but did not set a cause, within context z as its cause.N)__context__	__cause____suppress_context__)	exceptions   &r	    _assert_proper_exception_contextr      sL     	Y%8%88...	
 )//1	
u / 	9r   c                z    \        V P                  V4      '       g   Q RV : RV P                  : RV: R24       hR# )r   r   z$ was correctly raised but has cause z., which does not have the expected cause type .N)
isinstancer   )r   	cause_clss   &&r	   _assert_proper_cause_clsr   /   s8     i))955  i))9	65r   c                     \        WW#4      # N_assert_raises
except_cls	callable_argskws   &&*,r	   assert_raisesr)   ?   s    *::r   c                     \        WW#R R7      # )Tcheck_contextr"   r$   s   &&*,r	   !assert_raises_with_proper_contextr-   C   s    *NNr   c                     \        WW4VR 7      # ))r   r"   )r%   r   r&   r'   r(   s   &&&*,r	   assert_raises_with_given_causer/   G   s     *YOOr   c                     \        WW4VR 7      # ))r   r"   r%   r   r&   r'   kwargss   &&&*,r	   assert_raises_messager3   M   s    *3GGr   c           	           \        WW4VR R7      # )Tr   r,   r"   r1   s   &&&*,r	   )assert_raises_message_with_proper_contextr6   Q   s     tD r   c           	          \        WWEWR 7      # ))r   r   r"   )r%   r   r   r&   r'   r2   s   &&&&*,r	   &assert_raises_message_with_given_causer8   Y   s     t r   c                     \        WWV4      ;_uu_ 4       pV! V/ VB  R R R 4       VP                  #   + '       g   i     XP                  # ; ir!   )_expect_raiseserror)r%   r&   r'   r2   r   r,   r   ecs   &&&&&&& r	   r#   r#   a   sB     

	B	Bb4"6" 
C88O 
C	B88Os	   	2A	c                       ] tR t^otRtRtR# )_ErrorContainerNr   )__name__
__module____qualname____firstlineno__r;   __static_attributes__r   r   r	   r>   r>   o   s    Er   r>   c              #     "   \        4       pV'       d   \        P                  ! 4       ^ ,          p Vx  Rp?V'       g   Q R4       hR#   T  d   pYtn        RpTeE   \	        T4      p\
        P                  ! Y\
        P                  4      '       g   Q T: RT: 24       hTe   \        Ys4       T'       d   X'       g   \        T4       \        \	        T4      P                  R4      4        Rp?LRp?ii ; i5i)r   FTNz !~ zutf-8z#Callable did not raise an exception)r>   sysexc_infor;   strresearchUNICODEr   r   printencode)	r%   r   r,   r   r<   are_we_already_in_a_tracebacksuccesserrerror_as_strings	   &&&&     r	   r:   r:   s   s     		B(+q(9%(. 	 99973  (? "#hO99S2::>> A >  $S4!>,S1c#hoog&''(s@   /C;A
 C;	C;
C8A&C38C3 .C3.C;3C88C;c                     \        WR 7      # r+   r:   r%   r,   s   &&r	   expect_raisesrU          *BBr   c                     \        WVR 7      # r5   rS   r%   r   r,   s   &&&r	   expect_raises_messagerZ      s    *]KKr   c                     \        WR 7      # rR   rS   rT   s   &&r	   !expect_raises_with_proper_contextr\      rV   r   c                     \        WVR 7      # rX   rS   rY   s   &&&r	   )expect_raises_message_with_proper_contextr^      s     *]KKr   r!   )NFN)F)T)
contextlibrH   rE   r
   r   r   r   r   r   r)   r-   r/   r3   r6   r8   r#   r>   contextmanagerr:   rU   rZ   r\   r^   r   r   r	   <module>ra      s     	 
.
.
2
5

* ;OPH   :  :FCLCLr   