diff src/testdir/test_functions.vim @ 20629:7b8ac5e49451 v8.2.0868

patch 8.2.0868: trim() always trims both ends Commit: https://github.com/vim/vim/commit/2245ae18e3480057f98fc0e5d9f18091f32a5de0 Author: Bram Moolenaar <Bram@vim.org> Date: Sun May 31 22:20:36 2020 +0200 patch 8.2.0868: trim() always trims both ends Problem: trim() always trims both ends. Solution: Add an argument to only trim the beginning or end. (Yegappan Lakshmanan, closes #6126)
author Bram Moolenaar <Bram@vim.org>
date Sun, 31 May 2020 22:30:04 +0200
parents 89b0f161e6a6
children c2beb6baa42c
line wrap: on
line diff
--- a/src/testdir/test_functions.vim
+++ b/src/testdir/test_functions.vim
@@ -1497,6 +1497,13 @@ func Test_trim()
   call assert_equal("a", trim("a", ""))
   call assert_equal("", trim("", "a"))
 
+  call assert_equal("vim", trim("  vim  ", " ", 0))
+  call assert_equal("vim  ", trim("  vim  ", " ", 1))
+  call assert_equal("  vim", trim("  vim  ", " ", 2))
+  call assert_fails('eval trim("  vim  ", " ", [])', 'E745:')
+  call assert_fails('eval trim("  vim  ", " ", -1)', 'E475:')
+  call assert_fails('eval trim("  vim  ", " ", 3)', 'E475:')
+
   let chars = join(map(range(1, 0x20) + [0xa0], {n -> n->nr2char()}), '')
   call assert_equal("x", trim(chars . "x" . chars))