Server : LiteSpeed
System : Linux server51.dnsbootclub.com 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
User : nandedex ( 1060)
PHP Version : 8.1.33
Disable Function : NONE
Directory :  /opt/cppython/lib/python3.8/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]


Current File : //opt/cppython/lib/python3.8/test/__pycache__/test_ntpath.cpython-38.opt-2.pyc
U

>��gS��@sBddlZddlZddlZddlZddlZddlmZmZddlm	Z	m
Z
ddlmZzddl
Z
Wnek
rxdZ
YnXz
ejWnek
r�dZYnXdZzddlZWnek
r�dZYnXdZdd�Zd	d
�Zdd�ZGd
d�dej�ZGdd�de�ZGdd�de
jej�ZGdd�de�Zedk�r>e��dS)�N)�
TestFailed�FakePath)�support�test_genericpath)�
TemporaryFileFTcCsntjddd�j}tjtjtjg|_tj|_||dd�}|sLtd�t�	����t�
|�}||||�}|d|�S)NZkernel32T)Zuse_last_errorrz&failed to get short path name 0x{:08X})�ctypesZWinDLLZGetShortPathNameWZ	c_wchar_pZc_uint32ZargtypesZrestype�OSError�formatZget_last_errorZcreate_unicode_buffer)�pathZGSPNZ
result_len�result�r�//opt/cppython/lib/python3.8/test/test_ntpath.py�_getshortpathnames�
rcCsBt|tttjf�r"t�t�|��St|d�r>t	dd�|D��S|S)N�__iter__css|]}t�t�|��VqdS�N)�ntpath�normcase�os�fsdecode��.0�prrr
�	<genexpr>/sz_norm.<locals>.<genexpr>)
�
isinstance�bytes�strr�PathLikerrr�hasattr�tuple)r
rrr
�_norm+s

rc	Cs|�dd�}t|�}||krJt|�t|�krJtdt|�t|�t|�f��|�dd�}|�dd�}|�dd	�}|�d
d�}|�dd
�}|�dd�}t�|��d�}|�dd��d�}t	�
��t	�dt�t|�}W5QRXt|�t|�k�rtdt|�t|�t
|�f��dS)N�\�\\z%%s should return: %s but returned: %sz('z(b'z("z(b"z['z[b'z["z[b"z, 'z, b'z, "z, b"�latin1�ascii�backslashreplace�ignore)�replace�evalrrrr�fsencode�decode�encode�warnings�catch_warnings�simplefilter�DeprecationWarning�repr)�fnZ
wantResultZ	gotResultrrr
�tester3s*�
�r1c@seZdZdd�Zdd�ZdS)�NtpathTestCasecCs,||kst|�t|�krdS|�||�dSr)r�assertEqual)�selfZpath1Zpath2rrr
�assertPathEqualLszNtpathTestCase.assertPathEqualcCs|�t|�t|��dSr)ZassertInr)r4r
Zpathsetrrr
�assertPathInQszNtpathTestCase.assertPathInN)�__name__�
__module__�__qualname__r5r6rrrr
r2Ksr2c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zej
e�ed�dd���Zej
e�ed�dd���Zej
e�ed�dd���Zej
e�ed�dd���Zej
e�ed�dd���Ze�ed�dd��Ze�ed�e�ed �d!d"���Zd#d$�Ze�ejd%�d&d'��Zd(d)�Ze�ed*�d+d,��Zd-d.�Zd/d0�Z d1d2�Z!d3d4�Z"d5d6�Z#e�ed7�d8d9��Z$d:S);�
TestNtpathcCshtdd�tdd�tdd�tdd�td	d
�tdd�td
d�tdd�tdd�tdd�dS)Nzntpath.splitext("foo.ext"))�foo�.extzntpath.splitext("/foo/foo.ext"))z/foo/foor<zntpath.splitext(".ext"))r<�zntpath.splitext("\foo.ext\foo"))z\foo.ext\foor=zntpath.splitext("foo.ext\"))zfoo.ext\r=zntpath.splitext(""))r=r=zntpath.splitext("foo.bar.ext"))zfoo.barr<z!ntpath.splitext("xx/foo.bar.ext"))z
xx/foo.barr<z!ntpath.splitext("xx\foo.bar.ext"))z
xx\foo.barr<zntpath.splitext("c:a/b\c.d"))zc:a/b\cz.d�r1�r4rrr
�
test_splitextVs








