diff options
Diffstat (limited to 'src/testdir/test29.in')
-rw-r--r-- | src/testdir/test29.in | 231 |
1 files changed, 231 insertions, 0 deletions
diff --git a/src/testdir/test29.in b/src/testdir/test29.in new file mode 100644 index 0000000..366a551 --- /dev/null +++ b/src/testdir/test29.in @@ -0,0 +1,231 @@ +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 +:set belloff=all +/^\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 |