ó {G_Tc@s©ddlZddlZddlZddlZddlZddlZddlmZmZddlm Z m Z yej e ƒZ Wn&e efk r¯ejdƒ‚nXe je ƒekr=ddlZy@edejƒƒZej e ƒZ de kre d‚nWq=e efk r9ejdƒ‚q=Xne je ƒekrdejd ƒ‚nd „Zd ejfd „ƒYZd „Zedkr¥eƒndS(iÿÿÿÿN(t run_unittesttTESTFN_UNICODE(tTESTFN_ENCODINGtTESTFN_UNENCODABLEs1No Unicode filesystem semantics on this platform.s@test-àòt?smbcs encoding problems!Cannot find a suiteable filename.s Cannot find a suitable filename.cCs&tjj|ƒr"tj|ƒndS(N(tostpathtexiststunlink(tfilename((s2/usr/local/lib/python2.7/test/test_unicode_file.pytremove_if_exists"stTestUnicodeFilescBsYeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z RS( cCs'|jtjj|ƒƒ|jtjj|ƒƒ|jtj|tjƒƒ|jtjjtjj|ƒƒƒ|jtjjtjj|ƒƒƒ|jtjtjj|ƒtjƒƒtj|dƒtj |dƒtj |t j ƒt j ƒfƒ|j ||ƒ|jtjj|ƒtjjt j |ƒdƒkƒtjjtjj|ƒƒ\}}t|tƒr|jtƒ}ntj|ƒ}|rÜt|dtƒrÜg|D]}|jtƒ^q¾}ntjd|ƒ}g|D]}tjd|ƒ^qõ}|j||ƒdS(NiÿitNFD(t assertTrueRRRtisfiletaccesstR_OKtabspathtchmodtutimetNonettimet _do_copyishtglobtsplitt isinstancetstrtdecodeRtlistdirt unicodedatat normalizetassertIn(tselfR Rtbaset file_listtf((s2/usr/local/lib/python2.7/test/test_unicode_file.pyt _do_single,s*%%("2$%%cCsz|jt|ƒt|ƒkdƒ|jtj|ƒtj|ƒƒ|jtj|ƒtj|ƒƒ|j||ƒdS(Ns7No point checking equivalent filenames of the same type(R ttypet assertEqualRtstattlstatR(R t filename1t filename2((s2/usr/local/lib/python2.7/test/test_unicode_file.pyt_do_equivalentNscCs |jtjj|ƒƒtj||dƒ|jtjj|dƒƒtj|d|ƒ|jtjj|ƒƒtj||dƒtj|dƒtj||dƒ|jtjj |ƒ ƒtj|d|ƒ|jtjj |ƒƒtj ||dƒtj|dƒdS(Ns.new( R RRRtrenametshutiltcopyRtmoveRtcopy2(R R)R*((s2/usr/local/lib/python2.7/test/test_unicode_file.pyR]scCsõtjƒ}tjj|ƒr.tj|ƒntj|ƒz¥tj|ƒzƒ|sitjƒ}|}n$tjƒjt ƒ}|jt ƒ}t j d|ƒ}t j d|ƒ}|j tjj |ƒ|ƒWdtj|ƒXWdtj|ƒXdS(NR (RtgetcwdRtisdirtrmdirtmkdirtchdirtgetcwduRRRRR&tbasename(R t make_namet chdir_nametencodedtcwdt cwd_resultt name_result((s2/usr/local/lib/python2.7/test/test_unicode_file.pyt _do_directoryts"      cCs§t|ƒt|dƒ}|jƒz|j|ƒWdtj|ƒX|jtjj|ƒ ƒtj |tj ƒ}tj|ƒz|j|ƒWdtj|ƒXdS(Ntw( R tfiletcloseR$RRR RRtopentO_CREAT(R R R#((s2/usr/local/lib/python2.7/test/test_unicode_file.pyt _test_singleŽs   cCsft|ƒ|jtjj|ƒ ƒt|dƒ}|jƒz|j||ƒWdtj|ƒXdS(NR?( R R RRRR@RAR+R(R R)R*R#((s2/usr/local/lib/python2.7/test/test_unicode_file.pyt_test_equivalentŸs  cCs:|jtƒ|jtƒtdk r6|jtƒndS(N(RDtTESTFN_ENCODEDRRR(R ((s2/usr/local/lib/python2.7/test/test_unicode_file.pyttest_single_files«s   cCs$|jttƒ|jttƒdS(N(RERFR(R ((s2/usr/local/lib/python2.7/test/test_unicode_file.pyttest_equivalent_files±scCs d}|jt|t|tƒ|jt|t|tƒ|jt|t|tƒ|jt|t|tƒtdk rœ|jt|t|tƒndS(Ns.dir(R>RFtTrueRtFalseRR(R text((s2/usr/local/lib/python2.7/test/test_unicode_file.pyttest_directoriesµs  ( t__name__t __module__R$R+RR>RDRERGRHRL(((s2/usr/local/lib/python2.7/test/test_unicode_file.pyR &s "      cCsttƒdS(N(RRM(((s2/usr/local/lib/python2.7/test/test_unicode_file.pyt test_mainÄst__main__(RRRR-Rtunittestttest.test_supportRRRRtencodeRFt UnicodeErrort TypeErrortSkipTestRtsystunicodetgetfilesystemencodingR tTestCaseR RORM(((s2/usr/local/lib/python2.7/test/test_unicode_file.pyts00     ž