diff src/testdir/test_global.vim @ 19277:1b02482e6a61 v8.2.0197

patch 8.2.0197: some Ex commands not sufficiently tested Commit: https://github.com/vim/vim/commit/ea3db914c0fa35797ad73f6d5bb3a4288d690065 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Feb 2 15:32:13 2020 +0100 patch 8.2.0197: some Ex commands not sufficiently tested Problem: Some Ex commands not sufficiently tested. Solution: Add more tests. (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/5565)
author Bram Moolenaar <Bram@vim.org>
date Sun, 02 Feb 2020 15:45:03 +0100
parents b8fd7364befd
children cb73f4ae6b7c
line wrap: on
line diff
--- a/src/testdir/test_global.vim
+++ b/src/testdir/test_global.vim
@@ -25,4 +25,34 @@ func Test_global_error()
   call assert_fails('g/\(/y', 'E476:')
 endfunc
 
+" Test for printing lines using :g with different search patterns
+func Test_global_print()
+  new
+  call setline(1, ['foo', 'bar', 'foo', 'foo'])
+  let @/ = 'foo'
+  let t = execute("g/")->trim()->split("\n")
+  call assert_equal(['foo', 'foo', 'foo'], t)
+
+  " Test for Vi compatible patterns
+  let @/ = 'bar'
+  let t = execute('g\/')->trim()->split("\n")
+  call assert_equal(['bar'], t)
+
+  normal gg
+  s/foo/foo/
+  let t = execute('g\&')->trim()->split("\n")
+  call assert_equal(['foo', 'foo', 'foo'], t)
+
+  let @/ = 'bar'
+  let t = execute('g?')->trim()->split("\n")
+  call assert_equal(['bar'], t)
+
+  " Test for the 'Pattern found in every line' message
+  let v:statusmsg = ''
+  v/foo\|bar/p
+  call assert_notequal('', v:statusmsg)
+
+  close!
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab