
    0hh                        S SK r S SKrS SKrS SKrS SKJr  S SKJr  S SKJr  \R                  " S5        \R                  " S5      rS r\" \R                  5      r\" \R                  5      r\" \R"                  5      r " S S	\R&                  5      r " S
 S\R&                  5      r " S S\R&                  5      r\S:X  a  \R0                  " 5         gg)    N)support)import_helper)	os_helperaudiowinsoundc                 F   ^  [         R                  " T 5      U 4S j5       nU$ )Nc                     >  T" U 0 UD6n[         R                  (       a  [        TR                  S5        U$ ! [         a;  n[         R                  (       a  [        TR                  SU5         S nAg  S nAg S nAff = f)Nreturnedzfailed:)r   verboseprint__name__RuntimeError)argskwargsretefuncs       ;/opt/python-3.13.8/usr/lib/python3.13/test/test_winsound.pywrappersound_func.<locals>.wrapper   sd    	''C
 dmmZ0J  	3dmmY22 	3s   8 
A=,A88A=)	functoolswraps)r   r   s   ` r   
sound_funcr      s%    __T	 	 N    c                   ,    \ rS rSrS rS rS rS rSrg)BeepTest)   c                     U R                  [        [        R                  5        U R                  [        [        R                  SS5        U R                  [        [        R                  SS5        g )N$   K   i   )assertRaises	TypeErrorr   Beep
ValueErrorselfs    r   test_errorsBeepTest.test_errors+   sF    )X]]3*hmmR<*hmmUB?r   c                 4    [        SS5        [        SS5        g )N%   r    i  	safe_Beepr%   s    r   test_extremesBeepTest.test_extremes0   s    "b%r   c                 D    [        SSS5       H  n[        US5        M     g )Nd     r    )ranger,   )r&   is     r   test_increasingfrequency!BeepTest.test_increasingfrequency4   s    sD#&Aa 'r   c                     [        SSS9  g )Nr    r1   )duration	frequencyr+   r%   s    r   test_keyword_argsBeepTest.test_keyword_args8   s    2.r    N)	r   
__module____qualname____firstlineno__r'   r-   r4   r9   __static_attributes__r;   r   r   r   r   )   s    @
/r   r   c                   D    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
rg)MessageBeepTest<   c                 0    [         R                  " S5        g )N      ?)timesleepr%   s    r   tearDownMessageBeepTest.tearDown>   s    

3r   c                     U R                  [        [        R                  S5        U R                  [        [        R                  SS5        [	        5         g )Nbad*   )r!   r"   r   MessageBeepsafe_MessageBeepr%   s    r   test_defaultMessageBeepTest.test_defaultA   s:    )X%9%95A)X%9%92rBr   c                 6    [        [        R                  5        g NrM   r   MB_OKr%   s    r   test_okMessageBeepTest.test_okF   s    (r   c                 6    [        [        R                  5        g rQ   )rM   r   MB_ICONASTERISKr%   s    r   test_asteriskMessageBeepTest.test_asteriskI       112r   c                 6    [        [        R                  5        g rQ   )rM   r   MB_ICONEXCLAMATIONr%   s    r   test_exclamation MessageBeepTest.test_exclamationL   s    445r   c                 6    [        [        R                  5        g rQ   )rM   r   MB_ICONHANDr%   s    r   	test_handMessageBeepTest.test_handO   s    --.r   c                 6    [        [        R                  5        g rQ   )rM   r   MB_ICONQUESTIONr%   s    r   test_questionMessageBeepTest.test_questionR   rZ   r   c                 2    [        [        R                  S9  g )N)typerR   r%   s    r   r9   !MessageBeepTest.test_keyword_argsU   s    hnn-r   r;   N)r   r<   r=   r>   rG   rN   rT   rX   r]   ra   re   r9   r?   r;   r   r   rA   rA   <   s*    
)36/3.r   rA   c                   P    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rSrg)PlaySoundTestY   c                 n   U R                  [        [        R                  5        U R                  [        [        R                  SS5        U R                  [        [        R                  S[        R
                  [        R                  -  5        U R                  [        [        R                  SS5        U R                  [        [        R                  S[        R                  5        U R                  [        [        R                  SS5        U R                  [        [        R                  SS5        g )NrJ   nones   badr      zbad )r!   r"   r   	PlaySoundr   	SND_ASYNC
SND_MEMORYr$   r%   s    r   r'   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                 4    [        [        R                  SS9  g )N
SystemExit)flagssoundsafe_PlaySoundr   	SND_ALIASr%   s    r   r9   PlaySoundTest.test_keyword_argsj   s    X//|Dr   c                    [        [        R                  " SSS9S5       nUR                  5       nS S S 5        [	        W[
        R                  5        [        U5      n[	        U[
        R                  5        g ! , (       d  f       NN= f)Npluck-pcm8.wav	audiodatasubdirrb)openr   findfilereadry   r   rr   	bytearray)r&   f
audio_datas      r   test_snd_memoryPlaySoundTest.test_snd_memorym   sj    '""#3*578<>ABJ> 	z8#6#67z*
z8#6#67> >s   A99
Bc                     [         R                  " SSS9n[        U[        R                  [        R
                  -  5        g Nr}   r~   r   )r   r   ry   r   SND_FILENAMESND_NODEFAULTr&   fns     r   test_snd_filenamePlaySoundTest.test_snd_filenameu   s0    .{Cr80083I3IIJr   c                     [         R                  " SSS9n[        R                  " U5      n[	        U[
        R                  [
        R                  -  5        g r   )r   r   r   FakePathry   r   r   r   )r&   r   paths      r   test_snd_filepathPlaySoundTest.test_snd_filepathy   s@    .{C!!"%tX22X5K5KKLr   c           	         [         R                  " SSS9nU R                  [        [        R
                  [        R                  " [        R                  " U5      5      [        R                  [        R                  -  5        g r   )r   r   r!   r"   r   rp   r   r   osfsencoder   r   r   s     r   test_snd_filepath_as_bytes(PlaySoundTest.test_snd_filepath_as_bytes~   sY    .{Cr{{2/!!H$:$::		
r   c                     / SQnU H5  nU R                  US9   [        U[        R                  5        S S S 5        M7     g ! , (       d  f       MI  = f)N)SystemAsteriskSystemExclamationru   
SystemHandSystemQuestion)alias)subTestry   r   rz   )r&   aliasesr   s      r   test_aliasesPlaySoundTest.test_aliases   sB    
 EE*uh&8&89 +* **s   A
A	c                 8    [        S[        R                  5        g Nz
!"$%&/(#+*rx   r%   s    r   test_alias_fallback!PlaySoundTest.test_alias_fallback   s    |X%7%78r   c                 Z    [        S[        R                  [        R                  -  5        g r   )ry   r   rz   r   r%   s    r   test_alias_nofallback#PlaySoundTest.test_alias_nofallback   s    |X%7%7(:P:P%PQr   c                 F   [        S[        R                  [        R                  -  [        R                  -  5        [
        R                  " S5        [        S[        R                  [        R                  -  5        [        R                  S [        R                  5        g )Nr   rD   )
ry   r   rz   rq   SND_LOOPrE   rF   
SND_NOSTOPrp   	SND_PURGEr%   s    r   test_stopasyncPlaySoundTest.test_stopasync   sm    !3!33h6G6GG	
 	

3'););h>Q>Q)QR 	4!3!34r   r;   N)r   r<   r=   r>   r'   r9   r   r   r   r   r   r   r   r   r?   r;   r   r   rk   rk   Y   s9    FE8KM


:9R	5r   rk   __main__)r   r   rE   unittesttestr   test.supportr   r   requiresimport_moduler   r   r#   r,   rL   rM   rp   ry   TestCaser   rA   rk   r   mainr;   r   r   <module>r      s     	    & "    &&z2 x}}%	h223 H..//x   /&.h'' .:I5H%% I5X zMMO r   