diff options
Diffstat (limited to 'test/old/testdir/test_breakindent.vim')
-rw-r--r-- | test/old/testdir/test_breakindent.vim | 107 |
1 files changed, 104 insertions, 3 deletions
diff --git a/test/old/testdir/test_breakindent.vim b/test/old/testdir/test_breakindent.vim index 301e2d0e40..636ec6f285 100644 --- a/test/old/testdir/test_breakindent.vim +++ b/test/old/testdir/test_breakindent.vim @@ -450,7 +450,7 @@ func Test_breakindent12() \ "~ ", \ ] call s:compare_lines(expect, lines) - call s:close_windows('set nuw=4 listchars=') + call s:close_windows('set nuw=4 listchars&') endfunc func Test_breakindent12_vartabs() @@ -467,7 +467,7 @@ func Test_breakindent12_vartabs() \ "~ ", \ ] call s:compare_lines(expect, lines) - call s:close_windows('set nuw=4 listchars= vts&') + call s:close_windows('set nuw=4 listchars& vts&') endfunc func Test_breakindent13() @@ -773,7 +773,7 @@ func Test_breakindent20_list() \ "shall make no law ", \ ] call s:compare_lines(expect, lines) - " set minimum indent + " set minimum text width setl briopt=min:5 redraw! let lines = s:screen_lines2(1, 6, 20) @@ -963,6 +963,29 @@ func Test_cursor_position_with_showbreak() call StopVimInTerminal(buf) endfunc +func Test_visual_starts_before_skipcol() + CheckScreendump + + let lines =<< trim END + 1new + setlocal breakindent + call setline(1, "\t" .. join(range(100))) + END + call writefile(lines, 'XvisualStartsBeforeSkipcol', 'D') + let buf = RunVimInTerminal('-S XvisualStartsBeforeSkipcol', #{rows: 6}) + + call term_sendkeys(buf, "v$") + call VerifyScreenDump(buf, 'Test_visual_starts_before_skipcol_1', {}) + call term_sendkeys(buf, "\<Esc>:setlocal showbreak=+++\<CR>gv") + call VerifyScreenDump(buf, 'Test_visual_starts_before_skipcol_2', {}) + call term_sendkeys(buf, "\<Esc>:setlocal breakindentopt+=sbr\<CR>gv") + call VerifyScreenDump(buf, 'Test_visual_starts_before_skipcol_3', {}) + call term_sendkeys(buf, "\<Esc>:setlocal nobreakindent\<CR>gv") + call VerifyScreenDump(buf, 'Test_visual_starts_before_skipcol_4', {}) + + call StopVimInTerminal(buf) +endfunc + func Test_no_spurious_match() let s:input = printf('- y %s y %s', repeat('x', 50), repeat('x', 50)) call s:test_windows('setl breakindent breakindentopt=list:-1 formatlistpat=^- hls') @@ -1103,5 +1126,83 @@ func Test_linebreak_list() bwipe! endfunc +func Test_breakindent_change_display_uhex() + call s:test_windows('setl briopt=min:0 list listchars=eol:$') + redraw! + let lines = s:screen_lines(line('.'), 20) + let expect = [ + \ "^Iabcdefghijklmnopqr", + \ " stuvwxyzABCDEFGHIJ", + \ " KLMNOP$ " + \ ] + call s:compare_lines(expect, lines) + set display+=uhex + redraw! + let lines = s:screen_lines(line('.'), 20) + let expect = [ + \ "<09>abcdefghijklmnop", + \ " qrstuvwxyzABCDEF", + \ " GHIJKLMNOP$ " + \ ] + call s:compare_lines(expect, lines) + set display& + + call s:close_windows() +endfunc + +func Test_breakindent_list_split() + 10new + 61vsplit + setlocal tabstop=8 breakindent list listchars=tab:<->,eol:$ + put =s:input + 30vsplit + setlocal listchars=eol:$ + let expect = [ + \ "^IabcdefghijklmnopqrstuvwxyzAB|<------>abcdefghijklmnopqrstuv", + \ " CDEFGHIJKLMNOP$ | wxyzABCDEFGHIJKLMNOP$ ", + \ "~ |~ " + \ ] + redraw! + let lines = s:screen_lines(line('.'), 61) + call s:compare_lines(expect, lines) + wincmd p + redraw! + let lines = s:screen_lines(line('.'), 61) + call s:compare_lines(expect, lines) + + bwipe! +endfunc + +func Test_breakindent_min_with_signcol() + call s:test_windows('setl briopt=min:15 signcolumn=yes') + redraw! + let expect = [ + \ " abcdefghijklmn", + \ " opqrstuvwxyzABC", + \ " DEFGHIJKLMNOP " + \ ] + let lines = s:screen_lines(line('.'), 20) + call s:compare_lines(expect, lines) + setl briopt=min:17 + redraw! + let expect = [ + \ " abcdefghijklmn", + \ " opqrstuvwxyzABCDE", + \ " FGHIJKLMNOP " + \ ] + let lines = s:screen_lines(line('.'), 20) + call s:compare_lines(expect, lines) + setl briopt=min:19 + redraw! + let expect = [ + \ " abcdefghijklmn", + \ " opqrstuvwxyzABCDEF", + \ " GHIJKLMNOP " + \ ] + let lines = s:screen_lines(line('.'), 20) + call s:compare_lines(expect, lines) + + call s:close_windows() +endfunc " vim: shiftwidth=2 sts=2 expandtab |