forked from aniani/vim
231 lines
4.2 KiB
Plaintext
231 lines
4.2 KiB
Plaintext
Test for joining lines and marks in them
|
||
in compatible and nocompatible modes
|
||
and with 'joinspaces' set or not
|
||
and with 'cpoptions' flag 'j' set or not
|
||
|
||
STARTTEST
|
||
:so small.vim
|
||
:set nocompatible viminfo+=nviminfo
|
||
:set nojoinspaces
|
||
:set cpoptions-=j
|
||
/firstline/
|
||
j"td/^STARTTEST/-1
|
||
PJjJjJjJjJjJjJjJjJjJjJjJjJjJj05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions+=j
|
||
j05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions-=j joinspaces
|
||
j"tpJjJjJjJjJjJjJjJjJjJjJjJjJjJj05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions+=j
|
||
j05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions-=j nojoinspaces compatible
|
||
j"tpJjJjJjJjJjJjJjJjJjJjJjJjJjJj4Jy3l$pjd/STARTTEST/-2
|
||
ENDTEST
|
||
|
||
firstline
|
||
asdfasdf.
|
||
asdf
|
||
asdfasdf.
|
||
asdf
|
||
asdfasdf.
|
||
asdf
|
||
asdfasdf.
|
||
asdf
|
||
asdfasdf.
|
||
asdf
|
||
asdfasdf.
|
||
asdf
|
||
asdfasdf.
|
||
asdf
|
||
asdfasdf
|
||
asdf
|
||
asdfasdf
|
||
asdf
|
||
asdfasdf
|
||
asdf
|
||
asdfasdf
|
||
asdf
|
||
asdfasdf
|
||
asdf
|
||
asdfasdf
|
||
asdf
|
||
asdfasdf
|
||
asdf
|
||
zx cvn.
|
||
as dfg?
|
||
hjkl iop!
|
||
ert
|
||
zx cvn.
|
||
as dfg?
|
||
hjkl iop!
|
||
ert
|
||
|
||
STARTTEST
|
||
/^{/+1
|
||
:set comments=s1:/*,mb:*,ex:*/,://
|
||
:set nojoinspaces fo=j
|
||
:set backspace=eol,start
|
||
:.,+3join
|
||
j4J
|
||
:.,+2join
|
||
j3J
|
||
:.,+2join
|
||
j3J
|
||
:.,+2join
|
||
jj3J
|
||
ENDTEST
|
||
|
||
{
|
||
|
||
/*
|
||
* Make sure the previous comment leader is not removed.
|
||
*/
|
||
|
||
/*
|
||
* Make sure the previous comment leader is not removed.
|
||
*/
|
||
|
||
// Should the next comment leader be left alone?
|
||
// Yes.
|
||
|
||
// Should the next comment leader be left alone?
|
||
// Yes.
|
||
|
||
/* Here the comment leader should be left intact. */
|
||
// And so should this one.
|
||
|
||
/* Here the comment leader should be left intact. */
|
||
// And so should this one.
|
||
|
||
if (condition) // Remove the next comment leader!
|
||
// OK, I will.
|
||
action();
|
||
|
||
if (condition) // Remove the next comment leader!
|
||
// OK, I will.
|
||
action();
|
||
}
|
||
|
||
STARTTEST
|
||
:" Test with backspace set to the non-compatible setting
|
||
/^\d\+ this
|
||
:set cp bs=2
|
||
Avim1
|
||
Avim2u
|
||
:set cpo-=<
|
||
:inoremap <c-u> <left><c-u>
|
||
Avim3
|
||
:iunmap <c-u>
|
||
Avim4
|
||
:" Test with backspace set to the compatible setting
|
||
:set backspace= visualbell
|
||
A vim5A
|
||
A vim6Azweiu
|
||
:inoremap <c-u> <left><c-u>
|
||
A vim7
|
||
:set compatible novisualbell
|
||
ENDTEST
|
||
1 this shouldn't be deleted
|
||
2 this shouldn't be deleted
|
||
3 this shouldn't be deleted
|
||
4 this should be deleted
|
||
5 this shouldn't be deleted
|
||
6 this shouldn't be deleted
|
||
7 this shouldn't be deleted
|
||
8 this shouldn't be deleted (not touched yet)
|
||
|
||
STARTTEST
|
||
/^{/+1
|
||
:set comments=sO:*\ -,mO:*\ \ ,exO:*/
|
||
:set comments+=s1:/*,mb:*,ex:*/,://
|
||
:set comments+=s1:>#,mb:#,ex:#<,:<
|
||
:set cpoptions-=j joinspaces fo=j
|
||
:set backspace=eol,start
|
||
:.,+3join
|
||
j4J
|
||
:.,+8join
|
||
j9J
|
||
:.,+2join
|
||
j3J
|
||
:.,+2join
|
||
j3J
|
||
:.,+2join
|
||
jj3J
|
||
j:.,+2join
|
||
jj3J
|
||
j:.,+5join
|
||
j6J
|
||
oSome code!
|
||
// Make sure backspacing does not remove this comment leader.0i
|
||
ENDTEST
|
||
|
||
{
|
||
|
||
/*
|
||
* Make sure the previous comment leader is not removed.
|
||
*/
|
||
|
||
/*
|
||
* Make sure the previous comment leader is not removed.
|
||
*/
|
||
|
||
/* List:
|
||
* - item1
|
||
* foo bar baz
|
||
* foo bar baz
|
||
* - item2
|
||
* foo bar baz
|
||
* foo bar baz
|
||
*/
|
||
|
||
/* List:
|
||
* - item1
|
||
* foo bar baz
|
||
* foo bar baz
|
||
* - item2
|
||
* foo bar baz
|
||
* foo bar baz
|
||
*/
|
||
|
||
// Should the next comment leader be left alone?
|
||
// Yes.
|
||
|
||
// Should the next comment leader be left alone?
|
||
// Yes.
|
||
|
||
/* Here the comment leader should be left intact. */
|
||
// And so should this one.
|
||
|
||
/* Here the comment leader should be left intact. */
|
||
// And so should this one.
|
||
|
||
if (condition) // Remove the next comment leader!
|
||
// OK, I will.
|
||
action();
|
||
|
||
if (condition) // Remove the next comment leader!
|
||
// OK, I will.
|
||
action();
|
||
|
||
int i = 7 /* foo *// 3
|
||
// comment
|
||
;
|
||
|
||
int i = 7 /* foo *// 3
|
||
// comment
|
||
;
|
||
|
||
># Note that the last character of the ending comment leader (left angle
|
||
# bracket) is a comment leader itself. Make sure that this comment leader is
|
||
# not removed from the next line #<
|
||
< On this line a new comment is opened which spans 2 lines. This comment should
|
||
< retain its comment leader.
|
||
|
||
># Note that the last character of the ending comment leader (left angle
|
||
# bracket) is a comment leader itself. Make sure that this comment leader is
|
||
# not removed from the next line #<
|
||
< On this line a new comment is opened which spans 2 lines. This comment should
|
||
< retain its comment leader.
|
||
|
||
}
|
||
|
||
STARTTEST
|
||
:g/^STARTTEST/.,/^ENDTEST/d
|
||
:?firstline?+1,$w! test.out
|
||
:qa!
|
||
ENDTEST
|