
    VhQ                    *   d dl mZ d dlZd dlmZ d dlmZ d dlmZm	Z	m
Z
mZmZmZmZmZmZmZmZ d dlmZ d dlmZ dZd	Z G d
 dej2                        Z G d d      Z G d d      Z G d dej2                        Z G d dej2                        Zy)    )annotationsN)Callable)helper)BLINKBOLDG0G1G2G3NORMALREVERSE_VIDEO	UNDERLINEmodesprivateModes)failure)unittestP      c                     e Zd Zd$dZd$dZd$dZd$dZd$dZd$dZd$dZ	d$dZ
d$d	Zd$d
Zd$dZd$dZd$dZd$dZd$dZd$dZd$dZd$dZd$dZd$dZd$dZd$dZd$dZd$dZd$dZd$dZd$dZd$dZd$dZd$dZ d$dZ!d$d Z"d$d!Z#d$d"Z$y#)%BufferTestsc                j    t        j                         | _        | j                  j                          y N)r   TerminalBuffertermconnectionMadeselfs    N/home/dcms/DCMS/lib/python3.12/site-packages/twisted/conch/test/test_helper.pysetUpzBufferTests.setUp   s"    ))+			  "    c                h   | j                  | j                  j                  t               | j                  | j                  j                  t
               | j                  | j                  j                         dt
        dz
  z         | j                  | j                  j                         d       y )N   
   r   r   )assertEqualr   widthWIDTHheightHEIGHT	__bytes__reportCursorPositionr   s    r   testInitialStatezBufferTests.testInitialState#   sw    %0))62,,.!0DE7796Br    c                    | j                  t        j                  dt        j                  di| j                  j                         y)z
        Verify that only DEC Auto Wrap Mode (DECAWM) and DEC Text Cursor Enable
        Mode (DECTCEM) are initially in the Set Mode (SM) state.
        TN)r%   r   	AUTO_WRAPCURSOR_MODEr   r   s    r   test_initialPrivateModesz$BufferTests.test_initialPrivateModes)   s7    
 	##T<+C+CTJII""	
r    c                N   | j                   j                  d       | j                   j                  d       | j                  | j                   j	                         d       | j                   j                  d       | j                  | j                   j	                         d       y)zQ
        C{""} moves the cursor to the first column in the current row.
              r2   r3      r   r3   N)r   cursorForward
