diff options
Diffstat (limited to 'data/vim/patches/8.1.0891')
-rw-r--r-- | data/vim/patches/8.1.0891 | 131 |
1 files changed, 131 insertions, 0 deletions
diff --git a/data/vim/patches/8.1.0891 b/data/vim/patches/8.1.0891 new file mode 100644 index 000000000..d897b585c --- /dev/null +++ b/data/vim/patches/8.1.0891 @@ -0,0 +1,131 @@ +To: vim_dev@googlegroups.com +Subject: Patch 8.1.0891 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 8.1.0891 +Problem: Substitute command inssuficiently tested. +Solution: Add more test coverage. (Dominique Pelle) +Files: src/testdir/test_substitute.vim + + +*** ../vim-8.1.0890/src/testdir/test_substitute.vim 2019-02-10 21:55:23.109307873 +0100 +--- src/testdir/test_substitute.vim 2019-02-10 22:48:01.208799319 +0100 +*************** +*** 141,146 **** +--- 141,230 ---- + bwipe! + endfunc + ++ " Test %s/\n// which is implemented as a special case to use a ++ " more efficient join rather than doing a regular substitution. ++ func Test_substitute_join() ++ new ++ ++ call setline(1, ["foo\tbar", "bar\<C-H>foo"]) ++ let a = execute('%s/\n//') ++ call assert_equal("", a) ++ call assert_equal(["foo\tbarbar\<C-H>foo"], getline(1, '$')) ++ call assert_equal('\n', histget("search", -1)) ++ ++ call setline(1, ["foo\tbar", "bar\<C-H>foo"]) ++ let a = execute('%s/\n//g') ++ call assert_equal("", a) ++ call assert_equal(["foo\tbarbar\<C-H>foo"], getline(1, '$')) ++ call assert_equal('\n', histget("search", -1)) ++ ++ call setline(1, ["foo\tbar", "bar\<C-H>foo"]) ++ let a = execute('%s/\n//p') ++ call assert_equal("\nfoo barbar^Hfoo", a) ++ call assert_equal(["foo\tbarbar\<C-H>foo"], getline(1, '$')) ++ call assert_equal('\n', histget("search", -1)) ++ ++ call setline(1, ["foo\tbar", "bar\<C-H>foo"]) ++ let a = execute('%s/\n//l') ++ call assert_equal("\nfoo^Ibarbar^Hfoo$", a) ++ call assert_equal(["foo\tbarbar\<C-H>foo"], getline(1, '$')) ++ call assert_equal('\n', histget("search", -1)) ++ ++ call setline(1, ["foo\tbar", "bar\<C-H>foo"]) ++ let a = execute('%s/\n//#') ++ call assert_equal("\n 1 foo barbar^Hfoo", a) ++ call assert_equal(["foo\tbarbar\<C-H>foo"], getline(1, '$')) ++ call assert_equal('\n', histget("search", -1)) ++ ++ bwipe! ++ endfunc ++ ++ func Test_substitute_count() ++ new ++ call setline(1, ['foo foo', 'foo foo', 'foo foo', 'foo foo', 'foo foo']) ++ 2 ++ ++ s/foo/bar/3 ++ call assert_equal(['foo foo', 'bar foo', 'bar foo', 'bar foo', 'foo foo'], ++ \ getline(1, '$')) ++ ++ call assert_fails('s/foo/bar/0', 'E939:') ++ ++ bwipe! ++ endfunc ++ ++ " Test substitute 'n' flag (report number of matches, do not substitute). ++ func Test_substitute_flag_n() ++ new ++ let lines = ['foo foo', 'foo foo', 'foo foo', 'foo foo', 'foo foo'] ++ call setline(1, lines) ++ ++ call assert_equal("\n3 matches on 3 lines", execute('2,4s/foo/bar/n')) ++ call assert_equal("\n6 matches on 3 lines", execute('2,4s/foo/bar/gn')) ++ ++ " c flag (confirm) should be ignored when using n flag. ++ call assert_equal("\n3 matches on 3 lines", execute('2,4s/foo/bar/nc')) ++ ++ " No substitution should have been done. ++ call assert_equal(lines, getline(1, '$')) ++ ++ bwipe! ++ endfunc ++ ++ func Test_substitute_errors() ++ new ++ call setline(1, 'foobar') ++ ++ call assert_fails('s/FOO/bar/', 'E486:') ++ call assert_fails('s/foo/bar/@', 'E488:') ++ call assert_fails('s/\(/bar/', 'E476:') ++ ++ setl nomodifiable ++ call assert_fails('s/foo/bar/', 'E21:') ++ ++ bwipe! ++ endfunc ++ + " Test for *sub-replace-special* and *sub-replace-expression* on substitute(). + func Test_sub_replace_1() + " Run the tests with 'magic' on +*** ../vim-8.1.0890/src/version.c 2019-02-10 22:43:30.158824050 +0100 +--- src/version.c 2019-02-10 22:49:31.960124516 +0100 +*************** +*** 785,786 **** +--- 785,788 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 891, + /**/ + +-- +INSPECTOR END OF FILM: Move along. There's nothing to see! Keep moving! + [Suddenly he notices the cameras.] +INSPECTOR END OF FILM: (to Camera) All right, put that away sonny. + [He walks over to it and puts his hand over the lens.] + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |