+
    DfjQ                    ,   ^ RI Ht ^ RIt^ RIHt ^ RIHt ^ RIHtH	t	H
t
HtHtHtHtHtHtHtHt ^ RIHt ^ RIHt ^Pt^t ! R R	]P2                  4      t ! R
 R4      t ! R R4      t ! R R]P2                  4      t ! R R]P2                  4      tR# )    )annotationsN)Callable)helper)BLINKBOLDG0G1G2G3NORMALREVERSE_VIDEO	UNDERLINEmodesprivateModes)failure)unittestc                     ] tR t^tR R ltR R ltR R ltR R ltR	 R
 ltR R lt	R R lt
R R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R  ltR! R" ltR# R$ ltR% R& ltR' R( ltR) R* ltR+ R, ltR- R. ltR/ R0 ltR1 R2 ltR3 R4 ltR5 R6 ltR7 R8 ltR9 R: lt R; R< lt!R= R> lt"R? R@ lt#RA RB lt$RC RD lt%REt&RF# )GBufferTestsc                   V ^8  d   QhRR/#    returnNone )formats   "@/usr/lib/python3/dist-packages/twisted/conch/test/test_helper.py__annotate__BufferTests.__annotate__   s     # #t #    c                	n    \         P                  ! 4       V n        V P                  P                  4        R # N)r   TerminalBuffertermconnectionMadeselfs   &r   setUpBufferTests.setUp   s"    ))+			  "r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r   #   s     C C$ Cr   c                	z   V P                  V P                  P                  \        4       V P                  V P                  P                  \
        4       V P                  V P                  P                  4       R \
        ^,
          ,          4       V P                  V P                  P                  4       R4       R# )   
Nr   r   )assertEqualr#   widthWIDTHheightHEIGHT	__bytes__reportCursorPositionr%   s   &r   testInitialStateBufferTests.testInitialState#   sw    %0))62,,.!0DE7796Br   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r   )   s     
 
$ 
r   c                    V P                  \        P                  R\        P                  R/V P                  P                  4       R# )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_initialPrivateModes$BufferTests.test_initialPrivateModes)   s7    
 	##T<+C+CTJII""	
r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r   3   s     C CT Cr   c                P   V P                   P                  ^4       V P                   P                  ^4       V P                  V P                   P	                  4       R4       V P                   P                  R4       V P                  V P                   P	                  4       R4       R# )zA
C{""} moves the cursor to the first column in the current row.
   N      r   rA   )r#   cursorForward
cursorDownr-   r3   insertAtCursorr%   s   &r   test_carriageReturnBufferTests.test_carriageReturn3   st     			"		Q7796B		  '7796Br   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r   =   s     C Ct Cr   c                   V P                   P                  ^4       V P                  V P                   P                  4       R4       V P                   P	                  R4       V P                  V P                   P                  4       R4       R# )zV
        C{"
"} moves the cursor to the next row without changing the column.
        r+   N)r@   r   r@      )r#   rC   r-   r3   rE   r%   s   &r   test_linefeedBufferTests.test_linefeed=   sb     			"7796B		  '7796Br   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r   F   s     C Cd Cr   c                P   V P                   P                  ^4       V P                   P                  ^4       V P                  V P                   P	                  4       R4       V P                   P                  R4       V P                  V P                   P	                  4       R4       R# )z:
        C{write} transforms C{"
"} into C{"
"}.
        r+   Nr?   r      )r#   rC   rD   r-   r3   writer%   s   &r   test_newlineBufferTests.test_newlineF   sr     			"		Q7796B		7796Br   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r   P   s     	; 	;d 	;r   c                V   V P                   P                  P                  4       pV P                   P                  \        P                  \        P
                  .4       RV\        P                  &   RV\        P
                  &   V P                  WP                   P                  4       R# )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_setPrivateModes BufferTests.test_setPrivateModesP   sw    
 99))..0		!!<#6#68K8K"LM(,$$%(,$$%99#9#9:r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r   [   s     	; 	; 	;r   c                N   V P                   P                  P                  4       pV P                   P                  \        P                  \        P
                  .4       V\        P                   V\        P
                   V P                  WP                   P                  4       R# )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   rW   resetPrivateModesr8   r9   r-   r[   s   & r   test_resetPrivateModes"BufferTests.test_resetPrivateModes[   ss    
 99))..0		##\%;%;\=U=U$VW\++,\--.99#9#9:r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r   f   s     L L Lr   c                	   V P                   P                  ^4       V P                  V P                   P                  4       R4       V P                   P                  4        V P                  V P                   P                  4       R4       V P                   P                  \        4       V P                  V P                   P                  4       ^ \        ^,
          34       R# )rA   NrB   rP   )r#   rD   r-   r3   r1   r%   s   &r   testCursorDownBufferTests.testCursorDownf   s    		Q7796B		7796B		V$779Avz?Kr   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r   n   s     	C 	Cd 	Cr   c                	   V P                   P                  ^4       V P                  V P                   P                  4       R4       V P                   P	                  ^4       V P                   P                  ^4       V P                  V P                   P                  4       R4       V P                   P                  ^4       V P                  V P                   P                  4       R4       R# )r@   Nr,   )r      )r#   cursorUpr-   r3   rD   r%   s   &r   testCursorUpBufferTests.testCursorUpn   s    		17796B		R 		17797C		27796Br   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r   y   s     G G4 Gr   c                	   V P                   P                  ^4       V P                  V P                   P                  4       R4       V P                   P                  ^4       V P                  V P                   P                  4       R4       V P                   P                  \        4       V P                  V P                   P                  4       \        ^ 34       R# )r   N)r   r   )rQ   r   )r#   rC   r-   r3   r/   r%   s   &r   testCursorForwardBufferTests.testCursorForwardy   s    		"7796B		"7796B		&779E1:Fr   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      s     	C 	CD 	Cr   c                	d   V P                   P                  ^
