diff src/testdir/test_functions.vim @ 16831:f42aa3d90b12 v8.1.1417

patch 8.1.1417: MS-Windows: resolve() does not resolve all components of path commit https://github.com/vim/vim/commit/1bbebab5255b5300d727c9b3f1b308205847dafd Author: Bram Moolenaar <Bram@vim.org> Date: Wed May 29 20:36:54 2019 +0200 patch 8.1.1417: MS-Windows: resolve() does not resolve all components of path Problem: MS-Windows: resolve() does not resolve all components of the path. (David Briscoe) Solution: Do not bail out for a reparse point. (Yasuhiro Matsumoto, closes #4211, closes #4447)
author Bram Moolenaar <Bram@vim.org>
date Wed, 29 May 2019 20:45:05 +0200
parents e2d8d83e6721
children efd36a9052cc
line wrap: on
line diff
--- a/src/testdir/test_functions.vim
+++ b/src/testdir/test_functions.vim
@@ -238,7 +238,7 @@ endfunc
 func s:normalize_fname(fname)
   let ret = substitute(a:fname, '\', '/', 'g')
   let ret = substitute(ret, '//', '/', 'g')
-  let ret = tolower(ret)
+  return tolower(ret)
 endfunc
 
 func Test_resolve_win32()
@@ -330,6 +330,19 @@ func Test_resolve_win32()
     echomsg 'skipped test for buffer name'
   endif
   call delete('Xfile')
+
+  " test for reparse point
+  call mkdir('Xdir')
+  silent !mklink /D Xdirlink Xdir
+  if !v:shell_error
+    w Xdir/text.txt
+    call assert_equal(s:normalize_fname(getcwd() . '\Xdir\text.txt'), s:normalize_fname(resolve('Xdirlink\text.txt')))
+    call assert_equal(s:normalize_fname(getcwd() . '\Xdir'), s:normalize_fname(resolve('Xdirlink')))
+  else
+    echomsg 'skipped test for reparse point'
+  endif
+
+  call delete('Xdir', 'rf')
 endfunc
 
 func Test_simplify()