Patch 8.1.0850
Problem: Test for 'backupskip' is not correct.
Solution: Split the option in parts and use expand(). (Michael Soyka)
Files: src/testdir/test_options.vim
*** ../vim-8.1.0849/src/testdir/test_options.vim 2019-01-09
23:00:58.001176090 +0100
--- src/testdir/test_options.vim 2019-01-30 21:48:05.460371410 +0100
***************
*** 75,83 ****
endfunc
func Test_filetype_valid()
- if !has('autocmd')
- return
- endif
set ft=valid_name
call assert_equal("valid_name", &filetype)
set ft=valid-name
--- 75,80 ----
***************
*** 349,365 ****
endfunc
func Test_backupskip()
if has("mac")
! call assert_match('/private/tmp/\*', &bsk)
elseif has("unix")
! call assert_match('/tmp/\*', &bsk)
endif
! let bskvalue = substitute(&bsk, '\\', '/', 'g')
! for var in ['$TEMPDIR', '$TMP', '$TEMP']
if exists(var)
let varvalue = substitute(expand(var), '\\', '/', 'g')
! call assert_match(varvalue . '/\=\*', bskvalue)
endif
endfor
endfunc
--- 346,394 ----
endfunc
func Test_backupskip()
+ " Option 'backupskip' may contain several comma-separated path
+ " specifications if one or more of the environment variables TMPDIR, TMP,
+ " or TEMP is defined. To simplify testing, convert the string value into a
+ " list.
+ let bsklist = split(&bsk, ',')
+
if has("mac")
! let found = (index(bsklist, '/private/tmp/*') >= 0)
! call assert_true(found, '/private/tmp not in option bsk: ' . &bsk)
elseif has("unix")
! let found = (index(bsklist, '/tmp/*') >= 0)
! call assert_true(found, '/tmp not in option bsk: ' . &bsk)
! endif
!
! " If our test platform is Windows, the path(s) in option bsk will use
! " backslash for the path separator and the components could be in short
! " (8.3) format. As such, we need to replace the backslashes with forward
! " slashes and convert the path components to long format. The expand()
! " function will do this but it cannot handle comma-separated paths. This is
! " why bsk was converted from a string into a list of strings above.
! "
! " One final complication is that the wildcard "/*" is at the end of each
! " path and so expand() might return a list of matching files. To prevent
! " this, we need to remove the wildcard before calling expand() and then
! " append it afterwards.
! if has('win32')
! let item_nbr = 0
! while item_nbr < len(bsklist)
! let path_spec = bsklist[item_nbr]
! let path_spec = strcharpart(path_spec, 0, strlen(path_spec)-2)
! let path_spec = substitute(expand(path_spec), '\\', '/', 'g')
! let bsklist[item_nbr] = path_spec . '/*'
! let item_nbr += 1
! endwhile
endif
! " Option bsk will also include these environment variables if defined.
! " If they're defined, verify they appear in the option value.
! for var in ['$TMPDIR', '$TMP', '$TEMP']
if exists(var)
let varvalue = substitute(expand(var), '\\', '/', 'g')
! let found = (index(bsklist, varvalue.'/*') >= 0)
! call assert_true(found, var . ' not in option bsk: ' . &bsk)
endif
endfor
endfunc
*** ../vim-8.1.0849/src/version.c 2019-01-30 21:40:58.943219829 +0100
--- src/version.c 2019-01-30 21:50:23.027435521 +0100
***************
*** 785,786 ****
--- 785,788 ----
{ /* Add new patch number below this line */
+ /**/
+ 850,
/**/
--
The early bird gets the worm. If you want something else for
breakfast, get up later.
/// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.