+
    0g  c                   s    ^ RI t ^ RIt^RIHtHtHtHtHt  ! R R] P                  4      t	 ! R R]	4      t
 ! R R]	4      t]R	8X  d   ] P                  ! 4        R# R# )
i    N)PunctuationModeCallbackType
SSIPClientScopeSpeakerc                   s,   a  ] tR t^t o R tR tRtV tR# )_SSIPClientTestc                s    \        R 4      V n        V P                  P                  R4       V P                  P                  ^4       R# )ZtestZenN)r   _clientZset_languageset_rateself   &4/usr/lib64/python3.14/site-packages/speechd/_test.pysetUpZ_SSIPClientTest.setUp   s2    !&)!!$'b!    c                s:    V P                   P                  4        R # )N)r   Zcloser   r
   r   tearDownZ_SSIPClientTest.tearDown   s    r   )r   N)__name__
__module____qualname____firstlineno__r   r   __static_attributes____classdictcell__Z__classdict__   @r   r   r      s     "
 r   r   c                   s*   a  ] tR t^"t o RtR tRtV tR# )AutomaticTestzA set of tests which may be evaluated automatically.

Please put all tests which require a user to listen to their output to the
VoiceTest below.

c                s  a V P                   P                  R 4       \        P                  . \        P                  . \        P
                  . /oV P                   P                  RV3R lR7       V P                   P                  RV3R lR7       \        P                  ! ^4       V P                   P                  4        V P                   P                  RV3R lR7       \        P                  ! ^4       \        P                  \        P                  \        P
                  3 Uu. uF  pSV,          NK  	  upw  r#pVRR	.8X  d   VR	.8X  d   RV9   d   R
V9   d   R	V9  g
   Q SR34       hR# u upi )Zflitez]This message should get interrupted.  It is hopefully long enough to last more than 1 second.c                 4   < SV ,          P                  R 4      # )msg1ZappendZtypecalled   &r   <lambda>.AutomaticTest.test_callbacks.<locals>.<lambda>8       1D1DV1Lr   )Zcallbackz0This second message should not be spoken at all.c                 r   )msg2r   r   r   r   r   r   :   r    r   zHi.c                 r   )msg3r   r   r   r   r   r   >   r    r   r   r"   r!   zThis failure only indicates a possible error.  The test depends on proper timing and results may warry depending on the used output module and other conditions.  See the code of this test method if you want to investigate further.N)
r   set_output_moduler   ZBEGINZCANCELZENDspeaktimeZsleepZcancel)r	   ZtZstartedZcanceledZendedr   s   &    @r   test_callbacksZAutomaticTest.test_callbacks)   sh    	&&w/$$b%%r""B( 	 O$L 	 	N 	M$L 	 	N

15$L 	 	N 	

18D8J8J8D8K8K8D8H8H8J $K 8J!F1II 8J $K 5 66**u/@!f&8X%	 	 &%$Ks   )E2 N)r   r   r   r   __doc__r&   r   r   r   r   r   r   r   "   s     # #r   r   c                   s<   a  ] tR t^Pt o RtR tR tR tR tRt	V t
R# )	VoiceTestzThis set of tests requires a user to listen to it.

The success or failure of the tests defined here can not be detected
automatically.

c                s    V P                   pVP                  R 4       VP                  \        P                  4       VP                  R4       VP                  R4       VP                  R4       R# )zTesting data escapes:Z.zMarker at the end.
.
z.
Marker at the beginning.N)r   r$   Zset_punctuationr    ZALLr	   c   & r   test_escapesZVoiceTest.test_escapesX   sQ    LL	'(	/--.		-.	/0r   c                s>   V P                   pVP                  R 4       VP                  R4       VP                  R4       VP                  ^d4       VP                  R4       VP                  ^ 4       VP                  ^d4       VP                  R4       VP                  R	4       VP                  R4       VP                  ^ 4       VP                  ^d4       VP	                  R
4       VP                  R4       VP	                  ^d4       VP                  R4       R# )zTesting voice properties:zI am fat BillyzI am slim WillyzI am quick Dick.zI am slow Joe.zI am quiet Mariette.zI am noisy Daisy.Niii)r   r$   Z	set_pitchr   Z
set_volumer*   r,   r   test_voice_propertiesZVoiceTest.test_voice_properties`   s    LL	+,	D	 !	C	!"	A	

3	"#	

3	 !	

1	C	S	&'	S	#$r   c                s    V P                   pVP                  R 4       VP                  R4       VP                  R4       VP	                  R4       R# )zTesting other commands:ZaZshift_bZemptyN)r   r$   ZcharZkeyZ
sound_iconr*   r,   r   test_other_commandsZVoiceTest.test_other_commandss   s;    LL	)*	s	i	Wr   c           	     s   V P                   pVP                  4        F  pVP                  V4       \        R V4       VP	                  VR,           4       VP                  4        FC  w  r4p\        RW#WE4       VP                  V4       VP	                  VR,           V,           4       KE  	  VP                  R4       F,  w  r4p\        RW#WE4       VP                  R4      '       d   K,  Q h	  K  	  R# )z**zusing default voicez -z using voice ZfrN)r   Zlist_output_modulesr#   Zprintr$   Zlist_synthesis_voicesZset_synthesis_voiceZ
startswith)r	   r+   ZmoduleZnameZlangZvariants   &     r   
test_listsZVoiceTest.test_listsz   s    \\--/V  (4 WWV223()(?(?(A$WtV49&&t,0$67 )B )*(?(?(E$WtV49---- )F 0r   r'   N)r   r   r   r   r(   r-   r.   r/   r0   r   r   r   r   r   r)   r)   P   s#     1%&. .r   r)   Z__main__)Zunittestr%   Zclientr    r   r   r   r   ZTestCaser   r   r)   r   Zmainr'   r   r   <module>r1      sW   $   M Mh'' *O *\6. 6.p zMMO r   