4       V P                   P                  ^4       V P                  V P                   P	                  4       R4       V P                   P                  ^4       V P                  V P                   P	                  4       R4       V P                   P                  ^4       V P                  V P                   P	                  4       R4       V P                   P                  ^4       V P                  V P                   P	                  4       R4       R# )
   N)   r   )rK   r   r,   )r#   rC   cursorBackwardr-   r3   r%   s   &r   testCursorBackwardBufferTests.testCursorBackward   s    		#		  #7796B		  #7796B		  #7796B		  #7796Br   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      s     C Ct Cr   c                	    V P                   P                  ^^	4       V P                  V P                   P                  4       R4       R# )rA   N)rA   	   )r#   cursorPositionr-   r3   r%   s   &r   testCursorPositioning!BufferTests.testCursorPositioning   s3    		  A&7796Br   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      s     R R4 Rr   c                	    R pV P                   P                  V4       V P                  V P                   P                  4       VR,           R\        ^,
          ,          ,           4       R# )   Hello, world.r+   N)r#   rR   r-   r2   r1   r&   ss   & r   testSimpleWritingBufferTests.testSimpleWriting   sF    		,,.E	EVaZ<P0PQr   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      s     
 
d 
r   c                	   R pV P                   P                  V4       V P                   P                  \        V4      4       V P                   P	                  \
        P                  .4       V P                   P                  R4       V P                  V P                   P                  4       RVR,          ,           R,           R\        ^,
          ,          ,           4       R# )s   hello, world.   H:rK   NNr+   N)
