+
    Dfj                     t    R t ^ RIHt ^ RIHt ^RIHtHt ^RIH	t	 ^RI
Ht  ! R R]P                  4      tR# )	z)
Test cases for L{twisted.logger._util}.
)implementer)unittest)ILogObserverLogEvent)LogPublisher)formatTracec                   H   a  ] tR t^t o RtV 3R lR ltV 3R lR ltRtV tR# )	UtilTestsz
Utility tests.
c                   < V ^8  d   QhRR/#    returnN )format__classdict__s   "?/usr/lib/python3/dist-packages/twisted/logger/test/test_util.py__annotate__UtilTests.__annotate__   s     ' 'D '    c                b  a aaaaa \        4       o\        . R7      o\        \        4      R R l4       o\        \        4      R VVVVV 3R ll4       o\        \        4      R VVVVVV 3R ll4       oSP	                  S4       SP	                  S4       SP	                  S4       S! S4       R# )	z:
Tracing keeps track of forwarding done by the publisher.
	log_tracec                (    V ^8  d   QhR\         RR/# r   er   Nr   )r   s   "r   r   *UtilTests.test_trace.<locals>.__annotate__        	 	( 	t 	r   c                     R # Nr   r   s   &r   o1 UtilTests.test_trace.<locals>.o1       r   c                (    V ^8  d   QhR\         RR/# r   r   )r   s   "r   r   r   "        		 		( 		t 		r   c                 j   < SP                  V S4       SP                  V R ,          SS3SS3.4       R# r   NassertIsassertEqual)r   eventr!   o2	publisherselfs   &r   r,    UtilTests.test_trace.<locals>.o2!   s9    MM!U#+OOr   c                (    V ^8  d   QhR\         RR/# r   r   )r   s   "r   r   r   .   r%   r   c                 p   < SP                  V S4       SP                  V R ,          SS3SS3SS3.4       R# r'   r(   )r   r+   r!   r,   o3r-   r.   s   &r   r2    UtilTests.test_trace.<locals>.o3-   s@    MM!U#+OOOr   N)r   dictr   r   addObserver)r.   r+   r!   r,   r2   r-   s   f@@@@@r   
test_traceUtilTests.test_trace   s     !N	,	\	"	 
#	 
\	"		 		 
#		 
\	"		 		 
#		 	b!b!b!%r   c                   < V ^8  d   QhRR/# r   r   )r   r   s   "r   r   r   >   s     M M$ Mr   c                P  a aa \        . R7      o\        \        4      R R l4       p\        \        4      R R l4       p\        \        4      R R l4       p\        \        4      R R	 l4       p\        \        4      R
 R l4       pRVn        RVn        RVn        RVn        RVn        \        \        4      R VVV 3R ll4       pTp\	        V4      p\	        W#V4      p	RVn        RV	n        \	        WWW4      p
RV
n        RpVP                  V
VVVVVV	VVR7	      oV
! S4       R# )z
Format trace as string.
r   c                (    V ^8  d   QhR\         RR/# r   r   )r   s   "r   r   0UtilTests.test_formatTrace.<locals>.__annotate__E   r   r   c                     R # r   r   r    s   &r   r!   &UtilTests.test_formatTrace.<locals>.o1D   r#   r   c                (    V ^8  d   QhR\         RR/# r   r   )r   s   "r   r   r;   I   r   r   c                     R # r   r   r    s   &r   r,   &UtilTests.test_formatTrace.<locals>.o2H   r#   r   c                (    V ^8  d   QhR\         RR/# r   r   )r   s   "r   r   r;   M   r   r   c                     R # r   r   r    s   &r   r2   &UtilTests.test_formatTrace.<locals>.o3L   r#   r   c                (    V ^8  d   QhR\         RR/# r   r   )r   s   "r   r   r;   Q   r   r   c                     R # r   r   r    s   &r   o4&UtilTests.test_formatTrace.<locals>.o4P   r#   r   c                (    V ^8  d   QhR\         RR/# r   r   )r   s   "r   r   r;   U   r   r   c                     R # r   r   r    s   &r   o5&UtilTests.test_formatTrace.<locals>.o5T   r#   r   zroot/o1z
root/p1/o2z
root/p1/o3zroot/p1/p2/o4zroot/o5c                (    V ^8  d   QhR\         RR/# r   r   )r   s   "r   r   r;   a   s     	3 	3H 	3 	3r   c                 t   < SP                  V S4       \        V R ,          4      pSP                  VS4       R# r'   )r)   r   r*   )r   tracer+   expectedTracer.   s   & r   testObserver0UtilTests.test_formatTrace.<locals>.testObserver`   s/    MM!U#+/EUM2r   zroot/p1/p2/zroot/p1/zroot/z{root} ({root.name})
  -> {o1} ({o1.name})
  -> {p1} ({p1.name})
    -> {o2} ({o2.name})
    -> {o3} ({o3.name})
    -> {p2} ({p2.name})
      -> {o4} ({o4.name})
  -> {o5} ({o5.name})
  -> {oTest}
)	rootr!   r,   r2   rF   rJ   p1p2oTestN)r4   r   r   namer   r   )r.   r!   r,   r2   rF   rJ   rP   rU   rT   rS   rR   expectedTraceTemplater+   rO   s   f           @@r   test_formatTraceUtilTests.test_formatTrace>   sP    ,	\	"	 
#	 
\	"	 
#	 
\	"	 
#	 
\	"	 
#	 
\	"	 
#	 ! 
\	"	3 	3 
#	3
 """%BB.	 	  .44 5 

 	Ur   r   N)	__name__
__module____qualname____firstlineno____doc__r6   rX   __static_attributes____classdictcell__)r   s   @r   r	   r	      s!     ' 'RM Mr   r	   N)r^   zope.interfacer   twisted.trialr   _interfacesr   r   	_observerr   _utilr   TestCaser	   r   r   r   <module>rg      s/    ' " 0 $ {!! {r   