a ze@sddlZddlZddlZddlZddlmZddlmZgdZej dkrXe gdej j se ZzeD]ZeeqnWneyedYn0Gdd d ejZGd d d eZGd d d eZGdddeZGdddeZedkredS)N normalize)support) Z1_abcZ2_asciiu 3_Grüß-Gottu4_Γειά-σαςu5_Здравствуйтеu 6_にぽんu7_השקצץסu 8_曨曩曫u9_曨שんдΓßu 10_΅´darwin) u 11_΅ϓϔu12_΅ϓϔu 13_ ̈́ΎΫu14_ẛ῁῍῎῏῝῞῟῭u 15_΅´𣏕u 16_   Au 17_   Au 18_   Az19_ Az>only NT+ and systems with Unicode-friendly filesystem encodingc@seZdZeeZdZddZddZe dfddZ d d Z e j d krNee fZneZd d Zee j dkdddZee j dkdddZddZddZdS)UnicodeFileTestsNc CszttjWnty"Yn0|tjtjt}|jD]l}tj tj| |}t |d$}| |ddWdn1s0Yt|||q@||_dSNwb utf-8)osmkdirrTESTFNFileExistsErrorZ addCleanuprmtreesetfilespathjoinnormopenwriteencodestatadd)selfrnamefrT/opt/bitninja-python-dojo/embedded/lib/python3.9/test/test_unicode_file_functions.pysetUp?s   2  zUnicodeFileTests.setUpcCs|jrt|j|S|SN) normal_formr)rsrrrrOs zUnicodeFileTests.normTcCs\||}||Wdn1s(0Y|jj}|rX|||d|j||fdS)Nz>Function '%s(%a) failed with bad filename in the exception: %a)Z assertRaises exceptionfilename assertEqual__name__)rfnr$Zexpected_exceptionZcheck_filenamecZ exc_filenamerrr_apply_failureTs &  zUnicodeFileTests._apply_failurecCsj|jD]^}d|}|t||tj||tj||tj||tj||tj|qdS)Nnot_) rr)rr rchdirrmdirremovelistdirrrrrr test_failures_s  zUnicodeFileTests.test_failureswin32cCsR|jD]F}t|d}||dd|t||tj||j qdSr) rrrrcloser rr)r._listdir_failure)rrrrrr test_openps    zUnicodeFileTests.test_openrzirrelevant test on Mac OS Xcst|j}t}tgdD]|tfdd|DO}q||8}|D]V}|t||tj||tj||tj||tj||tj |qHdS)N)NFCNFDNFKCNFKDc3s|]}t|VqdSr r).0fileZnfrr z2UnicodeFileTests.test_normalize..) rrr)rr rr+r,r-r.)rrZothersrrr;rtest_normalize|s  zUnicodeFileTests.test_normalizecCst|j}t2tdtttj t }Wdn1sJ0Yttj }tdd|D}| ||d||f| t|t|dS)Nignorecss|]}tjtj|VqdSr )r rrrr )r9rrrrr<r=z0UnicodeFileTests.test_listdir..z%a != %a)rrwarningscatch_warnings simplefilterDeprecationWarningr r.rr rsysgetfilesystemencodingr%len)rZsf0f1f2Zsf2rrr test_listdirs   4 zUnicodeFileTests.test_listdircCs(|jD]}t|dtd|qdS)Ntmp)rr renamer/rrr test_renames  zUnicodeFileTests.test_renamec Cstjtjd}d}t|ft|d$}||ddWdn1sT0Yt |tj t |Wdn1s0YdS)NuGrüß-曨曩曫u ß-曨曩曫rr r ) r rrrr Ztemp_cwdrrraccessR_OKr-)rdirnamer$rrrrtest_directorys  2zUnicodeFileTests.test_directory)r& __module__ __qualname__r filenamesrr!rrFileNotFoundErrorr)r0rDplatformNotADirectoryErrorr3r4unittestZskipIfr>rIrLrPrrrrr;s$      rc@seZdZdZdS)UnicodeNFCFileTestsr5Nr&rQrRr!rrrrrXsrXc@seZdZdZdS)UnicodeNFDFileTestsr6NrYrrrrrZsrZc@seZdZdZdS)UnicodeNFKCFileTestsr7NrYrrrrr[sr[c@seZdZdZdS)UnicodeNFKDFileTestsr8NrYrrrrr\sr\__main__)r rDrWr@ unicodedatartestrrSrUextendrsupports_unicode_filenamesrEZ fsencodingrrUnicodeEncodeErrorZSkipTestZTestCaserrXrZr[r\r&mainrrrrs,    m