Mercurial > vim
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