a ze;@sddlmZddlmZddlZddlZddlZddlZddlZgdZ Gdddej Z Gdddej Z Gd d d ej Z Gd d d ej ZGd ddej ZGdddej ZGdddej ZGdddeZedkredS))support)TESTFNN)gb2312gbkgb18030hz big5hkscscp932 shift_jiseuc_jp euc_jisx0213shift_jisx0213 euc_jis_2004shift_jis_2004cp949euc_krjohabbig5cp950 iso2022_jp iso2022_jp_1 iso2022_jp_2iso2022_jp_2004 iso2022_jp_3iso2022_jp_ext iso2022_krc@sDeZdZddZddZddZddZd d Zd d Zd dZ dS)Test_MultibyteCodeccCsDtD]:}|d|d|td|d|d|dqdS)N)ALL_CJKENCODINGS assertEqualdecodestrencodeselfencr'L/opt/bitninja-python-dojo/embedded/lib/python3.9/test/test_multibytecodec.pytest_nullcodingsz#Test_MultibyteCodec.test_nullcodingcCs tD]}|d|dqdS)Nabcdabcd)rr r#r$r'r'r(test_str_decode$sz#Test_MultibyteCodec.test_str_decodecCs2td}dd}td||t|dddS)Nzeuc-krcSsdtjdfS)Nr)sysmaxsize)excr'r'r(*rzBTest_MultibyteCodec.test_errorcallback_longindex..z test.cjktestsapplehamspam)codecs getdecoderregister_error assertRaises IndexError)r%ZdecZ myreplacer'r'r(test_errorcallback_longindex(s   z0Test_MultibyteCodec.test_errorcallback_longindexcCs4d}tdtjtD]}|||ddqdS)Nu,z test.ignorer)r2r4 ignore_errorsrr r#)r%datar&r'r'r( test_errorcallback_custom_ignore/sz4Test_MultibyteCodec.test_errorcallback_custom_ignorec Cs<z*tD]}d|}t|qWttn tt0dS)Nz # coding: {} )rformatexecrunlinkr)r%r&coder'r'r(test_codingspec6s   z#Test_MultibyteCodec.test_codingspeccCs$|ttjd|ttjddSN)r5AttributeError_multibytecodecZMultibyteStreamReaderZMultibyteStreamWriterr%r'r'r(test_init_segfault>s z&Test_MultibyteCodec.test_init_segfaultcCs"tD]}|tt|dqdSNr)rr5 TypeErrorr2r3r$r'r'r(test_decode_unicodeEsz'Test_MultibyteCodec.test_decode_unicodeN) __name__ __module__ __qualname__r)r,r7r:r?rDrGr'r'r'r(rsrc@sTeZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ dS)Test_IncrementalEncodercCstd}||dd||d||ddd||d||ddd||dd d||ddS) Nru파이썬 마을s ̽ u ☆∼☆Ts١rrFr2getincrementalencoderr r#resetr%encoderr'r'r(test_statelessLs  z&Test_IncrementalEncoder.test_statelesscCstd}||dd||dd||dd||ddd||d||dd ||dd||d dd||d dddS) Njisx0213æ̀ær̀TrrLrOr'r'r( test_statefulYs z%Test_IncrementalEncoder.test_statefulcCstd}||dd|t|jd||dd|t|jd||d||dd||dd|t|jd||d d d dS) NrRrUruģùærTrVrXrTrW)r2rMr r#r5UnicodeEncodeErrorrNrOr'r'r(test_stateful_keep_bufferls z1Test_IncrementalEncoder.test_stateful_keep_buffercCstd}|}||dd||||dd||dd|}||dd||||dddS)NrrSrTrUrrV)r2rMgetstater r#setstate)r%rPZ initial_stateZ partial_stater'r'r($test_state_methods_with_buffer_statexs   zUrz2Test_ISO2022.test_iso2022_jp_g0..)Z assertNotInr#Z assertFalseany)r%rer'r'r(test_iso2022_jp_g0Qs zTest_ISO2022.test_iso2022_jp_g0cCs$tddD]}t|ddq dS)Nii iso_2022_jpignore)rangechrr#)r%rr'r'r(test_bug1572832WszTest_ISO2022.test_bug1572832N)rHrIrJrrrr'r'r'r(rKsrc@s<eZdZdZdZdZdZeeZddZddZ d d Z d S) TestStatefulu世世z iso-2022-jps$B@$@$s(BcCs||j|j|jdSr@)r textr#rexpected_resetrCr'r'r( test_encodecszTestStateful.test_encodecsht|jdfdd|jD}|||j|jddd|j|jdddddS)Nrc3s|]}|VqdSr@r#)rcharrPr'r(rhsz7TestStateful.test_incrementalencoder..rTfinal) r2rMrjoinrr expectedr#rNr%outputr'rr(test_incrementalencoderfsz$TestStateful.test_incrementalencodercsdt|jt|jddfddt|jD}|||j|j dddddS)Nr-rc3s"|]\}}||kVqdSr@r)rindexrrPZ last_indexr'r(rrsz=TestStateful.test_incrementalencoder_final..rTr) r2rMrlenrr enumerater rr#rr'rr(test_incrementalencoder_finalosz*TestStateful.test_incrementalencoder_finalN) rHrIrJrrrrNrrrrr'r'r'r(r\s rc@s$eZdZdZdZdZdZeeZdS)TestHZStatefulu聊聊rs~{ADADs~}N)rHrIrJrrrrNrr'r'r'r(rxs r__main__)testrZ test.supportrZunittestrr2r.rBrZTestCaserrKrprrrrrrHmainr'r'r'r(s   .N