diff src/testdir/test_charsearch.vim @ 10072:c104f09ae2f4 v7.4.2307

commit https://github.com/vim/vim/commit/cd055da370114f66c960be9c8b1eb0f33a9e0a85 Author: Bram Moolenaar <Bram@vim.org> Date: Fri Sep 2 19:50:48 2016 +0200 patch 7.4.2307 Problem: Several tests are old style. Solution: Turn them into new style tests. (Yegappan Lakshmanan)
author Christian Brabandt <cb@256bit.org>
date Fri, 02 Sep 2016 20:00:09 +0200
parents
children eb9a7296ae9f
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/src/testdir/test_charsearch.vim
@@ -0,0 +1,62 @@
+
+function! Test_charsearch()
+  enew!
+  call append(0, ['Xabcdefghijkemnopqretuvwxyz',
+      	\ 'Yabcdefghijkemnopqretuvwxyz',
+      	\ 'Zabcdefghijkemnokqretkvwxyz'])
+  " check that "fe" and ";" work
+  1
+  normal! ylfep;;p,,p
+  call assert_equal('XabcdeXfghijkeXmnopqreXtuvwxyz', getline(1))
+  " check that save/restore works
+  2
+  normal! ylfep
+  let csave = getcharsearch()
+  normal! fip
+  call setcharsearch(csave)
+  normal! ;p;p
+  call assert_equal('YabcdeYfghiYjkeYmnopqreYtuvwxyz', getline(2))
+
+  " check that setcharsearch() changes the settings.
+  3
+  normal! ylfep
+  call setcharsearch({'char': 'k'})
+  normal! ;p
+  call setcharsearch({'forward': 0})
+  normal! $;p
+  call setcharsearch({'until': 1})
+  set cpo-=;
+  normal! ;;p
+  call assert_equal('ZabcdeZfghijkZZemnokqretkZvwxyz', getline(3))
+  enew!
+endfunction
+
+" Test for t,f,F,T movement commands and 'cpo-;' setting
+function! Test_search_cmds()
+  enew!
+  call append(0, ["aaa two three four", "    zzz", "yyy   ",
+	      \ "bbb yee yoo four", "ccc two three four",
+	      \ "ddd yee yoo four"])
+  set cpo-=;
+  1
+  normal! 0tt;D
+  2
+  normal! 0fz;D
+  3
+  normal! $Fy;D
+  4
+  normal! $Ty;D
+  set cpo+=;
+  5
+  normal! 0tt;;D
+  6
+  normal! $Ty;;D
+
+  call assert_equal('aaa two', getline(1))
+  call assert_equal('    z', getline(2))
+  call assert_equal('y', getline(3))
+  call assert_equal('bbb y', getline(4))
+  call assert_equal('ccc', getline(5))
+  call assert_equal('ddd yee y', getline(6))
+  enew!
+endfunction