diff --git a/src/testdir/test50.in b/src/testdir/test50.in
new file mode 100644
index 0000000..d78ac8e
--- /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
+