zTestNtpath.test_splitextcCsftdd�tdd�tdd�tdd�td	d
�tdd�td
d�tdd�|�t�d�d�dS)Nzntpath.splitdrive("c:\foo\bar"))�c:�\foo\barzntpath.splitdrive("c:/foo/bar"))rA�/foo/barz/ntpath.splitdrive("\\conky\mountpoint\foo\bar"))z\\conky\mountpointrBz/ntpath.splitdrive("//conky/mountpoint/foo/bar"))z//conky/mountpointrCz0ntpath.splitdrive("\\\conky\mountpoint\foo\bar"))r=z\\\conky\mountpoint\foo\barz0ntpath.splitdrive("///conky/mountpoint/foo/bar"))r=z///conky/mountpoint/foo/barz0ntpath.splitdrive("\\conky\\mountpoint\foo\bar"))r=z\\conky\\mountpoint\foo\barz0ntpath.splitdrive("//conky//mountpoint/foo/bar"))r=z//conky//mountpoint/foo/baru//conky/MOUNTPOİNT/foo/bar)u//conky/MOUNTPOİNTrC)r1r3r�
splitdriver?rrr
�test_splitdrivebs6���������zTestNtpath.test_splitdrivecCs@tdd�tdd�tdd�tdd�td	d
�tdd�dS)
Nzntpath.split("c:\foo\bar"))zc:\foo�barz*ntpath.split("\\conky\mountpoint\foo\bar"))z\\conky\mountpoint\foorFzntpath.split("c:\"))�c:\r=z#ntpath.split("\\conky\mountpoint\"))z\\conky\mountpoint\r=zntpath.split("c:/"))�c:/r=z#ntpath.split("//conky/mountpoint/"))z//conky/mountpoint/r=r>r?rrr
�
test_splitws
�
�
zTestNtpath.test_splitcCs,tdd�tdd�tdd�tdd�dS)Nzntpath.isabs("c:\")�z#ntpath.isabs("\\conky\mountpoint\")zntpath.isabs("\foo")zntpath.isabs("\foo\bar")r>r?rrr
�
test_isabs�s


zTestNtpath.test_isabscCs"tdd�tdd�tdd�dS)Nz>ntpath.commonprefix(["/home/swenson/spam", "/home/swen/spam"])z
/home/swenz;ntpath.commonprefix(["\home\swen\spam", "\home\swen\eggs"])z\home\swen\z;ntpath.commonprefix(["/home/swen/spam", "/home/swen/spam"])z/home/swen/spamr>r?rrr
�test_commonprefix�s���zTestNtpath.test_commonprefixcCs6tdd�tdd�tdd�tdd�tdd	�td
d�tdd
�tdd�tdd�tdd�tdd�tdd�tdd�tdd�tdd�tdd�tdd�tdd�tdd�td d�td!d"�td#d$�td%d&�td'd(�td)d*�td+d,�td-d.�td/d0�td1d2�td3d4�td5d6�td7d8�td9d:�td;d<�td=d<�td>d0�td?d0�td@d0�tdAd0�tdBd8�tdCd8�tdDd8�tdEdF�tdGdH�tdIdJ�tdKdL�dMD]$}dND]}tdO||f|��qؐq�tdPdQ�tdRdQ�tdSdQ�tdTdU�tdVdW�tdXdY�dS)ZNzntpath.join("")r=zntpath.join("", "", "")zntpath.join("a")�azntpath.join("/a")z/azntpath.join("\a")�\azntpath.join("a:")za:zntpath.join("a:", "\b")za:\bzntpath.join("a", "\b")z\bzntpath.join("a", "b", "c")za\b\czntpath.join("a\", "b", "c")zntpath.join("a", "b\", "c")zntpath.join("a", "b", "\c")z\czntpath.join("d:\", "\pleep")zd:\pleepzntpath.join("d:\", "a", "b")zd:\a\bzntpath.join('', 'a')z ntpath.join('', '', '', '', 'a')zntpath.join('a', '')za\z ntpath.join('a', '', '', '', '')zntpath.join('a\', '')z!ntpath.join('a\', '', '', '', '')zntpath.join('a/', '')za/zntpath.join('a/b', 'x/y')za/b\x/yzntpath.join('/a/b', 'x/y')z/a/b\x/yzntpath.join('/a/b/', 'x/y')z/a/b/x/yzntpath.join('c:', 'x/y')zc:x/yzntpath.join('c:a/b', 'x/y')z	c:a/b\x/yzntpath.join('c:a/b/', 'x/y')z	c:a/b/x/yzntpath.join('c:/', 'x/y')zc:/x/yzntpath.join('c:/a/b', 'x/y')z
c:/a/b\x/yzntpath.join('c:/a/b/', 'x/y')z
c:/a/b/x/yz&ntpath.join('//computer/share', 'x/y')z//computer/share\x/yz'ntpath.join('//computer/share/', 'x/y')z//computer/share/x/yz*ntpath.join('//computer/share/a/b', 'x/y')z//computer/share/a/b\x/yzntpath.join('a/b', '/x/y')z/x/yzntpath.join('/a/b', '/x/y')zntpath.join('c:', '/x/y')zntpath.join('c:a/b', '/x/y')zntpath.join('c:/', '/x/y')zntpath.join('c:/a/b', '/x/y')z'ntpath.join('//computer/share', '/x/y')z(ntpath.join('//computer/share/', '/x/y')z)ntpath.join('//computer/share/a', '/x/y')zntpath.join('c:', 'C:x/y')zC:x/yzntpath.join('c:a/b', 'C:x/y')z	C:a/b\x/yzntpath.join('c:/', 'C:x/y')zC:/x/yzntpath.join('c:/a/b', 'C:x/y')z
C:/a/b\x/y)
r=za/bz/a/brAzc:a/brHzc:/a/bz//computer/sharez//computer/share/z//computer/share/a/b)zd:zd:x/yzd:/zd:/x/yz//machine/commonz//machine/common/z//machine/common/x/yzntpath.join(%r, %r)z*ntpath.join('\\computer\share\', 'a', 'b')z\\computer\share\a\bz)ntpath.join('\\computer\share', 'a', 'b')z&ntpath.join('\\computer\share', 'a\b')z*ntpath.join('//computer/share/', 'a', 'b')z//computer/share/a\bz)ntpath.join('//computer/share', 'a', 'b')z//computer/share\a\bz&ntpath.join('//computer/share', 'a/b')z//computer/share\a/br>)r4�x�yrrr
�	test_join�sn


















































