Mercurial > vim
view src/testdir/test_substitute.vim @ 10259:a09db7a4afe0 v8.0.0027
commit https://github.com/vim/vim/commit/dc0ccaee68ca24d10050117fbec757ad33590a17
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Oct 9 17:28:01 2016 +0200
patch 8.0.0027
Problem: A channel is closed when reading on stderr or stdout fails, but
there may still be something to read on another part.
Solution: Turn ch_to_be_closed into a bitfield. (Ozaki Kiichi)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 09 Oct 2016 17:30:04 +0200 |
parents | c104f09ae2f4 |
children | fbed07965b6a |
line wrap: on
line source
" Tests for multi-line regexps with ":s". function! Test_multiline_subst() enew! call append(0, ["1 aa", \ "bb", \ "cc", \ "2 dd", \ "ee", \ "3 ef", \ "gh", \ "4 ij", \ "5 a8", \ "8b c9", \ "9d", \ "6 e7", \ "77f", \ "xxxxx"]) 1 " test if replacing a line break works with a back reference /^1/,/^2/s/\n\(.\)/ \1/ " test if inserting a line break works with a back reference /^3/,/^4/s/\(.\)$/\r\1/ " test if replacing a line break with another line break works /^5/,/^6/s/\(\_d\{3}\)/x\1x/ call assert_equal('1 aa bb cc 2 dd ee', getline(1)) call assert_equal('3 e', getline(2)) call assert_equal('f', getline(3)) call assert_equal('g', getline(4)) call assert_equal('h', getline(5)) call assert_equal('4 i', getline(6)) call assert_equal('j', getline(7)) call assert_equal('5 ax8', getline(8)) call assert_equal('8xb cx9', getline(9)) call assert_equal('9xd', getline(10)) call assert_equal('6 ex7', getline(11)) call assert_equal('7x7f', getline(12)) call assert_equal('xxxxx', getline(13)) enew! endfunction