diff src/testdir/test_searchpos.vim @ 7358:6fbeef3b65e6 v7.4.984

commit https://github.com/vim/vim/commit/ad4d8a192abf44b89371af87d70b971cd654b799 Author: Bram Moolenaar <Bram@vim.org> Date: Mon Dec 28 19:20:36 2015 +0100 patch 7.4.984 Problem: searchpos() always starts searching in the first column, which is not what some people expect. (Brett Stahlman) Solution: Add the 'z' flag: start at the specified column.
author Christian Brabandt <cb@256bit.org>
date Mon, 28 Dec 2015 19:30:04 +0100
parents
children 9fc996244059
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/src/testdir/test_searchpos.vim
@@ -0,0 +1,28 @@
+" Tests for searchpos()
+
+func Test_searchpos()
+  new one
+  0put ='1a3'
+  1put ='123xyz'
+  call cursor(1, 1)
+  call assert_equal([1, 1, 2], searchpos('\%(\([a-z]\)\|\_.\)\{-}xyz', 'pcW'))
+  call cursor(1, 2)
+  call assert_equal([2, 1, 1], searchpos('\%(\([a-z]\)\|\_.\)\{-}xyz', 'pcW'))
+  set cpo-=c
+  call cursor(1, 2)
+  call assert_equal([1, 2, 2], searchpos('\%(\([a-z]\)\|\_.\)\{-}xyz', 'pcW'))
+  call cursor(1, 3)
+  call assert_equal([1, 3, 1], searchpos('\%(\([a-z]\)\|\_.\)\{-}xyz', 'pcW'))
+
+  " Now with \zs, first match is in column 0, "a" is matched.
+  call cursor(1. 3)
+  call assert_equal([2, 4, 2], searchpos('\%(\([a-z]\)\|\_.\)\{-}\zsxyz', 'pcW'))
+  " With z flag start at cursor column, don't see the "a".
+  call cursor(1. 3)
+  call assert_equal([2, 4, 1], searchpos('\%(\([a-z]\)\|\_.\)\{-}\zsxyz', 'pcWz'))
+
+  set cpo+=c
+  " close the window
+  q!
+
+endfunc