zTestNtpath.test_joincCs�tdd�tdd�tdd�tdd�tdd�td	d
�tdd�td
d�tdd�tdd�tdd�tdd�tdd�tdd�tdd�tdd�tdd�tdd�td d!�td"d#�td$d%�td&d'�dS)(Nz$ntpath.normpath('A//////././//.//B')zA\Bzntpath.normpath('A/./B')zntpath.normpath('A/foo/../B')zntpath.normpath('C:A//B')zC:A\Bzntpath.normpath('D:A/./B')zD:A\Bzntpath.normpath('e:A/foo/../B')ze:A\Bzntpath.normpath('C:///A//B')zC:\A\Bzntpath.normpath('D:///A/./B')zD:\A\Bz"ntpath.normpath('e:///A/foo/../B')ze:\A\Bzntpath.normpath('..')�..zntpath.normpath('.')�.zntpath.normpath('')zntpath.normpath('/')r zntpath.normpath('c:/')rGzntpath.normpath('/../.././..')zntpath.normpath('c:/../../..')zntpath.normpath('../.././..')�..\..\..zntpath.normpath('K:../.././..')z
K:..\..\..zntpath.normpath('C:////a/b')zC:\a\bz'ntpath.normpath('//machine/share//a/b')z\\machine\share\a\bzntpath.normpath('\\.\NUL')�\\.\NULzntpath.normpath('\\?\D:/XY\Z')z\\?\D:/XY\Zr>r?rrr
�
test_normpath�s,




