r#   rR   rv   len
resetModesr   IRMr-   r2   r1   r   s   & r   testOvertypeBufferTests.testOvertype   s    				  Q(		eii[)		II!D1R5LE#9EVaZ<P#P	
r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      s     
 
D 
r   c                	   R pV P                   P                  V4       V P                   P                  \        V4      4       V P                   P	                  \
        P                  .4       V P                   P                  R4       V P                  V P                   P                  4       RV,           R,           R\        ^,
          ,          ,           4       R# )s   ello, world.r   r+   N)
r#   rR   rv   r   setModesr   r   r-   r2   r1   r   s   & r   
testInsertBufferTests.testInsert   s    				  Q(		EII;'		II!D1H#5!8L#L	
r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      s     
 
 
r   c                	   R pV P                   P                  ^4       V P                   P                  ^4       V P                   P                  V4       V P	                  V P                   P                  4       RV P                   P                  ^,          ,           V,           R,           R\        ^,
          ,          ,           4       R# )r   r+   Ns   




)r#   rD   rC   rR   r-   r2   fillr1   r   s   & r   testWritingInTheMiddle"BufferTests.testWritingInTheMiddle   s    		Q		"		II!!+,q0585FQJ;OO	
r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      s     
 
t 
r   c                	~   R pV P                   P                  \        ^,
          4       V P                   P                  V4       V P	                  V P                   P                  4       VR,          P                  \        4      R,           VR,          ,           R,           R\        ^,
          ,          ,           4       R# )r   Nr@   Nr+   :r@   NNN)r#   rC   r/   rR   r-   r2   rjustr1   r   s   & r   testWritingWrappedAtEndOfLine)BufferTests.testWritingWrappedAtEndOfLine   s|    			*		II!bEKK&2.6&1*9MM	
r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      s     L L4 Lr   c                	   V P                   P                  4        V P                  V P                   P                  4       R4       V P                   P	                  \
        4       V P                  V P                   P                  4       ^ \
        ^,
          34       V P                   P                  4        V P                  V P                   P                  4       ^ \
        ^,
          34       R# )r   Nr   rK   )r#   indexr-   r3   rD   r1   r%   s   &r   	testIndexBufferTests.testIndex   s    		7796B		V$779Avz?K		779Avz?Kr   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      s     C C$ Cr   c                	   V P                   P                  4        V P                  V P                   P                  4       R4       V P                   P	                  ^4       V P                  V P                   P                  4       R4       V P                   P                  4        V P                  V P                   P                  4       R4       R# )r   Nr,   r   r   r   )r#   reverseIndexr-   r3   rD   r%   s   &r   testReverseIndexBufferTests.testReverseIndex   s    		 7796B		Q7796B		 7796Br   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      s     
C 
Ct 
Cr   c                   V P                   P                  4        V P                  V P                   P                  4       R4       V P                   P	                  ^4       V P                  V P                   P                  4       R4       V P                   P                  4        V P                  V P                   P                  4       R4       R# )zU
C{nextLine} positions the cursor at the beginning of the row below the
current row.
Nr   rJ   r   )r#   nextLiner-   r3   rC   r%   s   &r   test_nextLineBufferTests.test_nextLine   s    
 			7796B		"7796B		7796Br   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      s     	C 	C 	Cr   c                	B   V P                   P                  ^4       V P                   P                  ^4       V P                  V P                   P	                  4       R4       V P                   P                  4        V P                   P                  ^4       V P                   P                  ^4       V P                  V P                   P	                  4       R4       V P                   P                  4        V P                  V P                   P	                  4       R4       R# )r@   N)   r@   )rQ      )r#   rD   rC   r-   r3   
saveCursorrv   restoreCursorr%   s   &r   testSaveCursorBufferTests.testSaveCursor   s    		Q		"7796B				Q		  #7797C		!7796Br   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      s     , ,$ ,r   c                	   V P                   P                  4        V P                   P                  R 4       V P                   P                  ^ ^ 4      pV P	                  V^ ,          R4       V P	                  V^,          P
                  \        4       V P                   P                  ^^ 4      pV P	                  V^ ,          R4       V P	                  V^,          P
                  \        4       V P                   P                  4        V P                   P                  R4       V P                   P                  ^^ 4      pV P	                  V^ ,          R4       V P	                  V^,          P
                  \        4       V P                   P                  ^^ 4      pV P	                  V^ ,          R4       V P	                  V^,          P
                  \        4       R# )s   Hir      is   !!   !N)
r#   singleShift2rR   getCharacterr-   charsetr
   r   singleShift3r   r&   chs   & r   testSingleShiftsBufferTests.testSingleShifts   sJ   		 		YY##Aq)A%A+YY##Aq)A%A+		 		YY##Aq)A%A+YY##Aq)A%A+r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      s      d r   c           	     	   R pRpRpV P                   P                  R4       V P                   P                  4        V P                   P                  R4       V P                   P                  4        V P                   P                  R4       \        p^ pWV3 F  p\        \        V4      4       Fc  pV P                   P                  Wu4      pV P                  V^ ,          WgV^,            4       V P                  V^,          P                  V4       Ke  	  V\        8H  ;'       d    \        ;'       g    \        pV^,          pK  	  R# )s   Hellos   Worlds   Bye!s   Hello
s   World
s   Bye!
N)r#   rR   shiftOutshiftInr   ranger   r   r-   r   r	   )	r&   s1s2s3ghr   ir   s	   &        r   testShiftingBufferTests.testShifting   s    		
#				
#					""A3q6]YY++A1  Aa!e5  A2 # RB$$"AFA r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r     s     $- $-d $-r   c                	   V P                   P                  \        \        \        \
        4       V P                   P                  R 4       V P                   P                  \        4       V P                   P                  R4       V P                   P                  \        4       V P                   P                  R4       V P                   P                  \        4       V P                   P                  R4       V P                   P                  ^ ^ 4      pV P                  V^ ,          R 4       V P                  V^,          P                  4       V P                  V^,          P                  4       V P                  V^,          P                  4       V P                  V^,          P                  4       V P                   P                  ^^ 4      pV P                  V^ ,          R4       V P                  V^,          P                  4       V P                  V^,          P                  4       V P                  V^,          P                  4       V P                  V^,          P                  4       V P                   P                  ^^ 4      pV P                  V^ ,          R4       V P                  V^,          P                  4       V P                  V^,          P                  4       V P                  V^,          P                  4       V P                  V^,          P                  4       V P                   P                  ^^ 4      pV P                  V^ ,          R4       V P                  V^,          P                  4       V P                  V^,          P                  4       V P                  V^,          P                  4       V P                  V^,          P                  4       R# )   W   X   Y   ZN)r#   selectGraphicRenditionr   r   r   r   rR   r   r   r-   
assertTruebold	underlineblinkreverseVideoassertFalser   s   & r   testGraphicRendition 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                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r   4  s     = =T =r   c                	H   R pRpV P                   P                  \        P                  \        P                  ,           \        P
                  \        P                  ,           4       V P                   P                  VR,           4       V P                   P                  \        4       V P                   P                  VR,           4       \        \        V4      4       EFS  pV P                   P                  V^ 4      pV P                  V^ ,          WV^,            4       V P                  V^,          P                  \        4       V P                  V^,          P                   4       V P                  V^,          P"                  4       V P                  V^,          P$                  4       V P                  V^,          P&                  4       V P                  V^,          P(                  \        P                  4       V P                  V^,          P*                  \        P                  4       EKV  	  \        \        V4      4       EFS  pV P                   P                  V^4      pV P                  V^ ,          W#V^,            4       V P                  V^,          P                  \        4       V P                  V^,          P                   4       V P                  V^,          P"                  4       V P                  V^,          P$                  4       V P                  V^,          P&                  4       V P                  V^,          P(                  \        P,                  4       V P                  V^,          P*                  \        P.                  4       EKV  	  R# )s
   Merry xmass   Just kiddingr+   N)r#   r   r   
