Mercurial > vim
diff src/testdir/test_vimscript.vim @ 24234:7ffc795288dd v8.2.2658
patch 8.2.2658: :for cannot loop over a string
Commit: https://github.com/vim/vim/commit/74e54fcb447e5db32f9c2df34c0554bbecdccca2
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Mar 26 20:41:29 2021 +0100
patch 8.2.2658: :for cannot loop over a string
Problem: :for cannot loop over a string.
Solution: Accept a string argument and iterate over its characters.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 26 Mar 2021 20:45:02 +0100 |
parents | e695db9a5465 |
children | f1a390885192 |
line wrap: on
line diff
--- a/src/testdir/test_vimscript.vim +++ b/src/testdir/test_vimscript.vim @@ -7484,6 +7484,26 @@ func Test_trinary_expression() call assert_equal(v:false, eval(string(v:false))) endfunction +func Test_for_over_string() + let res = '' + for c in 'aéc̀d' + let res ..= c .. '-' + endfor + call assert_equal('a-é-c̀-d-', res) + + let res = '' + for c in '' + let res ..= c .. '-' + endfor + call assert_equal('', res) + + let res = '' + for c in test_null_string() + let res ..= c .. '-' + endfor + call assert_equal('', res) +endfunc + "------------------------------------------------------------------------------- " Modelines {{{1 " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker