diff options
Diffstat (limited to 'src/testdir/test50.in')
-rw-r--r-- | src/testdir/test50.in | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/src/testdir/test50.in b/src/testdir/test50.in new file mode 100644 index 000000000..d78ac8e8f --- /dev/null +++ b/src/testdir/test50.in @@ -0,0 +1,85 @@ +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 + endif +endfun +: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 END +endfun +:let dir = getcwd() +:call TestColonEight() +:exe "cd " . dir +:edit! test.out +:set ff=dos +:w +:qa! +ENDTEST + |