FOREGROUNDRED
BACKGROUNDGREENrR   r   r   r   r   r-   r   r   r   r   r   r   r   
foreground
backgroundWHITEBLACK)r&   r   r   r   r   s   &    r   testColorAttributesBufferTests.testColorAttributes4  sc   		((

*F,=,=,L	
 			U
#		((0		U
#s2wA''1-BRUB1q5M2RU]]B/RUZZ(RU__-RU[[)RU//0RU--vzz:RU--v||<   s2wA''1-BRUB1q5M2RU]]B/RUZZ(RU__-RU[[)RU//0RU--v||<RU--v||<  r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r   T  s     
 
t 
r   c                	   R pRpRpV P                   P                  RP                  WV34      R,           4       V P                   P                  ^^4       V P                   P	                  4        V P                  V P                   P                  4       VR,           R,           V,           R,           R\        ^,
          ,          ,           4       R# )s   line 1s   line 2s   line 3r+   N)r#   rR   joinr|   	eraseLiner-   r2   r1   r&   r   r   r   s   &   r   testEraseLineBufferTests.testEraseLineT  s    		

BB<0589		  A&		II!J#e+evz.BB	
r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r   a  s     W WD Wr   c                	D   R pV P                   P                  V4       V P                   P                  ^4       V P                   P                  4        V P	                  V P                   P                  4       VRR R,           R\        ^,
          ,          ,           4       R# )r   Nr+   )r#   rR   rv   eraseToLineEndr-   r2   r1   r   s   & r   testEraseToLineEndBufferTests.testEraseToLineEnda  so    				  #		  ",,.#2&ST*AU0UVr   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r   h  s     
 
$ 
r   c                	t   R pV P                   P                  V4       V P                   P                  ^4       V P                   P                  4        V P	                  V P                   P                  4       VRR P                  \        V4      4      R,           R\        ^,
          ,          ,           4       R# )r   Nr+   )	r#   rR   rv   eraseToLineBeginningr-   r2   r   r   r1   r   s   & r   testEraseToLineBeginning$BufferTests.testEraseToLineBeginningh  s    				  #		&&(II!1RS6<<A#7%#?%6TU:BV#V	
r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r   q  s     F F$ Fr   c                	   V P                   P                  R 4       V P                   P                  R4       V P                   P                  4        V P                  V P                   P	                  4       R\
        ^,
          ,          4       R# )s   Hello world
s   Goodbye world
r+   N)r#   rR   eraseDisplayr-   r2   r1   r%   s   &r   testEraseDisplayBufferTests.testEraseDisplayq  sZ    		()		*+		 ,,.!0DEr   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r   x  s     	
 	
t 	
r   c                	   R pRpV P                   P                  RP                  WR34      4       V P                   P                  ^^4       V P                   P	                  4        V P                  V P                   P                  4       VR,           VR,          ,           R,           R\        ^,
          ,          ,           4       R# )   Hello world   Goodbye worldr+   r   r   N)r#   rR   r   r|   eraseToDisplayEndr-   r2   r1   r&   r   r   s   &  r   testEraseToDisplayEnd!BufferTests.testEraseToDisplayEndx  s    		

BC=12		  A&		##%II!2:2#6#>&ST*AU#U	
r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r     s     

 

T 

r   c           	     	   R pRpV P                   P                  RP                  W34      4       V P                   P                  ^^4       V P                   P	                  4        V P                  V P                   P                  4       RVR,          P                  \        V4      4      ,           R,           R\        ^,
          ,          ,           4       R# )r  r  r+   :   NNN)
r#   rR   r   r|   eraseToDisplayBeginningr-   r2   r   r   r1   r  s   &  r   testEraseToDisplayBeginning'BufferTests.testEraseToDisplayBeginning  s    		

B8,-		  A&		))+II!BrFLLR))E1EVaZ4HH	
r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r     s     

 

4 

r   c                	   R pRpV P                   P                  RP                  W34      4       V P                   P                  ^^4       V P                   P	                  4        V P                  V P                   P                  4       VR,           R,           V,           R,           R\        ^,
          ,          ,           4       R# )r  r  r+   N)r#   rR   r   r|   
insertLiner-   r2   r1   r  s   &  r   testLineInsertionBufferTests.testLineInsertion  s    		

B8,-		  A&		II!J#e+evz.BB	
r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r     s     

 

$ 

r   c                	   R pRpRpV P                   P                  RP                  WV34      4       V P                   P                  ^	^4       V P                   P	                  4        V P                  V P                   P                  4       VR,           V,           R,           R\        ^,
          ,          ,           4       R# )r  s   Middle wordsr  r+   N)r#   rR   r   r|   
deleteLiner-   r2   r1   r   s   &   r   testLineDeletionBufferTests.testLineDeletion  s    		

BB<01		  A&		II!2:?U#:Ufqj=Q#Q	
r   )r#   N)'__name__
__module____qualname____firstlineno__r'   r4   r:   rF   rL   rS   r]   rb   rf   rl   rp   rw   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r	  r  r  r  __static_attributes__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                  N    ] tR tRtRtRtR R ltR R ltR R ltR	 R
 lt	Rt
R# )FakeDelayedCalli  Fc               0    V ^8  d   QhRRRRRRRRR	R
RR/# )r   fsFakeSchedulertimeoutfloatfCallable[..., None]aztuple[object, ...]kwzdict[str, object]r   r   r   )r   s   "r   r   FakeDelayedCall.__annotate__  sF        	
   
