0
0
mirror of https://github.com/vim/vim.git synced 2025-09-28 04:24:06 -04:00

patch 9.0.1515: reverse() does not work for a String

Problem:    reverse() does not work for a String.
Solution:   Implement reverse() for a String. (Yegappan Lakshmanan,
            closes #12179)
This commit is contained in:
Yegappan Lakshmanan
2023-05-06 14:08:21 +01:00
committed by Bram Moolenaar
parent 45fcb7928a
commit 03ff1c2dde
8 changed files with 76 additions and 8 deletions

View File

@@ -3469,4 +3469,21 @@ func Test_delfunc_while_listing()
call StopVimInTerminal(buf)
endfunc
" Test for the reverse() function with a string
func Test_string_reverse()
call assert_equal('', reverse(test_null_string()))
for [s1, s2] in [['', ''], ['a', 'a'], ['ab', 'ba'], ['abc', 'cba'],
\ ['abcd', 'dcba'], ['«-«-»-»', '»-»-«-«'],
\ ['🇦', '🇦'], ['🇦🇧', '🇧🇦'], ['🇦🇧🇨', '🇨🇧🇦'],
\ ['🇦«🇧-🇨»🇩', '🇩»🇨-🇧«🇦']]
call assert_equal(s2, reverse(s1))
endfor
" test in latin1 encoding
let save_enc = &encoding
set encoding=latin1
call assert_equal('dcba', reverse('abcd'))
let &encoding = save_enc
endfunc
" vim: shiftwidth=2 sts=2 expandtab