Mercurial > vim
diff src/testdir/test_functions.vim @ 32367:d5e673b941cd v9.0.1515
patch 9.0.1515: reverse() does not work for a String
Commit: https://github.com/vim/vim/commit/03ff1c2dde7f15eca5c9baa6dafbda9b49bedc3b
Author: Yegappan Lakshmanan <yegappan@yahoo.com>
Date: Sat May 6 14:08:21 2023 +0100
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)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 06 May 2023 15:15:04 +0200 |
parents | 8d6f53a07ffd |
children | 8b7ba5c63996 |
line wrap: on
line diff
--- a/src/testdir/test_functions.vim +++ b/src/testdir/test_functions.vim @@ -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