cursorDownr%   r+   insertAtCursorr   s    r   test_carriageReturnzBufferTests.test_carriageReturn3   st     			"		Q7796B		  '7796Br    c                   | j                   j                  d       | j                  | j                   j                         d       | j                   j	                  d       | j                  | j                   j                         d       y)zV
        C{"
"} moves the cursor to the next row without changing the column.
        r2   )r2   r   r"   r2   r#   N)r   r7   r%   r+   r9   r   s    r   test_linefeedzBufferTests.test_linefeed=   sb     			"7796B		  '7796Br    c                N   | j                   j                  d       | j                   j                  d       | j                  | j                   j	                         d       | j                   j                  d       | j                  | j                   j	                         d       y)z:
        C{write} transforms C{"
"} into C{"
"}.
        r2   r3   r4   r"   r      N)r   r7   r8   r%   r+   writer   s    r   test_newlinezBufferTests.test_newlineF   sr     			"		Q7796B		7796Br    c                V   | j                   j                  j                         }| j                   j                  t        j                  t        j
                  g       d|t        j                  <   d|t        j
                  <   | j                  || j                   j                         y)z
        Verify that L{helper.TerminalBuffer.setPrivateModes} changes the Set
        Mode (SM) state to "set" for the private modes it is passed.
        TN)r   r   copysetPrivateModesSCROLLSCREENr%   r   expecteds     r   test_setPrivateModesz BufferTests.test_setPrivateModesP   sy    
 99))..0		!!<#6#68K8K"LM(,$$%(,$$%499#9#9:r    c                N   | j                   j                  j                         }| j                   j                  t        j                  t        j
                  g       |t        j                  = |t        j
                  = | j                  || j                   j                         y)z
        Verify that L{helper.TerminalBuffer.resetPrivateModes} changes the Set
        Mode (SM) state to "reset" for the private modes it is passed.
        N)r   r   rD   resetPrivateModesr.   r/   r%   rH   s     r   test_resetPrivateModesz"BufferTests.test_resetPrivateModes[   su    
 99))..0		##\%;%;\=U=U$VW\++,\--.499#9#9:r    c                   | j                   j                  d       | j                  | j                   j                         d       | j                   j                          | j                  | j                   j                         d       | j                   j                  t               | j                  | j                   j                         dt        dz
  f       y )Nr3   r6   r?   r   r#   )r   r8   r%   r+   r)   r   s    r   testCursorDownzBufferTests.testCursorDownf   s    		Q7796B		7796B		V$779Avz?Kr    c                   | j                   j                  d       | j                  | j                   j                         d       | j                   j	                  d       | j                   j                  d       | j                  | j                   j                         d       | j                   j                  d       | j                  | j                   j                         d       y )Nr2   r$      r#   )r      rR   )r   cursorUpr%   r+   r8   r   s    r   testCursorUpzBufferTests.testCursorUpn   s    		17796B		R 		17797C		27796Br    c                   | j                   j                  d       | j                  | j                   j                         d       | j                   j                  d       | j                  | j                   j                         d       | j                   j                  t               | j                  | j                   j                         t        df       y )N   )rV   r   )r@   r   r   )r   r7   r%   r+   r'   r   s    r   testCursorForwardzBufferTests.testCursorForwardy   s    		"7796B		"7796B		&779E1:Fr    c                b   | j                   j                  d       | j                   j                  d       | j                  | j                   j	                         d       | j                   j                  d       | j                  | j                   j	                         d       | j                   j                  d       | j                  | j                   j	                         d       | j                   j                  d       | j                  | j                   j	                         d       y )N
   rV   )   r      )r#   r   r#   r$   )r   r7   cursorBackwardr%   r+   r   s    r   testCursorBackwardzBufferTests.testCursorBackward   s    		#		  #7796B		  #7796B		  #7796B		  #7796Br    c                    | j                   j                  dd       | j                  | j                   j                         d       y )Nr3   	   )r3   r_   )r   cursorPositionr%   r+   r   s    r   testCursorPositioningz!BufferTests.testCursorPositioning   s3    		  A&7796Br    c                    d}| j                   j                  |       | j                  | j                   j                         |dz   dt        dz
  z  z          y )N   Hello, world.r"   rV   )r   rA   r%   r*   r)   r   ss     r   testSimpleWritingzBufferTests.testSimpleWriting   sF    		,,.E	EVaZ<P0PQr    c                   d}| j                   j                  |       | j                   j                  t        |             | j                   j	                  t
        j                  g       | j                   j                  d       | j                  | j                   j                         d|dd  z   dz   dt        dz
  z  z          y )Ns   hello, world.   Hr#   r"   rV   )
r   rA   r\   len
resetModesr   IRMr%   r*   r)   rd   s     r   testOvertypezBufferTests.testOvertype   s    				  Q(		eii[)		II!D1QR5LE#9EVaZ<P#P	
r    c                   d}| j                   j                  |       | j                   j                  t        |             | j                   j	                  t
        j                  g       | j                   j                  d       | j                  | j                   j                         d|z   dz   dt        dz
  z  z          y )Ns   ello, world.rh   r"   rV   )
r   rA   r\   ri   setModesr   rk   r%   r*   r)   rd   s     r   
testInsertzBufferTests.testInsert   s    				  Q(		EII;'		II!D1H#5!8L#L	
r    c                X   d}| j                   j                  d       | j                   j                  d       | j                   j                  |       | j	                  | j                   j                         d| j                   j                  dz  z   |z   dz   dt        dz
  z  z          y )Nrc   r2   s   




r"   r[   )r   r8   r7   rA   r%   r*   fillr)   rd   s     r   testWritingInTheMiddlez"BufferTests.testWritingInTheMiddle   s    		Q		"		II!!+,q0585FQJ;OO	
r    c                4   d}| j                   j                  t        dz
         | j                   j                  |       | j	                  | j                   j                         |d d j                  t              dz   |dd  z   dz   dt        dz
  z  z          y )Nrc   r2   r"   r3   )r   r7   r'   rA   r%   r*   rjustr)   rd   s     r   testWritingWrappedAtEndOfLinez)BufferTests.testWritingWrappedAtEndOfLine   s    			*		II!bqEKK&12.6&1*9MM	
