85 lines · 2.5 KB · Text
RawDownload
Test for shortpathname ':8' extension.Only for use on Win32 systems! STARTTEST:so small.vim:fun! TestIt(file, bits, expected)	let res=fnamemodify(a:file,a:bits)	if a:expected == ''		echo "'".a:file."'->(".a:bits.")->'".res."'"	else		if substitute(res,'/','\\', 'g') != substitute( a:expected, '/','\\', 'g') 			echo "FAILED: '".a:file."'->(".a:bits.")->'".res."'"			echo "Expected: '".a:expected."'"		else			echo "OK"		endif	endifendfun:fun! MakeDir( dirname )	"exe '!mkdir '.substitute(a:dirname,'/','\\','g')	call system('mkdir '.substitute(a:dirname,'/','\\','g'))endfun:fun! RMDir( dirname)	"exe '!rmdir '.substitute(a:dirname,'/','\\','g')	call system('rmdir '.substitute(a:dirname,'/','\\','g'))endfun:fun! MakeFile( filename)	"exe '!copy nul '.substitute(a:filename,'/','\\','g')	call system('copy nul '.substitute(a:filename,'/','\\','g'))endfun:fun! TestColonEight()   redir! >test.out	" This could change for CygWin to //cygdrive/c	let dir1='c:/x.x.y'	if filereadable(dir1) || isdirectory(dir1)		call confirm( "'".dir1."' exists, cannot run test" )		return	endif	let file1=dir1.'/zz.y.txt'	let nofile1=dir1.'/z.y.txt'	let dir2=dir1.'/VimIsTheGreatestSinceSlicedBread'	let file2=dir2.'/z.txt'	let nofile2=dir2.'/zz.txt'	let resdir1='c:/XX2235~1.Y'	let resfile1=resdir1.'/ZZY~1.TXT'	let resnofile1=resdir1.'/z.y.txt'	let resdir2=resdir1.'/VIMIST~1'	let resfile2=resdir2.'/z.txt'	let resnofile2=resdir2.'/zz.txt'	call MakeDir( dir1 )	call MakeDir( dir2 )	call MakeFile( file1 )	call MakeFile( file2 )	call TestIt(file1, ':p:8', resfile1)	call TestIt(nofile1, ':p:8', resnofile1)	call TestIt(file2, ':p:8', resfile2)	call TestIt(nofile2, ':p:8', resnofile2)	call TestIt(nofile2, ':p:8:h', fnamemodify(resnofile2,':h'))	exe 'cd '.dir1	call TestIt(file1, ':.:8', strpart(resfile1,strlen(resdir1)+1))	call TestIt(nofile1, ':.:8', strpart(resnofile1,strlen(resdir1)+1))	call TestIt(file2, ':.:8', strpart(resfile2,strlen(resdir1)+1))	call TestIt(nofile2, ':.:8', strpart(resnofile2,strlen(resdir1)+1))	let $HOME=dir1	call TestIt(file1, ':~:8', '~'.strpart(resfile1,strlen(resdir1)))	call TestIt(nofile1, ':~:8', '~'.strpart(resnofile1,strlen(resdir1)))	call TestIt(file2, ':~:8', '~'.strpart(resfile2,strlen(resdir1)))	call TestIt(nofile2, ':~:8', '~'.strpart(resnofile2,strlen(resdir1)))	cd c:/	call delete( file2 )	call delete( file1 )	call RMDir( dir2 )	call RMDir( dir1 )       echo   redir ENDendfun:let dir = getcwd():call TestColonEight():exe "cd " . dir:edit! test.out:set ff=dos:w:qa!ENDTEST