§
    ÈtºfÂ  ã                   óp   — 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d
S )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dS )Ú	UtilTestsz
    Utility tests.
    ÚreturnNc                 óæ  ‡ ‡‡‡‡‡— 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„¦   «         Š‰                     ‰¦  «         ‰                     ‰¦  «         ‰                     ‰¦  «          ‰‰¦  «         dS )zJ
        Tracing keeps track of forwarding done by the publisher.
        ©Ú	log_traceÚer   Nc                 ó   — d S ©N© ©r   s    ú\/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/twisted/logger/test/test_util.pyÚo1z UtilTests.test_trace.<locals>.o1   ó   € àˆDó    c                 óx   •— ‰                      | ‰¦  «         ‰                     | d         ‰‰f‰‰fg¦  «         d S ©Nr   ©ÚassertIsÚassertEqual)r   Úeventr   Úo2Ú	publisherÚselfs    €€€€€r   r   z UtilTests.test_trace.<locals>.o2!   sS   ø€ à�MŠM˜!˜UÑ#Ô#Ð#Ø×ÒØ�+”à �OØ �Oðñô ð ð ð r   c                 ó~   •— ‰                      | ‰¦  «         ‰                     | d         ‰‰f‰‰f‰‰fg¦  «         d S r   r   )r   r   r   r   Úo3r    r!   s    €€€€€€r   r#   z UtilTests.test_trace.<locals>.o3-   sZ   ø€ à�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”Nˆ	å¨Ð,Ñ,Ô,ˆå	•\Ñ	"Ô	"ð	•(ð 	˜tð 	ð 	ð 	ñ 
#Ô	"ð	õ 
•\Ñ	"Ô	"ð		•(ð 		˜tð 		ð 		ð 		ð 		ð 		ð 		ð 		ð 		ð 		ñ 
#Ô	"ð		õ 
•\Ñ	"Ô	"ð		•(ð 		˜tð 		ð 		ð 		ð 		ð 		ð 		ð 		ð 		ð 		ð 		ñ 
#Ô	"ð		ð 	×Ò˜bÑ!Ô!Ð!Ø×Ò˜bÑ!Ô!Ð!Ø×Ò˜bÑ!Ô!Ð!Øˆ	�%ÑÔÐÐÐr   c                 ó6  ‡ ‡‡— 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}|                     |
||||||	||¬¦	  «	        Š |
‰¦  «         dS )z)
        Format trace as string.
        r   r   r   Nc                 ó   — d S r   r   r   s    r   r   z&UtilTests.test_formatTrace.<locals>.o1D   r   r   c                 ó   — d S r   r   r   s    r   r   z&UtilTests.test_formatTrace.<locals>.o2H   r   r   c                 ó   — d S r   r   r   s    r   r#   z&UtilTests.test_formatTrace.<locals>.o3L   r   r   c                 ó   — d S r   r   r   s    r   Úo4z&UtilTests.test_formatTrace.<locals>.o4P   r   r   c                 ó   — d S 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                 óŠ   •— ‰                      | ‰¦  «         t          | d         ¦  «        }‰                     |‰¦  «         d S r   )r   r	   r   )r   Útracer   ÚexpectedTracer!   s     €€€r   ÚtestObserverz0UtilTests.test_formatTrace.<locals>.testObserver`   sD   ø€ à�MŠM˜!˜UÑ#Ô#Ð#Ý  +¤Ñ/Ô/ˆEØ×Ò˜U MÑ2Ô2Ð2Ð2Ð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>   s9  øøø€ õ ¨Ð,Ñ,Ô,ˆå	•\Ñ	"Ô	"ð	•(ð 	˜tð 	ð 	ð 	ñ 
#Ô	"ð	õ 
•\Ñ	"Ô	"ð	•(ð 	˜tð 	ð 	ð 	ñ 
#Ô	"ð	õ 
•\Ñ	"Ô	"ð	•(ð 	˜tð 	ð 	ð 	ñ 
#Ô	"ð	õ 
•\Ñ	"Ô	"ð	•(ð 	˜tð 	ð 	ð 	ñ 
#Ô	"ð	õ 
•\Ñ	"Ô	"ð	•(ð 	˜tð 	ð 	ð 	ñ 
#Ô	"ð	ð ˆŒØˆŒØˆŒØ!ˆŒØˆŒõ 
•\Ñ	"Ô	"ð	3�Hð 	3¨ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ñ 
#Ô	"ð	3ð
 ˆå˜"ÑÔˆÝ˜"˜b "Ñ%Ô%ˆàˆŒØˆŒå˜B  B¨Ñ.Ô.ˆØˆŒ	ðð 	ð  .×4Ò4ØØØØØØØØØð 5ñ 

ô 

ˆð 	ˆˆU‰Œˆˆˆr   )r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r&   r:   r   r   r   r   r      sM   € € € € € ðð ð'ð 'ð 'ð 'ðRMð Mð Mð Mð Mð Mr   r   N)r>   Úzope.interfacer   Útwisted.trialr   Ú_interfacesr   r   Ú	_observerr   Ú_utilr	   ÚTestCaser   r   r   r   ú<module>rE      s²   ððð ð 'Ð &Ð &Ð &Ð &Ð &à "Ð "Ð "Ð "Ð "Ð "Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð ð{ð {ð {ð {ð {�Ô!ñ {ô {ð {ð {ð {r   