r    c                   | j                   j                          | j                  | j                   j                         d       | j                   j	                  t
               | j                  | j                   j                         dt
        dz
  f       | j                   j                          | j                  | j                   j                         dt
        dz
  f       y )Nr   r#   r   r#   )r   indexr%   r+   r8   r)   r   s    r   	testIndexzBufferTests.testIndex   s    		7796B		V$779Avz?K		779Avz?Kr    c                   | j                   j                          | j                  | j                   j                         d       | j                   j	                  d       | j                  | j                   j                         d       | j                   j                          | j                  | j                   j                         d       y )Nr$   rV   r   rV   rw   )r   reverseIndexr%   r+   r8   r   s    r   testReverseIndexzBufferTests.testReverseIndex   s    		 7796B		Q7796B		 7796Br    c                   | j                   j                          | j                  | j                   j                         d       | j                   j	                  d       | j                  | j                   j                         d       | j                   j                          | j                  | j                   j                         d       y)zm
        C{nextLine} positions the cursor at the beginning of the row below the
        current row.
        rw   r2   r<   r{   N)r   nextLiner%   r+   r7   r   s    r   test_nextLinezBufferTests.test_nextLine   s    
 			7796B		"7796B		7796Br    c                @   | j                   j                  d       | j                   j                  d       | j                  | j                   j	                         d       | j                   j                          | j                   j                  d       | j                   j                  d       | j                  | j                   j	                         d       | j                   j                          | j                  | j                   j	                         d       y )Nr2   r[   )r[   r2   r3   )r@      )r   r8   r7   r%   r+   
saveCursorr\   restoreCursorr   s    r   testSaveCursorzBufferTests.testSaveCursor   s    		Q		"7796B				Q		  #7797C		!7796Br    c                x   | j                   j                          | j                   j                  d       | j                   j                  dd      }| j	                  |d   d       | j	                  |d   j
                  t               | j                   j                  dd      }| j	                  |d   d       | j	                  |d   j
                  t               | j                   j                          | j                   j                  d       | j                   j                  dd      }| j	                  |d   d       | j	                  |d   j
                  t               | j                   j                  d	d      }| j	                  |d   d       | j	                  |d   j
                  t               y )
Ns   Hir   rh   r#      is   !!rV      !r3   )
r   singleShift2rA   getCharacterr%   charsetr
   r   singleShift3r   r   chs     r   testSingleShiftszBufferTests.testSingleShifts   sJ   		 		YY##Aq)A%A+YY##Aq)A%A+		 		YY##Aq)A%A+YY##Aq)A%A+r    c           	     X   d}d}d}| j                   j                  d       | j                   j                          | j                   j                  d       | j                   j                          | j                   j                  d       t        }d}|||fD ]  }t        t        |            D ]X  }| j                   j                  ||      }| j                  |d   |||dz           | j                  |d   j                  |       Z |t        k(  xr t        xs t        }|dz  } y )	Ns   Hellos   Worlds   Bye!s   Hello
s   World
s   Bye!
r   r#   )r   rA   shiftOutshiftInr   rangeri   r   r%   r   r	   )	r   s1s2s3ghre   ir   s	            r   testShiftingzBufferTests.testShifting   s    		
#				
#					"b" 	A3q6] 3YY++Aq1  A!a!e5  A23 RB$"AFA	r    c                :   | j                   j                  t        t        t        t
               | j                   j                  d       | j                   j                  t               | j                   j                  d       | j                   j                  t               | j                   j                  d       | j                   j                  t               | j                   j                  d       | j                   j                  dd      }| j                  |d   d       | j                  |d   j                         | j                  |d   j                         | j                  |d   j                         | j                  |d   j                         | j                   j                  dd      }| j                  |d   d       | j                  |d   j                         | j                  |d   j                         | j                  |d   j                         | j                  |d   j                         | j                   j                  dd      }| j                  |d   d       | j                  |d   j                         | j                  |d   j                         | j                  |d   j                         | j                  |d   j                         | j                   j                  dd      }| j                  |d   d       | j                  |d   j                         | j                  |d   j                         | j                  |d   j                         | j                  |d   j                         y )	N   W   X   Y   Zr   r#   rV   r3   )r   selectGraphicRenditionr   r   r   r   rA   r   r   r%   
