
    daf                        d dl Z d dlZd dlZd dlZd dlmZ d dlmZ d dlmZ  ej                  d        ej                  d      Zd Z eej                        Z eej                        Z eej"                        Z G d d	ej&                        Z G d
 dej&                        Z G d dej&                        Zedk(  r ej0                          yy)    N)support)import_helper)	os_helperaudiowinsoundc                 B     t        j                          fd       }|S )Nc                      	  | i |}t         j                  rt        j                  d       |S # t        $ r6}t         j                  rt        j                  d|       Y d }~y Y d }~y d }~ww xY w)Nreturnedzfailed:)r   verboseprint__name__RuntimeError)argskwargsretefuncs       -/root/Python-3.12.4/Lib/test/test_winsound.pywrapperzsound_func.<locals>.wrapper   sd    	''C
 dmmZ0J  	3dmmY22 	3s   3 	A2'A--A2)	functoolswraps)r   r   s   ` r   
sound_funcr      s%    __T	 	 N    c                   $    e Zd Zd Zd Zd Zd Zy)BeepTestc                     | j                  t        t        j                         | j                  t        t        j                  dd       | j                  t        t        j                  dd       y )N$   K   i   )assertRaises	TypeErrorr   Beep
ValueErrorselfs    r   test_errorszBeepTest.test_errors+   sF    )X]]3*hmmR<*hmmUB?r   c                 4    t        dd       t        dd       y )N%   r   i  	safe_Beepr#   s    r   test_extremeszBeepTest.test_extremes0   s    "b%r   c                 @    t        ddd      D ]  }t        |d        y )Nd     r   )ranger)   )r$   is     r   test_increasingfrequencyz!BeepTest.test_increasingfrequency4   s$    sD#& 	Aa	r   c                     t        dd       y )Nr   r-   )duration	frequencyr(   r#   s    r   test_keyword_argszBeepTest.test_keyword_args8   s    2.r   N)r   
__module____qualname__r%   r*   r0   r4    r   r   r   r   )   s    @
/r   r   c                   <    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
y	)
MessageBeepTestc                 .    t        j                  d       y )N      ?)timesleepr#   s    r   tearDownzMessageBeepTest.tearDown>   s    

3r   c                     | j                  t        t        j                  d       | j                  t        t        j                  dd       t	                y )Nbad*   )r   r    r   MessageBeepsafe_MessageBeepr#   s    r   test_defaultzMessageBeepTest.test_defaultA   s:    )X%9%95A)X%9%92rBr   c                 6    t        t        j                         y NrC   r   MB_OKr#   s    r   test_okzMessageBeepTest.test_okF   s    (r   c                 6    t        t        j                         y rF   )rC   r   MB_ICONASTERISKr#   s    r   test_asteriskzMessageBeepTest.test_asteriskI       112r   c                 6    t        t        j                         y rF   )rC   r   MB_ICONEXCLAMATIONr#   s    r   test_exclamationz MessageBeepTest.test_exclamationL   s    445r   c                 6    t        t        j                         y rF   )rC   r   MB_ICONHANDr#   s    r   	test_handzMessageBeepTest.test_handO   s    --.r   c                 6    t        t        j                         y rF   )rC   r   MB_ICONQUESTIONr#   s    r   test_questionzMessageBeepTest.test_questionR   rM   r   c                 8    t        t        j                         y )N)typerG   r#   s    r   r4   z!MessageBeepTest.test_keyword_argsU   s    hnn-r   N)r   r5   r6   r>   rD   rI   rL   rP   rS   rV   r4   r7   r   r   r9   r9   <   s*    
)36/3.r   r9   c                   H    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zy)PlaySoundTestc                 n   | j                  t        t        j                         | j                  t        t        j                  dd       | j                  t        t        j                  dt        j
                  t        j                  z         | j                  t        t        j                  dd       | j                  t        t        j                  dt        j                         | j                  t        t        j                  dd       | j                  t        t        j                  dd       y )Nr@   nones   badr      zbad )r   r    r   	PlaySoundr   	SND_ASYNC
SND_MEMORYr"   r#   s    r   r%   zPlaySoundTest.test_errors[   s    )X%7%78)X%7%7FH&&)<)<<	

 	)X%7%7C)X%7%7"--	/)X%7%7A>*h&8&8'1Er   c                 :    t        t        j                  d       y )N
SystemExit)flagssoundsafe_PlaySoundr   	SND_ALIASr#   s    r   r4   zPlaySoundTest.test_keyword_argsj   s    X//|Dr   c                    t        t        j                  dd      d      5 }|j                         }d d d        t	        t
        j                         t        |      }t	        |t
        j                         y # 1 sw Y   IxY w)Npluck-pcm8.wav	audiodatasubdirrb)openr   findfilereadrf   r   r`   	bytearray)r$   f
audio_datas      r   test_snd_memoryzPlaySoundTest.test_snd_memorym   so    '""#3*578<> 	"ABJ	" 	z8#6#67z*
z8#6#67	" 	"s   A;;Bc                     t        j                  dd      }t        |t        j                  t        j
                  z         y Nri   rj   rk   )r   ro   rf   r   SND_FILENAMESND_NODEFAULTr$   fns     r   test_snd_filenamezPlaySoundTest.test_snd_filenameu   s0    .{Cr80083I3IIJr   c                     t        j                  dd      }t        j                  |      }t	        |t
        j                  t
        j                  z         y rv   )r   ro   r   FakePathrf   r   rw   rx   )r$   rz   paths      r   test_snd_filepathzPlaySoundTest.test_snd_filepathy   s@    .{C!!"%tX22X5K5KKLr   c           	         t        j                  dd      }| j                  t        t        j
                  t        j                  t        j                  |            t        j                  t        j                  z         y rv   )r   ro   r   r    r   r^   r   r}   osfsencoderw   rx   ry   s     r   test_snd_filepath_as_bytesz(PlaySoundTest.test_snd_filepath_as_bytes~   sY    .{Cr{{2/!!H$:$::		
r   c                     g d}|D ]7  }| j                  |      5  t        |t        j                         d d d        9 y # 1 sw Y   DxY w)N)SystemAsteriskSystemExclamationrb   
SystemHandSystemQuestion)alias)subTestrf   r   rg   )r$   aliasesr   s      r   test_aliaseszPlaySoundTest.test_aliases   sR    
  	:EE* :uh&8&89: :	:: :s   AA	c                 8    t        dt        j                         y Nz
!"$%&/(#+*re   r#   s    r   test_alias_fallbackz!PlaySoundTest.test_alias_fallback   s    |X%7%78r   c                 Z    t        dt        j                  t        j                  z         y r   )rf   r   rg   rx   r#   s    r   test_alias_nofallbackz#PlaySoundTest.test_alias_nofallback   s    |X%7%7(:P:P%PQr   c                 D   t        dt        j                  t        j                  z  t        j                  z         t        j                  d       t        dt        j                  t        j                  z         t        j                  d t        j                         y )Nr   r;   )
rf   r   rg   r_   SND_LOOPr<   r=   
SND_NOSTOPr^   	SND_PURGEr#   s    r   test_stopasynczPlaySoundTest.test_stopasync   sm    !3!33h6G6GG	
 	

3'););h>Q>Q)QR 	4!3!34r   N)r   r5   r6   r%   r4   rt   r{   r   r   r   r   r   r   r7   r   r   rZ   rZ   Y   s9    FE8KM


:9R	5r   rZ   __main__)r   r   r<   unittesttestr   test.supportr   r   requiresimport_moduler   r   r!   r)   rB   rC   r^   rf   TestCaser   r9   rZ   r   mainr7   r   r   <module>r      s     	    & "    &=&&z2 x}}%	h223 H..//x   /&.h'' .:I5H%% I5X zHMMO r   