changeset 15359:bdf5f546eba0 v8.1.0687

patch 8.1.0687: sentence text object in Visual mode is not tested commit https://github.com/vim/vim/commit/6d3a1940be9d3f2b079f81baa9b19f839289b69e Author: Bram Moolenaar <Bram@vim.org> Date: Thu Jan 3 23:10:32 2019 +0100 patch 8.1.0687: sentence text object in Visual mode is not tested Problem: Sentence text object in Visual mode is not tested. Solution: Add a test. (Dominique Pelle, closes https://github.com/vim/vim/issues/3758)
author Bram Moolenaar <Bram@vim.org>
date Thu, 03 Jan 2019 23:15:08 +0100
parents 48d115da20a8
children 4a4212c844d6
files src/testdir/test_visual.vim src/version.c
diffstat 2 files changed, 43 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/testdir/test_visual.vim
+++ b/src/testdir/test_visual.vim
@@ -273,3 +273,44 @@ func Test_virtual_replace2()
   %d_
   set bs&vim
 endfunc
+
+func Test_Visual_sentence_textobject()
+  new
+  call setline(1, ['First sentence. Second sentence. Third', 'sentence. Fouth sentence'])
+
+  " When start and end of visual area are identical, 'as' or 'is' select
+  " the whole sentence.
+  norm! 1gofdvasy
+  call assert_equal('Second sentence. ', @")
+  norm! 1gofdvisy
+  call assert_equal('Second sentence.', @")
+
+  " When start and end of visual area are not identical, 'as' or 'is'
+  " extend the sentence in direction of the end of the visual area.
+  norm! 1gofdvlasy
+  call assert_equal('d sentence. ', @")
+  norm! gvasy
+  call assert_equal("d sentence. Third\nsentence. ", @")
+
+  norm! 1gofdvlisy
+  call assert_equal('d sentence.', @")
+  norm! gvisy
+  call assert_equal('d sentence. ', @")
+  norm! gvisy
+  call assert_equal("d sentence. Third\nsentence.", @")
+
+  " Extend visual area in opposite direction.
+  norm! 1gofdvhasy
+  call assert_equal(' Second', @")
+  norm! gvasy
+  call assert_equal("First sentence. Second", @")
+
+  norm! 1gofdvhisy
+  call assert_equal('Second', @")
+  norm! gvisy
+  call assert_equal(' Second', @")
+  norm! gvisy
+  call assert_equal('First sentence. Second', @")
+
+  bwipe!
+endfunc
--- a/src/version.c
+++ b/src/version.c
@@ -800,6 +800,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    687,
+/**/
     686,
 /**/
     685,