assertTruebold	underlineblinkreverseVideoassertFalser   s     r   testGraphicRenditionz BufferTests.testGraphicRendition  s   		((y%O				((0				((/				((.		YY##Aq)A%1

#1(1$1**+YY##Aq)A%A$A)A%A++,YY##Aq)A%1$A$A)A++,YY##Aq)A%1$1

#A)A++,r    c                   d}d}| j                   j                  t        j                  t        j                  z   t        j
                  t        j                  z          | j                   j                  |dz          | j                   j                  t               | j                   j                  |dz          t        t        |            D ]/  }| j                   j                  |d      }| j                  |d   |||dz           | j                  |d   j                  t               | j                  |d   j                          | j                  |d   j"                         | j                  |d   j$                         | j                  |d   j&                         | j                  |d   j(                  t        j                         | j                  |d   j*                  t        j                         2 t        t        |            D ]/  }| j                   j                  |d      }| j                  |d   |||dz           | j                  |d   j                  t               | j                  |d   j                          | j                  |d   j"                         | j                  |d   j$                         | j                  |d   j&                         | j                  |d   j(                  t        j,                         | j                  |d   j*                  t        j.                         2 y )Ns
   Merry xmass   Just kiddingr"   r   r#   )r   r   r   
FOREGROUNDRED
BACKGROUNDGREENrA   r   r   ri   r   r%   r   r   r   r   r   r   r   
foreground
backgroundWHITEBLACK)r   r   r   r   r   s        r   testColorAttributeszBufferTests.testColorAttributes4  sq   		((

*F,=,=,L	
 			U
#		((0		U
#s2w 		=A''1-BRUBq1q5M2RU]]B/RUZZ(RU__-RU[[)RU//0RU--vzz:RU--v||<		= s2w 		=A''1-BRUBq1q5M2RU]]B/RUZZ(RU__-RU[[)RU//0RU--v||<RU--v||<		=r    c                b   d}d}d}| j                   j                  dj                  |||f      dz          | j                   j                  dd       | j                   j	                          | j                  | j                   j                         |dz   dz   |z   dz   dt        dz
  z  z          y )Ns   line 1s   line 2s   line 3r"   r#   r@   )r   rA   joinr`   	eraseLiner%   r*   r)   r   r   r   r   s       r   testEraseLinezBufferTests.testEraseLineT  s    		

BB<0589		  A&		II!J#e+evz.BB	
r    c                "   d}| j                   j                  |       | j                   j                  d       | j                   j                          | j	                  | j                   j                         |d d dz   dt        dz
  z  z          y )Nrc   r2   r"   rV   )r   rA   r\   eraseToLineEndr%   r*   r)   rd   s     r   testEraseToLineEndzBufferTests.testEraseToLineEnda  so    				  #		  ",,.#2&ST*AU0UVr    c                R   d}| j                   j                  |       | j                   j                  d       | j                   j                          | j	                  | j                   j                         |dd  j                  t        |            dz   dt        dz
  z  z          y )Nrc   r2   r"   rV   )	r   rA   r\   eraseToLineBeginningr%   r*   rt   ri   r)   rd   s     r   testEraseToLineBeginningz$BufferTests.testEraseToLineBeginningh  s    				  #		&&(II!1RS6<<A#7%#?%6TU:BV#V	
r    c                   | j                   j                  d       | j                   j                  d       | j                   j                          | j                  | j                   j	                         dt
        dz
  z         y )Ns   Hello world
s   Goodbye world
r"   r#   )r   rA   eraseDisplayr%   r*   r)   r   s    r   testEraseDisplayzBufferTests.testEraseDisplayq  sZ    		()		*+		 ,,.!0DEr    c                X   d}d}| j                   j                  dj                  ||df             | j                   j                  dd       | j                   j	                          | j                  | j                   j                         |dz   |d d z   dz   dt        dz
  z  z          y )N   Hello world   Goodbye worldr"   r    r2   r#   r3   )r   rA   r   r`   eraseToDisplayEndr%   r*   r)   r   r   r   s      r   testEraseToDisplayEndz!BufferTests.testEraseToDisplayEndx  s    		

BC=12		  A&		##%II!2:2A#6#>&ST*AU#U	
r    c           	        d}d}| j                   j                  dj                  ||f             | j                   j                  dd       | j                   j	                          | j                  | j                   j                         d|dd  j                  t        |            z   dz   dt        dz
  z  z          y )Nr   r   r"   r2   r#      r3   )
r   rA   r   r`   eraseToDisplayBeginningr%   r*   rt   ri   r)   r   s      r   testEraseToDisplayBeginningz'BufferTests.testEraseToDisplayBeginning  s    		

B8,-		  A&		))+II!BqrFLLR))E1EVaZ4HH	
r    c                V   d}d}| j                   j                  dj                  ||f             | j                   j                  dd       | j                   j	                          | j                  | j                   j                         |dz   dz   |z   dz   dt        dz
  z  z          y )Nr   r   r"   r[   r#   r@   )r   rA   r   r`   
