From 18b73ea3c8380f5c99ae6ec6f915e0d448391677 Mon Sep 17 00:00:00 2001 From: VVKot Date: Sun, 31 Jan 2021 17:35:20 +0000 Subject: vim-patch:8.1.0138: negative value of 'softtabstop' not used correctly Problem: Negative value of 'softtabstop' not used correctly. Solution: Use get_sts_value(). (Tom Ryder) https://github.com/vim/vim/commit/33d5ab3795720b7d986f9f17f660ee9e448466e0 --- src/nvim/testdir/test_tab.vim | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'src/nvim/testdir') diff --git a/src/nvim/testdir/test_tab.vim b/src/nvim/testdir/test_tab.vim index b847dbd962..3be30245b9 100644 --- a/src/nvim/testdir/test_tab.vim +++ b/src/nvim/testdir/test_tab.vim @@ -1,3 +1,4 @@ +" Various tests for inserting a Tab. " Tests for "r" with 'smarttab' and 'expandtab' set/not set. " Also test that dv_ works correctly @@ -43,3 +44,38 @@ func Test_smarttab() enew! set expandtab& smartindent& copyindent& ts& sw& sts& endfunc + +func Test_softtabstop() + new + set sts=0 sw=0 + exe "normal ix\x\" + call assert_equal("x\tx", getline(1)) + + call setline(1, '') + set sts=4 + exe "normal ix\x\" + call assert_equal("x x", getline(1)) + + call setline(1, '') + set sts=-1 sw=4 + exe "normal ix\x\" + call assert_equal("x x", getline(1)) + + call setline(1, 'x ') + set sts=0 sw=0 backspace=start + exe "normal A\x\" + call assert_equal("x x", getline(1)) + + call setline(1, 'x ') + set sts=4 + exe "normal A\x\" + call assert_equal("x x", getline(1)) + + call setline(1, 'x ') + set sts=-1 sw=4 + exe "normal A\x\" + call assert_equal("x x", getline(1)) + + set sts=0 sw=0 backspace& + bwipe! +endfunc -- cgit