Ë
    ojÂ  ã                   ór   — d Z ddlmZ ddlmZ ddlmZmZ ddlm	Z	 ddl
mZ  G d„ d	ej                  «      Zy
)z)
Test cases for L{twisted.logger._util}.
é    )Úimplementer)Úunittesté   )ÚILogObserverÚLogEvent)ÚLogPublisher)ÚformatTracec                   ó    — e Zd ZdZdd„Zdd„Zy)Ú	UtilTestsz
    Utility tests.
    Nc                 ó€  ‡ ‡‡‡‡‡— t        «       Št        g ¬«      Št        t        «      dt        ddfd„«       Št        t        «      dt        ddfˆˆˆˆˆ fd„«       Št        t        «      dt        ddfˆˆˆˆˆˆ fd„«       Š‰j                  ‰«       ‰j                  ‰«       ‰j                  ‰«        ‰‰«       y)zJ
        Tracing keeps track of forwarding done by the publisher.
        ©Ú	log_traceÚeÚreturnNc                  ó   — y ©N© ©r   s    ú?/usr/lib/python3/dist-packages/twisted/logger/test/test_util.pyÚo1z UtilTests.test_trace.<locals>.o1   ó   € àó    c                 ó`   •— ‰j                  | ‰«       ‰j                  | d   ‰‰f‰‰fg«       y ©Nr   ©ÚassertIsÚassertEqual)r   Úeventr   Úo2Ú	publisherÚselfs    €€€€€r   r   z UtilTests.test_trace.<locals>.o2!   s9   ø€ à�M‰M˜!˜UÔ#Ø×ÑØ�+‘à �OØ �Oðõr   c                 óf   •— ‰j                  | ‰«       ‰j                  | d   ‰‰f‰‰f‰‰fg«       y r   r   )r   r   r   r   Úo3r    r!   s    €€€€€€r   r#   z UtilTests.test_trace.<locals>.o3-   s@   ø€ à�M‰M˜!˜UÔ#Ø×ÑØ�+‘à �OØ �OØ �Oðõr   )r   Údictr   r   r   ÚaddObserver)r!   r   r   r   r#   r    s   `@@@@@r   Ú
test_tracezUtilTests.test_trace   sÇ   ý€ ô !“Nˆ	ä¨Ô,ˆä	”\Ó	"ð	”(ð 	˜tò 	ó 
#ð	ô 
”\Ó	"ð		”(ð 		˜t÷ 		ð 		ó 
#ð		ô 
”\Ó	"ð		”(ð 		˜t÷ 		ñ 		ó 
#ð		ð 	×Ñ˜bÔ!Ø×Ñ˜bÔ!Ø×Ñ˜bÔ!Ù�%Õr   c                 óš  ‡ ‡‡— t        g ¬«      Št        t        «      dt        ddfd„«       }t        t        «      dt        ddfd„«       }t        t        «      dt        ddfd„«       }t        t        «      dt        ddfd„«       }t        t        «      dt        ddfd	„«       }d
|_        d|_        d|_        d|_        d|_        t        t        «      dt        ddfˆˆˆ fd„«       }|}t        |«      }t        |||«      }	d|_        d|	_        t        ||	||«      }
d|
_        d}|j                  |
||||||	||¬«	      Š |
‰«       y)z)
        Format trace as string.
        r   r   r   Nc                  ó   — y r   r   r   s    r   r   z&UtilTests.test_formatTrace.<locals>.o1D   r   r   c                  ó   — y r   r   r   s    r   r   z&UtilTests.test_formatTrace.<locals>.o2H   r   r   c                  ó   — y r   r   r   s    r   r#   z&UtilTests.test_formatTrace.<locals>.o3L   r   r   c                  ó   — y r   r   r   s    r   Úo4z&UtilTests.test_formatTrace.<locals>.o4P   r   r   c                  ó   — y r   r   r   s    r   Úo5z&UtilTests.test_formatTrace.<locals>.o5T   r   r   zroot/o1z
root/p1/o2z
root/p1/o3zroot/p1/p2/o4zroot/o5c                 ój   •— ‰j                  | ‰«       t        | d   «      }‰j                  |‰«       y r   )r   r	   r   )r   Útracer   ÚexpectedTracer!   s     €€€r   ÚtestObserverz0UtilTests.test_formatTrace.<locals>.testObserver`   s/   ø€ à�M‰M˜!˜UÔ#Ü  +¡Ó/ˆEØ×Ñ˜U MÕ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   r#   r,   r.   Úp1Úp2ÚoTest)r$   r   r   r   Únamer   Úformat)r!   r   r   r#   r,   r.   r2   r6   r5   r4   r3   ÚexpectedTraceTemplater   r1   s   `           @@r   Útest_formatTracezUtilTests.test_formatTrace>   s¥  ú€ ô ¨Ô,ˆä	”\Ó	"ð	”(ð 	˜tò 	ó 
#ð	ô 
”\Ó	"ð	”(ð 	˜tò 	ó 
#ð	ô 
”\Ó	"ð	”(ð 	˜tò 	ó 
#ð	ô 
”\Ó	"ð	”(ð 	˜tò 	ó 
#ð	ô 
”\Ó	"ð	”(ð 	˜tò 	ó 
#ð	ð ˆŒØˆŒØˆŒØ!ˆŒØˆŒô 
”\Ó	"ð	3œHð 	3¨ö 	3ó 
#ð	3ð
 ˆä˜"ÓˆÜ˜"˜b "Ó%ˆàˆŒØˆŒä˜B  B¨Ó.ˆØˆŒ	ðð 	ð  .×4Ñ4ØØØØØØØØØð 5ó 

ˆñ 	ˆU�r   )r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r&   r:   r   r   r   r   r      s   „ ñó'ôRMr   r   N)r>   Úzope.interfacer   Útwisted.trialr   Ú_interfacesr   r   Ú	_observerr   Ú_utilr	   ÚTestCaser   r   r   r   ú<module>rE      s/   ðñõ 'å "ß 0Ý $Ý ô{�×!Ñ!õ {r   