From 8a6cf51a710585fee7edb9d1357791da30f31f44 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Fri, 1 Apr 2022 07:11:38 +0800 Subject: vim-patch:8.2.3122: with 'nowrap' cursor position is unexected in narrow window (#17935) Problem: With 'nowrap' cursor position is unexected in narrow window. (Leonid V. Fedorenchik) Solution: Put cursor on the last non-empty line. (closes vim/vim#8525) https://github.com/vim/vim/commit/30441bb3d5fa73f888b09684db3f54ff5ab48dbc --- test/functional/legacy/listchars_spec.lua | 136 ++++++++++++++++++++---------- 1 file changed, 91 insertions(+), 45 deletions(-) (limited to 'test') diff --git a/test/functional/legacy/listchars_spec.lua b/test/functional/legacy/listchars_spec.lua index 7a1afa1fd6..206e226767 100644 --- a/test/functional/legacy/listchars_spec.lua +++ b/test/functional/legacy/listchars_spec.lua @@ -102,6 +102,12 @@ describe("'listchars'", function() it('"exceeds" character does not appear in foldcolumn vim-patch:8.2.3121', function() local screen = Screen.new(60, 10) + screen:set_default_attr_ids({ + [1] = {bold = true, foreground = Screen.colors.Blue}, -- NonText + [2] = {bold = true, reverse = true}, -- StatusLine + [3] = {reverse = true}, -- StatusLineNC, VertSplit + [4] = {background = Screen.colors.Grey, foreground = Screen.colors.DarkBlue}, -- FoldColumn, SignColumn + }) screen:attach() exec([[ call setline(1, ['aaa', '', 'a', 'aaaaaa']) @@ -111,68 +117,108 @@ describe("'listchars'", function() ]]) feed('13>') screen:expect([[ - aaa │ a>│ ^aaa | - │ │ | - a │ a │ a | - aaaaaa │ a>│ aaaaaa | - ~ │~ │~ | - ~ │~ │~ | - ~ │~ │~ | - ~ │~ │~ | - [No Name] [+] <[+] [No Name] [+] | + {4: }aaa {3:│}{4: }a{1:>}{3:│}{4: }^aaa | + {4: } {3:│}{4: } {3:│}{4: } | + {4: }a {3:│}{4: }a {3:│}{4: }a | + {4: }aaaaaa {3:│}{4: }a{1:>}{3:│}{4: }aaaaaa | + {1:~ }{3:│}{1:~ }{3:│}{1:~ }| + {1:~ }{3:│}{1:~ }{3:│}{1:~ }| + {1:~ }{3:│}{1:~ }{3:│}{1:~ }| + {1:~ }{3:│}{1:~ }{3:│}{1:~ }| + {3:[No Name] [+] <[+] }{2:[No Name] [+] }| | ]]) feed('>') screen:expect([[ - aaa │ >│ ^aaa | - │ │ | - a │ a│ a | - aaaaaa │ >│ aaaaaa | - ~ │~ │~ | - ~ │~ │~ | - ~ │~ │~ | - ~ │~ │~ | - [No Name] [+] <+] [No Name] [+] | + {4: }aaa {3:│}{4: }{1:>}{3:│}{4: }^aaa | + {4: } {3:│}{4: } {3:│}{4: } | + {4: }a {3:│}{4: }a{3:│}{4: }a | + {4: }aaaaaa {3:│}{4: }{1:>}{3:│}{4: }aaaaaa | + {1:~ }{3:│}{1:~ }{3:│}{1:~ }| + {1:~ }{3:│}{1:~ }{3:│}{1:~ }| + {1:~ }{3:│}{1:~ }{3:│}{1:~ }| + {1:~ }{3:│}{1:~ }{3:│}{1:~ }| + {3:[No Name] [+] <+] }{2:[No Name] [+] }| | ]]) feed('>') screen:expect([[ - aaa │ │ ^aaa | - │ │ | - a │ │ a | - aaaaaa │ │ aaaaaa | - ~ │~ │~ | - ~ │~ │~ | - ~ │~ │~ | - ~ │~ │~ | - [No Name] [+] <] [No Name] [+] | + {4: }aaa {3:│}{4: }{3:│}{4: }^aaa | + {4: } {3:│}{4: }{3:│}{4: } | + {4: }a {3:│}{4: }{3:│}{4: }a | + {4: }aaaaaa {3:│}{4: }{3:│}{4: }aaaaaa | + {1:~ }{3:│}{1:~ }{3:│}{1:~ }| + {1:~ }{3:│}{1:~ }{3:│}{1:~ }| + {1:~ }{3:│}{1:~ }{3:│}{1:~ }| + {1:~ }{3:│}{1:~ }{3:│}{1:~ }| + {3:[No Name] [+] <] }{2:[No Name] [+] }| | ]]) feed('>') screen:expect([[ - aaa │ │ ^aaa | - │ │ | - a │ │ a | - aaaaaa │ │ aaaaaa | - ~ │~ │~ | - ~ │~ │~ | - ~ │~ │~ | - ~ │~ │~ | - [No Name] [+] < [No Name] [+] | + {4: }aaa {3:│}{4: }{3:│}{4: }^aaa | + {4: } {3:│}{4: }{3:│}{4: } | + {4: }a {3:│}{4: }{3:│}{4: }a | + {4: }aaaaaa {3:│}{4: }{3:│}{4: }aaaaaa | + {1:~ }{3:│}{1:~ }{3:│}{1:~ }| + {1:~ }{3:│}{1:~ }{3:│}{1:~ }| + {1:~ }{3:│}{1:~ }{3:│}{1:~ }| + {1:~ }{3:│}{1:~ }{3:│}{1:~ }| + {3:[No Name] [+] < }{2:[No Name] [+] }| | ]]) feed('>') screen:expect([[ - aaa │ │ ^aaa | - │ │ | - a │ │ a | - aaaaaa │ │ aaaaaa | - ~ │~│~ | - ~ │~│~ | - ~ │~│~ | - ~ │~│~ | - [No Name] [+] < [No Name] [+] | + {4: }aaa {3:│}{4: }{3:│}{4: }^aaa | + {4: } {3:│}{4: }{3:│}{4: } | + {4: }a {3:│}{4: }{3:│}{4: }a | + {4: }aaaaaa {3:│}{4: }{3:│}{4: }aaaaaa | + {1:~ }{3:│}{1:~}{3:│}{1:~ }| + {1:~ }{3:│}{1:~}{3:│}{1:~ }| + {1:~ }{3:│}{1:~}{3:│}{1:~ }| + {1:~ }{3:│}{1:~}{3:│}{1:~ }| + {3:[No Name] [+] < }{2:[No Name] [+] }| | ]]) + feed('h') + feed_command('set nowrap foldcolumn=4') + screen:expect([[ + {4: }aaa {3:│}{4: }^aaa {3:│}{4: }aaa | + {4: } {3:│}{4: } {3:│}{4: } | + {4: }a {3:│}{4: }a {3:│}{4: }a | + {4: }aaaaaa {3:│}{4: }aaaaaa {3:│}{4: }aaaaaa | + {1:~ }{3:│}{1:~ }{3:│}{1:~ }| + {1:~ }{3:│}{1:~ }{3:│}{1:~ }| + {1:~ }{3:│}{1:~ }{3:│}{1:~ }| + {1:~ }{3:│}{1:~ }{3:│}{1:~ }| + {3:[No Name] [+] }{2:[No Name] [+] }{3:[No Name] [+] }| + :set nowrap foldcolumn=4 | + ]]) + feed('15') + screen:expect([[ + {4: }aaa {3:│}{4: }{3:│}{4: }aaa | + {4: } {3:│}{4: }{3:│}{4: } | + {4: }a {3:│}{4: }{3:│}{4: }a | + {4: }aaaaaa {3:│}{4: ^ }{3:│}{4: }aaaaaa | + {1:~ }{3:│}{1:~ }{3:│}{1:~ }| + {1:~ }{3:│}{1:~ }{3:│}{1:~ }| + {1:~ }{3:│}{1:~ }{3:│}{1:~ }| + {1:~ }{3:│}{1:~ }{3:│}{1:~ }| + {3:[No Name] [+] }{2:<[+] }{3:[No Name] [+] }| + :set nowrap foldcolumn=4 | + ]]) + feed('4') + screen:expect([[ + {4: }aaa {3:│}{4: }{3:│}{4: }aaa | + {4: } {3:│}{4: }{3:│}{4: } | + {4: }a {3:│}{4: }{3:│}{4: }a | + {4: }aaaaaa {3:│}{4:^ }{3:│}{4: }aaaaaa | + {1:~ }{3:│}{1:~}{3:│}{1:~ }| + {1:~ }{3:│}{1:~}{3:│}{1:~ }| + {1:~ }{3:│}{1:~}{3:│}{1:~ }| + {1:~ }{3:│}{1:~}{3:│}{1:~ }| + {3:[No Name] [+] }{2:< }{3:[No Name] [+] }| + :set nowrap foldcolumn=4 | + ]]) end) end) -- cgit