insertLiner%   r*   r)   r   s      r   testLineInsertionzBufferTests.testLineInsertion  s    		

B8,-		  A&		II!J#e+evz.BB	
r    c                V   d}d}d}| j                   j                  dj                  |||f             | j                   j                  dd       | j                   j	                          | j                  | j                   j                         |dz   |z   dz   dt        dz
  z  z          y )Nr   s   Middle wordsr   r"   r_   r#   r3   )r   rA   r   r`   
deleteLiner%   r*   r)   r   s       r   testLineDeletionzBufferTests.testLineDeletion  s    		

BB<01		  A&		II!2:?U#:Ufqj=Q#Q	
r    NreturnNone)%__name__
__module____qualname__r   r,   r0   r:   r=   rB   rJ   rM   rO   rT   rW   r]   ra   rf   rl   ro   rr   ru   ry   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r    r   r   r      s    #C
CCC	;	;L	CG	CCR




LC
C	C,.($-L=@
W
F	






r    r   c                  L    e Zd ZdZdZ	 	 	 	 	 	 	 	 	 	 	 	 ddZddZd	dZd	dZy)
FakeDelayedCallFc                J    || _         || _        || _        || _        || _        y r   )fstimeoutfakw)r   r   r   r   r   r   s         r   __init__zFakeDelayedCall.__init__  s'     r    c                8    | j                   xs | j                   S r   )	cancelledcalledr   s    r   activezFakeDelayedCall.active  s    NN1dkk22r    c                    d| _         y NT)r   r   s    r   cancelzFakeDelayedCall.cancel  s	    r    c                ^    d| _          | j                  | j                  i | j                   y r   )r   r   r   r   r   s    r   callzFakeDelayedCall.call  s$    "$''"r    N)r   FakeSchedulerr   floatr   Callable[..., None]r   ztuple[object, ...]r   zdict[str, object]r   r   )r   boolr   )	r   r   r   r   r   r   r   r   r   r   r    r   r   r     sZ    FI  	
   
3
#r    r   c                  0    e Zd ZddZ	 	 	 	 	 	 	 	 	 	 ddZy)r   c                    g | _         y r   )callsr   s    r   r   zFakeScheduler.__init__  s	    ,.
r    c           	     p    | j                   j                  t        | ||||             | j                   d   S )N)r   appendr   )r   r   r   r   r   s        r   	callLaterzFakeScheduler.callLater  s1     	

/$ArBCzz"~r    Nr   )
r   r   r   r   r   objectr   r   r   r   )r   r   r   r   r   r   r    r   r   r     s4    /!4:@HN	r    r   c                  T    e Zd ZddZddZddZddZddZddZddZ	ddZ
dd	Zy
)ExpectTestsc                    t        j                         | _        | j                  j                          t	               | _        y r   )r   ExpectableBufferr   r   r   r   r   s    r   r   zExpectTests.setUp  s+    ++-			  "/r    c                N   g }| j                   j                  dd| j                        }|j                  |j                         | j                   j                  d       | j                  |       | j                   j                  d       | j                  |       | j                  |d   j                         d       | j                  t        | j                  j                        d       | j                  | j                  j                  d   j                                y )N   hello worldr#   r   	schedulers   greeting puny earthlings
s   hello world
r   )r   expectr   addCallbackr   rA   r   r   r%   groupri   r   r   r   resultds      r   testSimpleStringzExpectTests.testSimpleString  s    (*II^Q$''J	fmm$		56 		()*N;TWW]]+Q/q)0023r    c                   g }| j                   j                  d      }|j                  |j                         | j	                  |       | j                   j                  d       | j	                  |       | j                   j                  d       | j	                  |       | j                   j                  d       | j                  |       | j                  |d   j                         d       y )Nr      hello s   worl   dr   )	r   r   r   r   r   rA   r   r%   r  r  s      r   testBrokenUpStringzExpectTests.testBrokenUpString  s    (*II^,	fmm$ 			" 		  		*N;r    c                   g }| j                   j                  d      }|j                  |j                         | j                   j                  d      }|j                  |j                         | j	                  |       | j                   j                  d       | j	                  |       | j                   j                  d       | j                  t        |      d       | j                   j                  d       | j                  t        |      d       | j                  |d   j                         d       | j                  |d   j                         d       y )Nr     worlds   hello    r#   rV   r   )	r   r   r   r   r   rA   r%   ri   r  r   r  d1d2s       r   testMultiplezExpectTests.testMultiple  s    (*YYi(
v}}%YYh'
v}}% 		! 		Va(		!Va(*I6*H5r    c                   | j                   j                  d       g }| j                   j                  d      }|j                  |j                         | j                  |       | j                  |d   j                         d       y )Nr   r   )r   rA   r   r   r   r   r%   r  r  s      r   testSynchronouszExpectTests.testSynchronous  sb    		'(*II^,	fmm$*N;r    c                   | j                   j                  d       g }| j                   j                  d      }|j                  |j                         | j                   j                  d      }|j                  |j                         | j                  t        |      d       | j                  |d   j                         d       | j                  |d   j                         d       y )Ns   goodbye worlds   byer  rV   r   r#   )r   rA   r   r   r   r%   ri   r  r  s       r   testMultipleSynchronousz#ExpectTests.testMultipleSynchronous  s    		()(*YYf%
v}}%YYh'
v}}%Va(*F3*H5r    c                    | j                  t        |d             | j                  |j                  t        j
                         y )Ntype)r   hasattrr%   r  r   ExpectationTimeout)r   ress     r   _cbTestTimeoutFailurez!ExpectTests._cbTestTimeoutFailure  s/    V,-6#<#<=r    c                    | j                   j                  dd| j                        }|j                  | j                         | j                  j
                  d   j                          y )Nr   r#   r   r   )r   r   r   addBothr  r   r   )r   r  s     r   testTimeoutFailurezExpectTests.testTimeoutFailure  sL    II^Q$''J			$,,-ar    c                   | j                   j                  d       g }| j                   j                  dd| j                        }|j	                  | j
                         | j                   j                  d      }|j                  |j                         | j                  j                  d   j                          | j                  t        |      d       | j                  |d   j                         d       y )Ns   not zoomtasticr   r#   r   s   zoomr   )r   rA   r   r   r  r  r   r   r   r   r%   ri   r  r  s       r   testOverlappingTimeoutz"ExpectTests.testOverlappingTimeout#  s    		)*(*YYna477K


