B ã&äSÎÁ´ ã@sŒddlmZmZmZddlZddlZddlmZddlZGdd„dej ƒZ Gdd„dƒZ Gdd „d e ƒZ Gd d „d e ƒZ Gd d „d e ƒZdS)é)ÚfindfileÚTESTFNÚunlinkN)Úmockc@seZdZdd„Zdd„ZdS)Ú UnseekableIOcCs tj‚dS)N)ÚioÚUnsupportedOperation)Úself©r ú4/opt/alt/python37/lib64/python3.7/test/audiotests.pyÚtell szUnseekableIO.tellcOs tj‚dS)N)rr)r ÚargsÚkwargsr r r Úseek szUnseekableIO.seekN)Ú__name__Ú __module__Ú __qualname__r rr r r r rsrc@s(eZdZdZdd„Zdd„Zdd„ZdS) Ú AudioTestsFcCsd|_|_dS)N)ÚfÚfout)r r r r ÚsetUpszAudioTests.setUpcCs4|jdk r|j ¡|jdk r(|j ¡ttƒdS)N)rÚcloserrr)r r r r ÚtearDowns     zAudioTests.tearDownc Cs| | ¡|¡| | ¡|¡| | ¡|¡| | ¡|¡| | ¡|¡| | ¡|¡| ¡}| |||||||f¡| |j|¡| |j |¡| |j |¡| |j |¡| |j |¡| |j |¡x4ttjdƒD]"} t || ¡} | t | ¡|¡qäWdS)Né)Ú assertEqualÚ getnchannelsÚ getsampwidthÚ getframerateÚ getnframesZ getcomptypeZ getcompnameÚ getparamsÚ nchannelsÚ sampwidthÚ framerateÚnframesÚcomptypeÚcompnameÚrangeÚpickleZHIGHEST_PROTOCOLÚdumpsÚloads) r rr r!r"r#r$r%ÚparamsÚprotoÚdumpr r r Ú check_paramss$ zAudioTests.check_paramsN)rrrÚclose_fdrrr-r r r r rsrc@seZdZdd„ZdS)ÚAudioMiscTestsc Cs`d}d}t |jj›d¡:}| t¡$|jj||d|j||dWdQRXWdQRXdS)NÚargÚmodez.open)r1)rZpatchÚmodulerZ assertWarnsÚDeprecationWarningZopenfpZassert_called_with)r r0r1Z mock_openr r r Útest_openfp_deprecated7s  z%AudioMiscTests.test_openfp_deprecatedN)rrrr4r r r r r/5sr/c@s”eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd „Zd!d"„Zd#S)$ÚAudioWriteTestscCsL|j |d¡}|_| |j¡| |j¡| |j¡|  |j |j ¡|S)NÚwb) r2ÚopenrÚ setnchannelsr Ú setsampwidthr!Ú setframerater"Ú setcomptyper$r%)r Útestfilerr r r Ú create_fileBs    zAudioWriteTests.create_filec Csv|j |d¡^}| | ¡|j¡| | ¡|j¡| | ¡|j¡| |  ¡|¡| |  |¡|¡WdQRXdS)NÚrb) r2r7rrr rr!rr"rÚ readframes)r r<r#Úframesrr r r Ú check_fileJs zAudioWriteTests.check_filec CsP| t¡}| |j¡| |j¡| ||j|j|j |j|j |j ¡|  ¡dS)N) r=rÚ setnframesr#Ú writeframesr@r-r r!r"r$r%r)r rr r r Útest_write_paramsRs    z!AudioWriteTests.test_write_paramsc Cs€| |jj¡ |j td¡WdQRXWdQRX| |jj¡4ttdƒ}|j |¡WdQRXWdQRXWdQRXdS)Nr6)Ú assertRaisesr2ÚErrorr7r)r r<r r r Ú&test_write_context_manager_calls_closeZs z6AudioWriteTests.test_write_context_manager_calls_closec Csttdƒb}|j |¡:}| |j¡| |j¡| |j¡|  |j |j ¡WdQRX|  |j |j¡WdQRXttdƒŠ}|j |¡N}| | ¡j ¡| ¡}|  |j|j¡|  |j|j¡|  |j|j¡WdQRX|jsò| | ¡¡|  |j |j¡WdQRXdS)Nr6r>)r7rr2r8r r9r!r:r"r;r$r%rÚclosedr.Ú assertFalseÚgetfprÚ assertIsNone)r r<rr*r r r Ú#test_context_manager_with_open_filees"     z3AudioWriteTests.test_context_manager_with_open_filec CsÆ|j td¡:}| |j¡| |j¡| |j¡|  |j |j ¡WdQRX|j t¡N}|  |  ¡j¡| ¡}| |j|j¡| |j|j¡| |j|j¡WdQRX|jsÂ| |  ¡¡dS)Nr6)r2r7rr8r r9r!r:r"r;r$r%rIrJrHrrr.rK)r rr*r r r Ú"test_context_manager_with_filenamexs   z2AudioWriteTests.test_context_manager_with_filenamecCs@| t¡}| |j¡| |j¡| ¡| t|j|j¡dS)N)r=rrBr#rCr@rrA)r rr r r Ú test_write‰s    zAudioWriteTests.test_writecCsD| t¡}| |j¡| t|jƒ¡| ¡| t|j|j¡dS)N) r=rrBr#rCÚ bytearrayr@rrA)r rr r r Útest_write_bytearray‘s   z$AudioWriteTests.test_write_bytearraycCsH| t¡}| |j¡| t d|j¡¡| ¡| t|j|j¡dS)NÚh) r=rrBr#rCÚarrayr@rrA)r rr r r Útest_write_array™s   z AudioWriteTests.test_write_arraycCsD| t¡}| |j¡| t|jƒ¡| ¡| t|j|j¡dS)N) r=rrBr#rCÚ memoryviewr@rrA)r rr r r Útest_write_memoryview¡s   z%AudioWriteTests.test_write_memoryviewc CsŒttdƒ>}| d¡| |¡}| |jd¡| |j¡| ¡WdQRXttdƒ*}|  |  d¡d¡|  ||j|j¡WdQRXdS)Nr6s ababagalamagarr>é ) r7rÚwriter=rBr#rCr@rrÚreadrA)r r<rr r r Útest_incompleted_write©s     z&AudioWriteTests.test_incompleted_writec Cs´ttdƒf}| d¡| |¡}| |j¡|j|j}| |j d| …¡| |j | d…¡|  ¡WdQRXttdƒ*}|  |  d¡d¡|  ||j|j ¡WdQRXdS)Nr6s ababagalamagar>rV)r7rrWr=rBr#r r!rCr@rrrXrA)r r<rÚ framesizer r r Útest_multiple_writesµs      z$AudioWriteTests.test_multiple_writesc CsŒttdƒ>}| d¡| |¡}| |jd¡| |j¡| ¡WdQRXttdƒ*}|  |  d¡d¡|  ||j|j¡WdQRXdS)Nr6s ababagalamagarr>rV) r7rrWr=rBr#rCr@rrrXrA)r r<rr r r Útest_overflowed_writeÃs     z%AudioWriteTests.test_overflowed_writec CsZ| t¡}| |j¡| |j¡WdQRXttdƒ}| ||j|j¡WdQRXdS)Nr>)r=rrBr#rCr@rrA)r rr<r r r Útest_unseekable_readÏs    z$AudioWriteTests.test_unseekable_readc CsZttdƒ4}| |¡}| |j¡| |j¡WdQRXWdQRX| t|j|j¡dS)Nr6)rrr=rBr#rCr@rA)r r<rr r r Útest_unseekable_write×s     z%AudioWriteTests.test_unseekable_writec CsÄttdƒr}| d¡| |¡}| |jd¡y| |j¡Wntk rTYnXy |  ¡Wntk rvYnXWdQRXt tdƒ.}|  |  d¡d¡|  ||jd|j¡WdQRXdS)Nr6s ababagalamagarr>rV)rrrWr=rBr#rCr@ÚOSErrorrr7rrXrA)r r<rr r r Ú!test_unseekable_incompleted_writeßs     z1AudioWriteTests.test_unseekable_incompleted_writec CsÚttdƒr}| d¡| |¡}| |jd¡y| |j¡Wntk rTYnXy |  ¡Wntk rvYnXWdQRXt tdƒD}|  |  d¡d¡|j |j}| ||jd|jd| …¡WdQRXdS)Nr6s ababagalamagarr>rV)rrrWr=rBr#rCr@r_rr7rrXr r!rA)r r<rrZr r r Ú test_unseekable_overflowed_writeñs       z0AudioWriteTests.test_unseekable_overflowed_writeN)rrrr=rArDrGrLrMrNrPrSrUrYr[r\r]r^r`rar r r r r5@s"   r5c@s@eZdZedd„ƒZdd„Zdd„Zdd„Zd d „Zd d „Z d S)ÚAudioTestsWithSourceFilecCst|jdd|_dS)NZ audiodata)Zsubdir)rZ sndfilenameÚ sndfilepath)Úclsr r r Ú setUpClasssz#AudioTestsWithSourceFile.setUpClassc Cs:|j |j¡}|_| ||j|j|j|j|j |j ¡dS)N) r2r7rcrr-r r!r"Úsndfilenframesr$r%)r rr r r Útest_read_params sz)AudioTestsWithSourceFile.test_read_paramsc CsÂt|jdƒ<}|j |¡}|_| |j¡| ¡| |j|j¡WdQRXtt dƒ`}|j |d¡}|_ | |j¡|  |jj ¡| ¡WdQRX| |j|j¡| ¡WdQRXdS)Nr>r6) r7rcr2rrIrHrrr.rrrErF)r r<rrr r r Ú test_closes   z#AudioTestsWithSourceFile.test_closec Cs\|j|j}|jdd|…}|jd|d|…}|j |j¡}|_| | d¡d¡| |  ¡d¡| | d¡|¡|  ¡|  ¡}| |d¡| | d¡|¡|  ¡}| |d¡| | d¡|¡|  |¡| | d¡|¡|  |¡| | d¡|¡|  |jj ¡|  d¡WdQRX|  |jj ¡|  | ¡d¡WdQRXdS)Nééróéÿÿÿÿr)r r!r@r2r7rcrrr?r ÚrewindZsetposrErFr)r rZZchunk1Zchunk2rZpos0Zpos2r r r Ú test_reads,     z"AudioTestsWithSourceFile.test_readcCsÌ|j |j¡}|_|j td¡}|_| | ¡¡d}| ¡}x,|dkrn|d7}|  |  |¡¡||8}qDW|  ¡|j td¡}|_|  ¡|  | ¡| ¡¡|  |  | ¡¡|  | ¡¡¡dS)Nr6rrr>)r2r7rcrrrZ setparamsrrrCr?rrmr)r rrÚiÚnr r r Ú test_copy7s  z"AudioTestsWithSourceFile.test_copyc Csêttdƒ6}| d¡t|jdƒ}| | ¡¡WdQRXWdQRXttdƒ}| | d¡d¡|j |d¡d}| | ¡|j¡| |  ¡|j ¡| |  ¡|j ¡| |  ¡|j¡| | |j¡|j¡WdQRXWdQRXdS)Nr6s ababagalamagar>rV)r7rrWrcrXrr2rr rr!rr"rrfr?r#r@)r r<rr r r Útest_read_not_from_startHs  " z1AudioTestsWithSourceFile.test_read_not_from_startN) rrrÚ classmethodrergrhrnrqrrr r r r rbs  rb)Z test.supportrrrrRrZunittestrr'ÚFileIOrrr/r5rbr r r r Ús % F