16d91bcb4SBram Moolenaar" Test for :global and :vglobal 26d91bcb4SBram Moolenaar 307188fc5SBram Moolenaarsource check.vim 43fcfa35fSBram Moolenaar 53fcfa35fSBram Moolenaarfunc Test_yank_put_clipboard() 63fcfa35fSBram Moolenaar new 73fcfa35fSBram Moolenaar call setline(1, ['a', 'b', 'c']) 83fcfa35fSBram Moolenaar set clipboard=unnamed 93fcfa35fSBram Moolenaar g/^/normal yyp 103fcfa35fSBram Moolenaar call assert_equal(['a', 'a', 'b', 'b', 'c', 'c'], getline(1, 6)) 11515545e1SBram Moolenaar set clipboard=unnamed,unnamedplus 12515545e1SBram Moolenaar call setline(1, ['a', 'b', 'c']) 13515545e1SBram Moolenaar g/^/normal yyp 14515545e1SBram Moolenaar call assert_equal(['a', 'a', 'b', 'b', 'c', 'c'], getline(1, 6)) 153fcfa35fSBram Moolenaar set clipboard& 163fcfa35fSBram Moolenaar bwipe! 173fcfa35fSBram Moolenaarendfunc 18f84b122aSBram Moolenaar 1907188fc5SBram Moolenaarfunc Test_global_set_clipboard() 2007188fc5SBram Moolenaar CheckFeature clipboard_working 2107188fc5SBram Moolenaar new 2207188fc5SBram Moolenaar set clipboard=unnamedplus 2307188fc5SBram Moolenaar let @+='clipboard' | g/^/set cb= | let @" = 'unnamed' | put 2407188fc5SBram Moolenaar call assert_equal(['','unnamed'], getline(1, '$')) 2507188fc5SBram Moolenaar set clipboard& 2607188fc5SBram Moolenaar bwipe! 2707188fc5SBram Moolenaarendfunc 2807188fc5SBram Moolenaar 29f84b122aSBram Moolenaarfunc Test_nested_global() 30f84b122aSBram Moolenaar new 31f84b122aSBram Moolenaar call setline(1, ['nothing', 'found', 'found bad', 'bad']) 32e2e4075fSBram Moolenaar call assert_fails('g/found/3v/bad/s/^/++/', 'E147:') 33f84b122aSBram Moolenaar g/found/v/bad/s/^/++/ 34f84b122aSBram Moolenaar call assert_equal(['nothing', '++found', 'found bad', 'bad'], getline(1, 4)) 35f84b122aSBram Moolenaar bwipe! 36f84b122aSBram Moolenaarendfunc 375d98dc2aSBram Moolenaar 385d98dc2aSBram Moolenaarfunc Test_global_error() 395d98dc2aSBram Moolenaar call assert_fails('g\\a', 'E10:') 405d98dc2aSBram Moolenaar call assert_fails('g', 'E148:') 419b7bf9e9SBram Moolenaar call assert_fails('g/\(/y', 'E54:') 425d98dc2aSBram Moolenaarendfunc 435d98dc2aSBram Moolenaar 44ea3db914SBram Moolenaar" Test for printing lines using :g with different search patterns 45ea3db914SBram Moolenaarfunc Test_global_print() 46ea3db914SBram Moolenaar new 47ea3db914SBram Moolenaar call setline(1, ['foo', 'bar', 'foo', 'foo']) 48ea3db914SBram Moolenaar let @/ = 'foo' 49ea3db914SBram Moolenaar let t = execute("g/")->trim()->split("\n") 50ea3db914SBram Moolenaar call assert_equal(['foo', 'foo', 'foo'], t) 51ea3db914SBram Moolenaar 52ea3db914SBram Moolenaar " Test for Vi compatible patterns 53ea3db914SBram Moolenaar let @/ = 'bar' 54ea3db914SBram Moolenaar let t = execute('g\/')->trim()->split("\n") 55ea3db914SBram Moolenaar call assert_equal(['bar'], t) 56ea3db914SBram Moolenaar 57ea3db914SBram Moolenaar normal gg 58ea3db914SBram Moolenaar s/foo/foo/ 59ea3db914SBram Moolenaar let t = execute('g\&')->trim()->split("\n") 60ea3db914SBram Moolenaar call assert_equal(['foo', 'foo', 'foo'], t) 61ea3db914SBram Moolenaar 62ea3db914SBram Moolenaar let @/ = 'bar' 63ea3db914SBram Moolenaar let t = execute('g?')->trim()->split("\n") 64ea3db914SBram Moolenaar call assert_equal(['bar'], t) 65ea3db914SBram Moolenaar 66ea3db914SBram Moolenaar " Test for the 'Pattern found in every line' message 67ea3db914SBram Moolenaar let v:statusmsg = '' 68ea3db914SBram Moolenaar v/foo\|bar/p 69ea3db914SBram Moolenaar call assert_notequal('', v:statusmsg) 70ea3db914SBram Moolenaar 71ea3db914SBram Moolenaar close! 72ea3db914SBram Moolenaarendfunc 73ea3db914SBram Moolenaar 74818fc9adSBram Moolenaar" Test for global command with newline character 75818fc9adSBram Moolenaarfunc Test_global_newline() 76818fc9adSBram Moolenaar new 77818fc9adSBram Moolenaar call setline(1, ['foo']) 78818fc9adSBram Moolenaar exe "g/foo/s/f/h/\<NL>s/o$/w/" 79818fc9adSBram Moolenaar call assert_equal('how', getline(1)) 80818fc9adSBram Moolenaar call setline(1, ["foo\<NL>bar"]) 81818fc9adSBram Moolenaar exe "g/foo/s/foo\\\<NL>bar/xyz/" 82818fc9adSBram Moolenaar call assert_equal('xyz', getline(1)) 83818fc9adSBram Moolenaar close! 84818fc9adSBram Moolenaarendfunc 85818fc9adSBram Moolenaar 86*419a40acSBram Moolenaarfunc Test_wrong_delimiter() 87*419a40acSBram Moolenaar call assert_fails('g x^bxd', 'E146:') 88*419a40acSBram Moolenaarendfunc 89*419a40acSBram Moolenaar 905d98dc2aSBram Moolenaar" vim: shiftwidth=2 sts=2 expandtab 91