r   c                	B    Wn         W n        W0n        W@n        WPn        R # r!   )r#  r%  r'  r)  r*  )r&   r#  r%  r'  r)  r*  s   &&&&&&r   __init__FakeDelayedCall.__init__  s     r   c                   V ^8  d   QhRR/# )r   r   boolr   )r   s   "r   r   r+    s     3 3 3r   c                	L    V P                   ;'       g    V P                  '       * # r!   )	cancelledcalledr%   s   &r   activeFakeDelayedCall.active  s    NN11dkk22r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r+    s       r   c                	    R V n         R# TN)r2  r%   s   &r   cancelFakeDelayedCall.cancel  s	    r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r+    s     # #d #r   c                	`    R V n         V P                  ! V P                  / V P                  B  R# r8  )r3  r'  r)  r*  r%   s   &r   callFakeDelayedCall.call  s"    "$''"r   )r)  r3  r2  r'  r#  r*  r%  N)r  r  r  r  r3  r2  r-  r4  r9  r=  r  r   r   r   r!  r!    s%    FI3
# #r   r!  c                  .    ] tR tRtR R ltR R ltRtR# )r$  i  c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   FakeScheduler.__annotate__  s     / /$ /r   c                	    . V n         R # r!   callsr%   s   &r   r-  FakeScheduler.__init__  s	    ,.
r   c          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
r   r%  r&  r'  r(  r)  objectr*  r   r!  r   )r   s   "r   r   rA    s4      !4:@HN	r   c           	     	t    V P                   P                  \        WW#V4      4       V P                   R,          # )rK   )rD  appendr!  )r&   r%  r'  r)  r*  s   &&&*,r   	callLaterFakeScheduler.callLater  s-     	

/$rBCzz"~r   rC  N)r  r  r  r  r-  rK  r  r   r   r   r$  r$    s    / r   r$  c                      ] tR tRtR R ltR R ltR R ltR R	 ltR
 R ltR R lt	R R lt
R R ltR R ltRtR# )ExpectTestsi  c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   ExpectTests.__annotate__  s     " "t "r   c                	    \         P                  ! 4       V n        V P                  P                  4        \	        4       V n        R # r!   )r   ExpectableBufferr#   r$   r$  r#  r%   s   &r   r'   ExpectTests.setUp  s+    ++-			  "/r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   rP    s     4 4$ 4r   c                	`   . pV P                   P                  R ^V P                  R7      pVP                  VP                  4       V P                   P                  R4       V P                  V4       V P                   P                  R4       V P                  V4       V P                  V^ ,          P                  4       R 4       V P                  \        V P                  P                  4      ^4       V P                  V P                  P                  ^ ,          P                  4       4       R# )   hello worldr%  	schedulers   greeting puny earthlings
s   hello world
N)r#   expectr#  addCallbackrJ  rR   r   r   r-   groupr   rD  r4  r&   resultds   &  r   testSimpleStringExpectTests.testSimpleString  s    (*II^Q$''J	fmm$		56 		()*N;TWW]]+Q/q)0023r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   rP    s     < <D <r   c                	   . pV P                   P                  R 4      pVP                  VP                  4       V P	                  V4       V P                   P                  R4       V P	                  V4       V P                   P                  R4       V P	                  V4       V P                   P                  R4       V P                  V4       V P                  V^ ,          P                  4       R 4       R# )rV     hello s   worl   dN)	r#   rY  rZ  rJ  r   rR   r   r-   r[  r\  s   &  r   testBrokenUpStringExpectTests.testBrokenUpString  s    (*II^,	fmm$ 			" 		  		*N;r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   rP    s     6 6d 6r   c                	   . pV P                   P                  R 4      pVP                  VP                  4       V P                   P                  R4      pVP                  VP                  4       V P	                  V4       V P                   P                  R4       V P	                  V4       V P                   P                  R4       V P                  \        V4      ^4       V P                   P                  R4       V P                  \        V4      ^4       V P                  V^ ,          P                  4       R 4       V P                  V^,          P                  4       R4       R# )rc     worlds   hello    N)	r#   rY  rZ  rJ  r   rR   r-   r   r[  r&   r]  d1d2s   &   r   testMultipleExpectTests.testMultiple  s    (*YYi(
v}}%YYh'
v}}% 		! 		Va(		!Va(*I6*H5r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   rP    s     < < <r   c                	   V P                   P                  R 4       . pV P                   P                  R 4      pVP                  VP                  4       V P                  V4       V P                  V^ ,          P                  4       R 4       R# )rV  N)r#   rR   rY  rZ  rJ  r   r-   r[  r\  s   &  r   testSynchronousExpectTests.testSynchronous  sb    		'(*II^,	fmm$*N;r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   rP    s     6 6 6r   c                	   V P                   P                  R 4       . pV P                   P                  R4      pVP                  VP                  4       V P                   P                  R4      pVP                  VP                  4       V P                  \        V4      ^4       V P                  V^ ,          P                  4       R4       V P                  V^,          P                  4       R4       R# )s   goodbye worlds   byeri  N)r#   rR   rY  rZ  rJ  r-   r   r[  rk  s   &   r   testMultipleSynchronous#ExpectTests.testMultipleSynchronous  s    		()(*YYf%
v}}%YYh'
v}}%Va(*F3*H5r   c                    V ^8  d   QhRRRR/# )r   reszfailure.Failurer   r   r   )r   s   "r   r   rP    s     > > >T >r   c                	    V P                  \        VR 4      4       V P                  VP                  \        P
                  4       R# )typeN)r   hasattrr-   r{  r   ExpectationTimeout)r&   ry  s   &&r   _cbTestTimeoutFailure!ExpectTests._cbTestTimeoutFailure  s/    V,-6#<#<=r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   rP    s        D  r   c                	    V P                   P                  R ^V P                  R7      pVP                  V P                  4       V P                  P
                  ^ ,          P                  4        R# )rV  rW  N)r#   rY  r#  addBothr~  rD  r=  )r&   r^  s   & r   testTimeoutFailureExpectTests.testTimeoutFailure  sL    II^Q$''J			$,,-ar   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   rP  #  s     5 5 5r   c                	   V P                   P                  R 4       . pV P                   P                  R^V P                  R7      pVP	                  V P
                  4       V P                   P                  R4      pVP                  VP                  4       V P                  P                  ^ ,          P                  4        V P                  \        V4      ^4       V P                  V^ ,          P                  4       R4       R# )s   not zoomtasticrV  rW  s   zoomN)r#   rR   rY  r#  r  r~  rZ  rJ  rD  r=  r-   r   r[  rk  s   &   r   testOverlappingTimeout"ExpectTests.testOverlappingTimeout#  s    		)*(*YYna477K


4--.YYg&
v}}%aVa(*G4r   )r#  r#   N)r  r  r  r  r'   r_  re  rn  rr  rv  r~  r  r  r  r   r   r   rN  rN    s4    "
4<6"<6> 
5 5r   rN  c                  2    ] tR tRtRtR R ltR R ltRtR# )	CharacterAttributeTestsi2  z?
Tests for L{twisted.conch.insults.helper.CharacterAttribute}.
c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   $CharacterAttributeTests.__annotate__7  s     #
 #
t #
r   c                   V P                  \        P                  ! 4       \        P                  ! 4       4       V P                  \        P                  ! 4       \        P                  ! \        R7      4       V P                  \        P                  ! RRRR\        P                  R7      \        P                  ! RRRR\        P                  R7      4       V P                  \        P                  ! 4       \        P                  ! \        R7      4       V P                  \        P                  ! RR7      \        P                  ! RR7      4       R# )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_equality%CharacterAttributeTests.test_equality7  s     	224f6O6O6QR%%')B)B2)N	
 	%%!!;; %%!!;;	
" 	%%')B)B2)N	
 	%%40&2K2KQV2W	
r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r  \  s     
 
 
r   c                X   \         P                  ! 4       P                  RR7       V P                  V P                  .4      pV P                  \        V4      ^4       V P                  V^ ,          R,          \        4       RpV P                  V^ ,          R,          RV,          4       R# )zf
L{twisted.conch.insults.helper.CharacterAttribute.wantOne} emits
a deprecation warning when invoked.
Tr  categoryz5twisted.conch.insults.helper._FormattingState.wantOnemessagez#%s was deprecated in Twisted 13.1.0N)r   _FormattingStatewantOneflushWarningstest_wantOneDeprecatedr-   r   DeprecationWarning)r&   warningsShowndeprecatedClasss   &  r   r  .CharacterAttributeTests.test_wantOneDeprecated\  s     	!))t)4**D,G,G+HI]+Q/q)*57IJQ!Y'1_E	
r   r   N)r  r  r  r  __doc__r  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/   r1   TestCaser   r!  r$  rN  r  r   r   r   <module>r     s    # 	  (    # "
	G
(## G
T# #> ]5(## ]5@9
h// 9
r   