4--.YYg&
v}}%aVa(*G4r    Nr   )r  zfailure.Failurer   r   )r   r   r   r   r  r	  r  r  r  r  r  r  r   r    r   r   r     s/    "
4<6"<6> 
5r    r   c                       e Zd ZdZddZddZy)CharacterAttributeTestszG
    Tests for L{twisted.conch.insults.helper.CharacterAttribute}.
    c           
        | j                  t        j                         t        j                                | j                  t        j                         t        j                  t                     | j                  t        j                  ddddt        j                        t        j                  ddddt        j                               | j                  t        j                         t        j                  t                     | j                  t        j                  d      t        j                  d             y)z
        L{CharacterAttribute}s must have matching character attribute values
        (bold, blink, underline, etc) with the same values to be considered
        equal.
        )r   TF)r   r   r   r   r   r   N)r%   r   CharacterAttributer   BLUEassertNotEqualr	   r   s    r   test_equalityz%CharacterAttributeTests.test_equality7  s     	224f6O6O6QR%%')B)B2)N	
 	%%!!;; %%!!;;	
" 	%%')B)B2)N	
 	%%40&2K2KQV2W	
r    c                ,   t        j                         j                  d       | j                  | j                  g      }| j                  t        |      d       | j                  |d   d   t               d}| j                  |d   d   d|z         y	)
z~
        L{twisted.conch.insults.helper.CharacterAttribute.wantOne} emits
        a deprecation warning when invoked.
        Tr#  r#   r   categoryz5twisted.conch.insults.helper._FormattingState.wantOnemessagez#%s was deprecated in Twisted 13.1.0N)r   _FormattingStatewantOneflushWarningstest_wantOneDeprecatedr%   ri   DeprecationWarning)r   warningsShowndeprecatedClasss      r   r.  z.CharacterAttributeTests.test_wantOneDeprecated\  s     	!))t)4**D,G,G+HI]+Q/q)*57IJQ!Y'1_E	
r    Nr   )r   r   r   __doc__r'  r.  r   r    r   r!  r!  2  s    #
J
r    r!  )
__future__r   retypingr   twisted.conch.insultsr   twisted.conch.insults.insultsr   r   r   r	   r
   r   r   r   r   r   r   twisted.pythonr   twisted.trialr   r'   r)   TestCaser   r   r   r   r!  r   r    r   <module>r;     s    # 	  (    # "
	G
(## G
T# #> ]5(## ]5@9
h// 9
r    