zTestNtpath.test_normpathcCsDt�t���}td|�td|�td|�td|�td|�dS)Nzntpath.realpath('.')zntpath.realpath('./.')z&ntpath.realpath('/'.join(['.'] * 100))zntpath.realpath('.\.')z&ntpath.realpath('\'.join(['.'] * 100)))r�normpathr�getcwdr1�r4�expectedrrr
�test_realpath_curdir�s



zTestNtpath.test_realpath_curdircCs~t�t���}tdt�|��tdt�t�|���tdt�|�dd�tdt�t�|���tdt�|�dd�dS)Nzntpath.realpath('..')zntpath.realpath('../..')z&ntpath.realpath('/'.join(['..'] * 50))rr zntpath.realpath('..\..')z&ntpath.realpath('\'.join(['..'] * 50)))rrWrrXr1�dirnamerDrYrrr
�test_realpath_pardir�s����zTestNtpath.test_realpath_pardirzneed _getfinalpathnamecCs�t�tj�}t|d���|�tj|�|�tj|d�t�	||d�|�
t�|d�|�|�
t�t�|d��t�|��dS�N�wb�1)
r�abspathr�TESTFN�open�close�
addCleanup�unlinkr�symlinkr5�realpathr(�r4�ABSTFNrrr
�test_realpath_basics�zTestNtpath.test_realpath_basiccCsjt�tj�}t|d���|�tj|�|�tj|d�t�	|t�
|d��|�t�|d�|�dSr^)
rrarrbrcrdrerfrrg�relpathr5rhrirrr
�test_realpath_relativesz!TestNtpath.test_realpath_relativec	Cs^t�tj�}t�|�|�tj|�t�|���$t�d�t�	d�t�
dd�t�
dd�t�	d�t�
dd�t�
dd�t�
d	d
�t�
dd�t�
d
d�t�
|dd�t�
dd�|�t�d�|d�|�t�d�|d�|�t�d
�|d�|�t�d�|d�|�t�d�|d�|�t�d�|d�|�t�d�|d�|�t�d�|d�|�t�d�t�
|d��|�t�d�t�
|d��|�t�d�t�
|d��|�t�d�t�
|d��|�t�d�t�
|d��|�t�d �t�
|d��|�t�d!�t�
|d��|�t�d"�t�
|d��W5QRXdS)#NZsubdirrS�	recursiverR�parentr4�missing�brokenz
broken\barZbroken1zself\self\brokenZbroken2z"subdir\parent\subdir\parent\brokenZbroken3z\brokenZbroken4zrecursive\..\brokenZbroken5z\missingz
broken\fooz\missing\fooz\broken\barzbroken1\bazz\broken\bar\bazz\self\self\missingz$\subdir\parent\subdir\parent\missingsbrokens
broken\foosbroken1sbroken1\bazsbroken2sbroken3sbroken4sbroken5)rrarrbr�mkdirre�rmtree�
change_cwd�chdirrgr5rhr(rirrr
�test_realpath_broken_symlinkss�



����������������z(TestNtpath.test_realpath_broken_symlinkscCsNt�tj�}|�tj|�|�tj|d�|�tj|d�|�tj|d�|�tj|d�|�tj|d�t�||�|�t�	|�|�t�|d|d�t�|d|d�|d|df}|�
t�	|d�|�|�
t�	|d�|�|�
t�	|d�dd�|D��|�t�	|d	�t�|��|�t�	|d
�t�|�d�t�|d|d�|�t�	|d
t�|�d�|d�|�
t�	|d
t�|�d�|�t�t�|�d|d�|�t�	|d�|d�t�dt�t�|��dt�|�d|d�|�t�	|d�|d�|�t�	t�|��|�dS)Nr`�2rP�crMz1\xcss|]}t�|d�VqdS)rON)r�join)r�rrrr
risz9TestNtpath.test_realpath_symlink_loops.<locals>.<genexpr>z1\..z1\..\xz\xrOz1\..\�a\b�..\r )
rrarrbrerfrrgr5rhr6r\�basename)r4rjrZrrr
�test_realpath_symlink_loopsRsf�������������z&TestNtpath.test_realpath_symlink_loopsc	Cs�t�tj�}|�tj|d�|�tjd|d�|�tj|d�|�tj|d�t|dd��}|�d�W5QRXt�	|d|d�td|dd��}|�d�W5QRXt�	d|d|d�|�
t�|d�|d�|�
t�|d�d|d�tt�|d�d	��}|�|�
�d�W5QRXtt�|d�d	��}|�|�
�d�W5QRX|�
t�d|d�d|d�|�
t�d|d�d|d�dS)
N�3z\\?\z3.Z3linkz3.linkr_�0�1�rb)rrarrbrerfrc�writerrgr5rhr3�read)r4rj�frrr
�test_realpath_symlink_prefix�s6�
�
�
�z'TestNtpath.test_realpath_symlink_prefixcCstdd�dS)Nzntpath.realpath('NUL')rUr>r?rrr
�test_realpath_nul�szTestNtpath.test_realpath_nulzneed _getshortpathnamec	Cs t�tj�}t�|�t�|�t�|�|�tj|�t�	|d�}t�|�t
|�}t�	|d�}t�	|d�}t|d��}|�d�W5QRX|�
|t�|��t�|��|�
|t�d��W5QRXt�|����|�
|t�d��W5QRXt�|��|�
|t�d��W5QRXdS)NZMyVeryLongDirectoryNamezfile.txtr_scontent)rrarrbrfrsrrrreryrrcr�r5rhrt�lower)r4rjZ
test_dir_longZtest_dir_shortZtest_file_longZtest_file_shortr�rrr
�test_realpath_cwd�s&



zTestNtpath.test_realpath_cwdc	Cs�t����}|��d|d<d|d<d|d<tdd�tdd	�td
d�tdd
�tdd�tdd�tdd�tdd�tdd�tdd�tdd�tdd	�tdd�tdd�tdd�td d!�td"d#�td$d%�td&d'�W5QRXdS)(NrFr;Zbaz1z{fooZbaz2z{foo}zntpath.expandvars("foo")zntpath.expandvars("$foo bar")zbar barzntpath.expandvars("${foo}bar")Zbarbarzntpath.expandvars("$[foo]bar")z	$[foo]barzntpath.expandvars("$bar bar")z$bar barzntpath.expandvars("$?bar")z$?barzntpath.expandvars("$foo}bar")zbar}barzntpath.expandvars("${foo")z${foozntpath.expandvars("${{foo}}")zbaz1}zntpath.expandvars("$foo$foo")zntpath.expandvars("$bar$bar")z$bar$barzntpath.expandvars("%foo% bar")zntpath.expandvars("%foo%bar")zntpath.expandvars("%foo%%foo%")z$ntpath.expandvars("%%foo%%foo%foo%")z%foo%foobarzntpath.expandvars("%?bar%")z%?bar%zntpath.expandvars("%foo%%bar")zbar%barz ntpath.expandvars("'%foo%'%bar")z'%foo%'%barzntpath.expandvars("bar'%foo%")z	bar'%foo%)r�EnvironmentVarGuard�clearr1�r4�envrrr
�test_expandvars�s0


















zTestNtpath.test_expandvarszneed support.FS_NONASCIIc	Cs�dd�}t����}|��tj}||d<d|||<|dd|�|d|d|�|dd	|�|d
|d|�|dd
|�|d|d|�|dd|�|d�|�d|�|dd	|�|d�|�d|�W5QRXdS)NcSstd||�dS)Nzntpath.expandvars(%r)r>)�valuerZrrr
�check�sz2TestNtpath.test_expandvars_nonascii.<locals>.check�spamZhamz	$spam barz%s barz$%s barz
${spam}barz%sbarz${%s}barzham%sbarz	$spam}barz%s}barz$%s}barz
%spam% barz%{}% barz	ham%s barz	%spam%barz%{}%bar)rr�r��FS_NONASCIIr	)r4r�r�Znonasciirrr
�test_expandvars_nonascii�s 
z#TestNtpath.test_expandvars_nonasciic	Cs�tdd�t����}|��tdd�d|d<d|d<tdd	�td
d�|d=tdd�td
d�|��d|d
<tdd	�td
d�tdd�tdd�tdd�tdd�|��d|d<d|d
<tdd	�td
d�W5QRXdS)Nzntpath.expanduser("test")�testzntpath.expanduser("~test")z~testz	eric\idleZHOMEPATH�C:\Z	HOMEDRIVEzC:\eric\testzntpath.expanduser("~")zC:\eric\idlez	eric\testZUSERPROFILEz"ntpath.expanduser("~test\foo\bar")zC:\eric\test\foo\barz"ntpath.expanduser("~test/foo/bar")zC:\eric\test/foo/barzntpath.expanduser("~\foo\bar")zC:\eric\idle\foo\barzntpath.expanduser("~/foo/bar")zC:\eric\idle/foo/barzF:\�HOME)r1rr�r�r�rrr
�test_expanduser�s@








����
zTestNtpath.test_expanduserzabspath requires 'nt' modulec	Cshtdd�t�tj��H}td|�td|d�td|d�t�|�\}}td|d	�W5QRXdS)
Nzntpath.abspath("C:\")r�zntpath.abspath("")zntpath.abspath(" ")z\ zntpath.abspath("?")z\?zntpath.abspath("/abc/")z\abc)r1r�temp_cwdrbrrD)r4�cwd_dir�drive�_rrr
�test_abspaths

zTestNtpath.test_abspathc	Cs�tdd�tdd�tdd�tdd�t�tj��4}t�|�}tdd	|d
�tdd	|d�W5QRXtd
d�tdd�tdd�tdd�tdd�tdd�tdd�tdd�tdd�tdd�td d�td!d�td"d�td#d�dS)$Nzntpath.relpath("a")rMz#ntpath.relpath(ntpath.abspath("a"))zntpath.relpath("a/b")r{zntpath.relpath("../a/b")z..\a\bzntpath.relpath("a", "../b")r|rNzntpath.relpath("a/b", "../c")z\a\bzntpath.relpath("a", "b/c")z..\..\az*ntpath.relpath("c:/foo/bar/bat", "c:/x/y")z..\..\foo\bar\batz@ntpath.relpath("//conky/mountpoint/a", "//conky/mountpoint/b/c")zntpath.relpath("a", "a")rSz(ntpath.relpath("/foo/bar/bat", "/x/y/z")z..\..\..\foo\bar\batz*ntpath.relpath("/foo/bar/bat", "/foo/bar")Zbatz#ntpath.relpath("/foo/bar/bat", "/")zfoo\bar\batz#ntpath.relpath("/", "/foo/bar/bat")rTz$ntpath.relpath("/foo/bar/bat", "/x")z..\foo\bar\batz$ntpath.relpath("/x", "/foo/bar/bat")z
..\..\..\xzntpath.relpath("/", "/")zntpath.relpath("/a", "/a")zntpath.relpath("/a/b", "/a/b")z"ntpath.relpath("c:/foo", "C:/FOO"))r1rr�rbrr})r4r�Z
currentdirrrr
�test_relpaths,

















zTestNtpath.test_relpathcs^dd�}�fdd�}��ttjg�|tddg�|tddg�|tddg�|tddg�|dgd�|ddgd�|d	dgd�|d	d	gd�|d
dgd�|dd
gd�|ddgd�|ddgd�|ddgd�|ddgd�|ddgd�|d	dgd�|ddgd�|ddgd�|ddgd�|tddg�|dgd�|ddgd�|ddgd�|ddgd�|ddgd�|dd gd�|dddgd�|dddgd�|d!d"gd#�|dgd�|dd$gd�|tdd%g���ttjd&dg���ttjd&d'g���ttjd(dg���ttjdd)g���ttjdd*g���ttjdd)g�dS)+NcSstd|�dd�|�dS)Nzntpath.commonpath(%r)r!r )r1r&)�pathsrZrrr
r�8s�z)TestNtpath.test_commonpath.<locals>.checkcs.��|tj|���|tjdd�|D��dS)NcSsg|]}t�|��qSr)rr(rrrr
�
<listcomp>>szCTestNtpath.test_commonpath.<locals>.check_error.<locals>.<listcomp>)�assertRaisesr�
commonpath)�excr�r?rr
�check_error;s
�z/TestNtpath.test_commonpath.<locals>.check_errorzC:\Program Filesz
Program FileszC:Program Filesz\Program FileszC:\Program Files\zC:\\Program FileszC:\Program Files\\zC:\.\Program FileszC:\Program Files\.r�zC:\binzC:\Program Files\BarzC:\Program Files\FoozC:\ProjectszC:/Program Files/Barzc:/program files/barzc:\program fileszD:\Program Filesr�Zalotr=zand\jamzand\spam�andzand\\jamz
and\spam\\z	and\.\jamz
.\and\spamz	C:and\jamz
C:and\spamzC:andz	spam\alotz
\spam\alotsC:\Program FileszProgram Files\Foos
Program FilessC:\Program Files\FoosProgram Files\Foo)r��
ValueErrorrr��	TypeError)r4r�r�rr?r
�test_commonpath7s����������
�
�
�
�
�
�zTestNtpath.test_commonpathcCs�t��x}t��f}|�t�|��|����|�t�|��|����tjdkrp|�t	��t�dd�W5QRXW5QRXW5QRXdS)N�win32���)
r�
assertTruer�sameopenfile�fileno�assertFalse�sys�platformr�r)r4Ztf1Ztf2rrr
�test_sameopenfile|s
zTestNtpath.test_sameopenfilec	Cs�|�t�d��|�t�d��|�t�d��|�t�d��|�t�d��|�t�d��|�t�d��|�t�d��|�t�d	��|�t�d
��|�t�d��|�t�d��t���}|�t�|��W5QRXtjd
k�r�t�tj	�\}}t�
t�tj	���.|�t�|����|�t�|�
���W5QRX|�t�d��|�t�d��|�t�d��|�t�d��dS)NrGr�rHzC:/z\\.\c:\z\\.\C:\sc:\sC:\sc:/sC:/s\\.\c:\s\\.\C:\r�z\\localhost\c$z\\localhost\c$\s\\localhost\c$s\\localhost\c$\)r�r�ismountrZtemp_dirr�r�r�rD�
executablertr\r��upper)r4�dr�r
rrr
�test_ismount�s.
zTestNtpath.test_ismountcCs|�|��|���dSr)r3r�)r4�s1�s2rrr
�
assertEqualCI�szTestNtpath.assertEqualCIzOS helpers require 'nt' modulecCst�tj�}|t�|�fD]6}t�|�}t�|�d}t�|�d}|�	||�qt�
tj�\}}|�|d�|�|d�t�
tj�
��\}}	|�||�|�|	d�tjtjfD]T}t�|�}
|�|
t�|�t|
�d�t�|�
��}|�|t�|�t|�d�q�dS)Nr)�nt�_getfinalpathnamer�r�rr(Z_getvolumepathnamerrDr�Z
_getdiskusage�exec_prefixZ
assertGreaterr*r3�prefixZassertIsInstancer�lenr)r4r�r
Zvolume_pathZ
path_driveZvolume_path_driveZcap�freeZb_capZb_freeZ
final_pathZb_final_pathrrr
�test_nt_helpers�s&

zTestNtpath.test_nt_helpersN)%r7r8r9r@rErIrKrLrQrVr[r]rZskip_unless_symlink�unittestZ
skipUnless�HAVE_GETFINALPATHNAMErkrmrvr~r�r��HAVE_GETSHORTPATHNAMEr�r�r�r�r�r�r�r�r�r�r�r�r�rrrr
r:UsTA

	
7
,
 




$

	E
#
r:c@seZdZeZdgZdS)�NtCommonTestrlN)r7r8r9rZ
pathmoduleZ
attributesrrrr
r��sr�c@s�eZdZeZdd�Zdd�Zdd�Zdd�Zd	d
�Z	dd�Z
d
d�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+S),�
PathLikeTestsc	CsPtj��|_ttj�|_|�tj|j�t|jdd��}|�	d�W5QRXdS)N�xbrstest_ntpath.PathLikeTests)
rrbr��	file_namer�	file_pathrerfrcr�)r4�filerrr
�setUp�s
zPathLikeTests.setUpcCs|�||j�||j��dSr)r5r�r�)r4�funcrrr
�_check_function�szPathLikeTests._check_functioncCs|�|jj�dSr)r�r
rr?rrr
�test_path_normcase�sz PathLikeTests.test_path_normcasecCs|�|jj�dSr)r�r
�isabsr?rrr
�test_path_isabs�szPathLikeTests.test_path_isabscCs,|�|j�dtd�d�|j�ddd��dS)NrM�brx)r3r
ryrr?rrr
�test_path_join�s�zPathLikeTests.test_path_joincCs|�|jj�dSr)r�r
�splitr?rrr
�test_path_split�szPathLikeTests.test_path_splitcCs|�|jj�dSr)r�r
�splitextr?rrr
�test_path_splitext�sz PathLikeTests.test_path_splitextcCs|�|jj�dSr)r�r
rDr?rrr
�test_path_splitdrive�sz"PathLikeTests.test_path_splitdrivecCs|�|jj�dSr)r�r
r}r?rrr
�test_path_basename�sz PathLikeTests.test_path_basenamecCs|�|jj�dSr)r�r
r\r?rrr
�test_path_dirname�szPathLikeTests.test_path_dirnamecCs|�|jj�dSr)r�r
�islinkr?rrr
�test_path_islink�szPathLikeTests.test_path_islinkcCs|�|jj�dSr)r�r
�lexistsr?rrr
�test_path_lexists�szPathLikeTests.test_path_lexistscCs|�|jj�dSr)r�r
r�r?rrr
�test_path_ismountszPathLikeTests.test_path_ismountcCs|�|jj�dSr)r�r
�
expanduserr?rrr
�test_path_expandusersz"PathLikeTests.test_path_expandusercCs|�|jj�dSr)r�r
�
expandvarsr?rrr
�test_path_expandvarssz"PathLikeTests.test_path_expandvarscCs|�|jj�dSr)r�r
rWr?rrr
�test_path_normpath	sz PathLikeTests.test_path_normpathcCs|�|jj�dSr)r�r
rar?rrr
�test_path_abspathszPathLikeTests.test_path_abspathcCs|�|jj�dSr)r�r
rhr?rrr
�test_path_realpathsz PathLikeTests.test_path_realpathcCs|�|jj�dSr)r�r
rlr?rrr
�test_path_relpathszPathLikeTests.test_path_relpathcCs&|j�|j|jg�}|�||j�dSr)r
r�r�r�r5)r4Zcommon_pathrrr
�test_path_commonpathsz"PathLikeTests.test_path_commonpathcCs|�|jj�dSr)r�r
�isdirr?rrr
�test_path_isdirszPathLikeTests.test_path_isdirN)r7r8r9rr
r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr
r��s,r��__main__)rrr�r�r+Ztest.supportrrr�rr�tempfilerr��ImportErrorr��AttributeErrorr�rr�rrr1ZTestCaser2r:Z
CommonTestr�r�r7�mainrrrr
�<module>sD




}J


F1le Man4ger