diff options
author | Josh Rahm <joshuarahm@gmail.com> | 2024-03-09 15:00:41 -0700 |
---|---|---|
committer | Josh Rahm <joshuarahm@gmail.com> | 2024-03-09 15:00:41 -0700 |
commit | 7a7f497b483cd65e340064f23ed1c73425ecba0a (patch) | |
tree | d5c99ea22a1e10300d06165f8ac96df6b0dc59e1 /test/functional/ui/syntax_conceal_spec.lua | |
parent | 1b7b916b7631ddf73c38e3a0070d64e4636cb2f3 (diff) | |
parent | ade1b12f49c3b3914c74847d791eb90ea90b56b7 (diff) | |
download | rneovim-7a7f497b483cd65e340064f23ed1c73425ecba0a.tar.gz rneovim-7a7f497b483cd65e340064f23ed1c73425ecba0a.tar.bz2 rneovim-7a7f497b483cd65e340064f23ed1c73425ecba0a.zip |
Merge remote-tracking branch 'upstream/master' into aucmd_textputpost
Diffstat (limited to 'test/functional/ui/syntax_conceal_spec.lua')
-rw-r--r-- | test/functional/ui/syntax_conceal_spec.lua | 673 |
1 files changed, 219 insertions, 454 deletions
diff --git a/test/functional/ui/syntax_conceal_spec.lua b/test/functional/ui/syntax_conceal_spec.lua index 1391985823..5afc7dfe6c 100644 --- a/test/functional/ui/syntax_conceal_spec.lua +++ b/test/functional/ui/syntax_conceal_spec.lua @@ -11,26 +11,25 @@ describe('Screen', function() before_each(function() clear() - screen = Screen.new(nil,10) + screen = Screen.new(nil, 10) screen:attach() - screen:set_default_attr_ids( { - [0] = {bold=true, foreground=Screen.colors.Blue}, - [1] = {foreground = Screen.colors.LightGrey, background = Screen.colors.DarkGray}, - [2] = {bold = true, reverse = true}, - [3] = {reverse = true}, - [4] = {bold = true}, - [5] = {background = Screen.colors.Yellow}, - [6] = {background = Screen.colors.LightGrey}, - } ) + screen:set_default_attr_ids({ + [0] = { bold = true, foreground = Screen.colors.Blue }, + [1] = { foreground = Screen.colors.LightGrey, background = Screen.colors.DarkGray }, + [2] = { bold = true, reverse = true }, + [3] = { reverse = true }, + [4] = { bold = true }, + [5] = { background = Screen.colors.Yellow }, + [6] = { foreground = Screen.colors.Black, background = Screen.colors.LightGrey }, + }) end) - describe("match and conceal", function() - + describe('match and conceal', function() before_each(function() - command("let &conceallevel=1") + command('let &conceallevel=1') end) - describe("multiple", function() + describe('multiple', function() before_each(function() insert([[ && @@ -43,124 +42,88 @@ describe('Screen', function() command("syn match dAmpersand '[&][&]' conceal cchar=∧") end) - it("double characters.", function() + it('double characters.', function() screen:expect([[ - {1:∧} | - {1:∧} | - {1:∧} | - {1:∧} | - {1:∧} | - {1:∧} | + {1:∧} |*6 ^ | - {0:~ }| - {0:~ }| + {0:~ }|*2 | ]]) end) it('double characters and move the cursor one line up.', function() - feed("k") + feed('k') screen:expect([[ - {1:∧} | - {1:∧} | - {1:∧} | - {1:∧} | - {1:∧} | + {1:∧} |*5 ^&& | | - {0:~ }| - {0:~ }| + {0:~ }|*2 | ]]) end) it('double characters and move the cursor to the beginning of the file.', function() - feed("gg") + feed('gg') screen:expect([[ ^&& | - {1:∧} | - {1:∧} | - {1:∧} | - {1:∧} | - {1:∧} | + {1:∧} |*5 | - {0:~ }| - {0:~ }| + {0:~ }|*2 | ]]) end) it('double characters and move the cursor to the second line in the file.', function() - feed("ggj") + feed('ggj') screen:expect([[ {1:∧} | ^&& | - {1:∧} | - {1:∧} | - {1:∧} | - {1:∧} | + {1:∧} |*4 | - {0:~ }| - {0:~ }| + {0:~ }|*2 | ]]) end) - it('double characters and then move the cursor to the beginning of the file and back to the end of the file.', function() - feed("ggG") - screen:expect([[ - {1:∧} | - {1:∧} | - {1:∧} | - {1:∧} | - {1:∧} | - {1:∧} | + it( + 'double characters and then move the cursor to the beginning of the file and back to the end of the file.', + function() + feed('ggG') + screen:expect([[ + {1:∧} |*6 ^ | - {0:~ }| - {0:~ }| + {0:~ }|*2 | ]]) - end) + end + ) end) -- multiple - it("keyword instances in initially in the document.", function() - feed("2ilambda<cr><ESC>") - command("let &conceallevel=1") - command("syn keyword kLambda lambda conceal cchar=λ") + it('keyword instances in initially in the document.', function() + feed('2ilambda<cr><ESC>') + command('let &conceallevel=1') + command('syn keyword kLambda lambda conceal cchar=λ') screen:expect([[ - {1:λ} | - {1:λ} | + {1:λ} |*2 ^ | - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*6 | ]]) end) -- Keyword - describe("regions in the document", function() - + describe('regions in the document', function() before_each(function() - feed("2") - insert("<r> a region of text </r>\n") - command("let &conceallevel=1") + feed('2') + insert('<r> a region of text </r>\n') + command('let &conceallevel=1') end) it('initially and conceal it.', function() command("syn region rText start='<r>' end='</r>' conceal cchar=R") screen:expect([[ - {1:R} | - {1:R} | + {1:R} |*2 ^ | - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*6 | ]]) end) @@ -170,246 +133,183 @@ describe('Screen', function() -- be replaced with cchar. command("syn region rText matchgroup=rMatch start='<r>' end='</r>' concealends cchar=-") screen:expect([[ - {1: } a region of text {1:-} | - {1: } a region of text {1:-} | + {1: } a region of text {1:-} |*2 ^ | - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*6 | ]]) end) - it('that are nested and conceal the nested region\'s start and end tags.', function() - command("syn region rText contains=rText matchgroup=rMatch start='<r>' end='</r>' concealends cchar=-") - insert("<r> A region with <r> a nested <r> nested region.</r> </r> </r>\n") + it("that are nested and conceal the nested region's start and end tags.", function() + command( + "syn region rText contains=rText matchgroup=rMatch start='<r>' end='</r>' concealends cchar=-" + ) + insert('<r> A region with <r> a nested <r> nested region.</r> </r> </r>\n') screen:expect([[ - {1: } a region of text {1:-} | - {1: } a region of text {1:-} | + {1: } a region of text {1:-} |*2 {1: } A region with {1: } a nested {1: } nested region.{1:-} | {1:-} {1:-} | ^ | - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*4 | ]]) end) end) -- regions in the document - describe("a region of text", function() + describe('a region of text', function() before_each(function() - command("syntax conceal on") - feed("2") - insert("<r> a region of text </r>\n") + command('syntax conceal on') + feed('2') + insert('<r> a region of text </r>\n') command("syn region rText start='<r>' end='</r>' cchar=-") end) - it("and turn on implicit concealing", function() + it('and turn on implicit concealing', function() screen:expect([[ - {1:-} | - {1:-} | + {1:-} |*2 ^ | - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*6 | ]]) end) - it("and then turn on, then off, and then back on implicit concealing.", function() - command("syntax conceal off") - feed("2") - insert("<i> italian text </i>\n") + it('and then turn on, then off, and then back on implicit concealing.', function() + command('syntax conceal off') + feed('2') + insert('<i> italian text </i>\n') command("syn region iText start='<i>' end='</i>' cchar=*") screen:expect([[ - {1:-} | - {1:-} | - <i> italian text </i> | - <i> italian text </i> | + {1:-} |*2 + <i> italian text </i> |*2 ^ | - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*4 | ]]) - command("syntax conceal on") + command('syntax conceal on') command("syn region iText start='<i>' end='</i>' cchar=*") screen:expect([[ - {1:-} | - {1:-} | - {1:*} | - {1:*} | + {1:-} |*2 + {1:*} |*2 ^ | - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*4 | ]]) end) end) -- a region of text (implicit concealing) - it("cursor position is correct when entering Insert mode with cocu=ni #13916", function() + it('cursor position is correct when entering Insert mode with cocu=ni #13916', function() insert([[foobarfoobarfoobar]]) -- move to end of line - feed("$") - command("set concealcursor=ni") - command("syn match Foo /foobar/ conceal cchar=&") + feed('$') + command('set concealcursor=ni') + command('syn match Foo /foobar/ conceal cchar=&') screen:expect([[ {1:&&&}^ | - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*8 | ]]) - feed("i") + feed('i') -- cursor should stay in place, not jump to column 16 screen:expect([[ {1:&&&}^ | - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*8 {4:-- INSERT --} | ]]) end) end) -- match and conceal - describe("let the conceal level be", function() + describe('let the conceal level be', function() before_each(function() - insert("// No Conceal\n") + insert('// No Conceal\n') insert('"Conceal without a cchar"\n') - insert("+ With cchar\n\n") + insert('+ With cchar\n\n') command("syn match noConceal '^//.*$'") - command("syn match concealNoCchar '\".\\{-}\"$' conceal") + command('syn match concealNoCchar \'".\\{-}"$\' conceal') command("syn match concealWCchar '^+.\\{-}$' conceal cchar=C") end) - it("0. No concealing.", function() - command("let &conceallevel=0") + it('0. No concealing.', function() + command('let &conceallevel=0') screen:expect([[ // No Conceal | "Conceal without a cchar" | + With cchar | | ^ | - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*4 | ]]) end) - it("1. Conceal using cchar or reference listchars.", function() - command("let &conceallevel=1") + it('1. Conceal using cchar or reference listchars.', function() + command('let &conceallevel=1') screen:expect([[ // No Conceal | {1: } | {1:C} | | ^ | - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*4 | ]]) end) - it("2. Hidden unless cchar is set.", function() - command("let &conceallevel=2") + it('2. Hidden unless cchar is set.', function() + command('let &conceallevel=2') screen:expect([[ // No Conceal | | {1:C} | | ^ | - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*4 | ]]) end) - it("3. Hide all concealed text.", function() - command("let &conceallevel=3") + it('3. Hide all concealed text.', function() + command('let &conceallevel=3') screen:expect([[ // No Conceal | - | - | - | + |*3 ^ | - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*4 | ]]) end) end) -- conceallevel - - describe("cursor movement", function() + describe('cursor movement', function() before_each(function() - command("syn keyword concealy barf conceal cchar=b") - command("set cole=2") + command('syn keyword concealy barf conceal cchar=b') + command('set cole=2') feed('5Ofoo barf bar barf eggs<esc>') screen:expect([[ - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | + foo {1:b} bar {1:b} eggs |*4 foo barf bar barf egg^s | | - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*3 | ]]) - end) it('between windows', function() feed('k') - command("split") + command('split') screen:expect([[ foo {1:b} bar {1:b} eggs | foo barf bar barf egg^s | foo {1:b} bar {1:b} eggs | | {2:[No Name] [+] }| - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | + foo {1:b} bar {1:b} eggs |*3 {3:[No Name] [+] }| | ]]) feed('<c-w>w') screen:expect([[ - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | + foo {1:b} bar {1:b} eggs |*3 | {3:[No Name] [+] }| foo {1:b} bar {1:b} eggs | @@ -423,29 +323,20 @@ describe('Screen', function() it('in insert mode', function() feed('i') screen:expect([[ - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | + foo {1:b} bar {1:b} eggs |*4 foo barf bar barf egg^s | | - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*3 {4:-- INSERT --} | ]]) feed('<up>') screen:expect([[ - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | + foo {1:b} bar {1:b} eggs |*3 foo barf bar barf egg^s | foo {1:b} bar {1:b} eggs | | - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*3 {4:-- INSERT --} | ]]) end) @@ -455,73 +346,47 @@ describe('Screen', function() feed('gg') screen:expect([[ ^foo barf bar barf eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | + foo {1:b} bar {1:b} eggs |*4 | - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*3 | ]]) feed('i') screen:expect([[ ^foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | + foo {1:b} bar {1:b} eggs |*4 | - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*3 {4:-- INSERT --} | ]]) feed('<esc>') screen:expect([[ ^foo barf bar barf eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | + foo {1:b} bar {1:b} eggs |*4 | - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*3 | ]]) feed('v') screen:expect([[ ^foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | + foo {1:b} bar {1:b} eggs |*4 | - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*3 {4:-- VISUAL --} | ]]) feed('<esc>') screen:expect([[ ^foo barf bar barf eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | + foo {1:b} bar {1:b} eggs |*4 | - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*3 | ]]) - end) it('between modes cocu=n', function() @@ -529,71 +394,45 @@ describe('Screen', function() feed('gg') screen:expect([[ ^foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | + foo {1:b} bar {1:b} eggs |*4 | - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*3 | ]]) feed('i') screen:expect([[ ^foo barf bar barf eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | + foo {1:b} bar {1:b} eggs |*4 | - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*3 {4:-- INSERT --} | ]]) feed('<esc>') screen:expect([[ ^foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | + foo {1:b} bar {1:b} eggs |*4 | - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*3 | ]]) - feed('v') screen:expect([[ ^foo barf bar barf eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | + foo {1:b} bar {1:b} eggs |*4 | - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*3 {4:-- VISUAL --} | ]]) feed('<esc>') screen:expect([[ ^foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | + foo {1:b} bar {1:b} eggs |*4 | - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*3 | ]]) end) @@ -601,15 +440,10 @@ describe('Screen', function() it('and open line', function() feed('o') screen:expect([[ - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | + foo {1:b} bar {1:b} eggs |*5 ^ | | - {0:~ }| - {0:~ }| + {0:~ }|*2 {4:-- INSERT --} | ]]) end) @@ -618,15 +452,10 @@ describe('Screen', function() command('set cocu=i') feed('o') screen:expect([[ - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | + foo {1:b} bar {1:b} eggs |*5 ^ | | - {0:~ }| - {0:~ }| + {0:~ }|*2 {4:-- INSERT --} | ]]) end) @@ -639,12 +468,9 @@ describe('Screen', function() ^foo barf bar barf eggs | foo {1:b} bar {1:b} eggs x | foo {1:b} bar {1:b} eggs xy | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | + foo {1:b} bar {1:b} eggs |*2 | - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*3 | ]]) end) @@ -655,12 +481,9 @@ describe('Screen', function() foo barf bar barf eggs | foo {1:b} bar {1:b} eggs x | foo {1:b} bar {1:b} eggs xy | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | + foo {1:b} bar {1:b} eggs |*2 | - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*3 /^ | ]]) @@ -669,12 +492,9 @@ describe('Screen', function() foo {1:b} bar {1:b} eggs | foo barf bar barf eggs {3:x} | foo {1:b} bar {1:b} eggs {5:x}y | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | + foo {1:b} bar {1:b} eggs |*2 | - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*3 /x^ | ]]) @@ -683,12 +503,9 @@ describe('Screen', function() foo {1:b} bar {1:b} eggs | foo {1:b} bar {1:b} eggs x | foo barf bar barf eggs {3:xy} | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | + foo {1:b} bar {1:b} eggs |*2 | - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*3 /xy^ | ]]) @@ -697,12 +514,9 @@ describe('Screen', function() foo barf bar barf eggs | foo {1:b} bar {1:b} eggs x | foo {1:b} bar {1:b} eggs xy | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | + foo {1:b} bar {1:b} eggs |*2 | - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*3 /^ | ]]) end) @@ -717,12 +531,9 @@ describe('Screen', function() foo barf bar barf eggs | foo {1:b} bar {1:b} eggs x | foo {1:b} bar {1:b} eggs xy | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | + foo {1:b} bar {1:b} eggs |*2 | - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*3 /^ | ]]) @@ -731,12 +542,9 @@ describe('Screen', function() foo {1:b} bar {1:b} eggs | foo {1:b} bar {1:b} eggs {3:x} | foo {1:b} bar {1:b} eggs {5:x}y | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | + foo {1:b} bar {1:b} eggs |*2 | - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*3 /x^ | ]]) @@ -745,12 +553,9 @@ describe('Screen', function() foo {1:b} bar {1:b} eggs | foo {1:b} bar {1:b} eggs x | foo {1:b} bar {1:b} eggs {3:xy} | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | + foo {1:b} bar {1:b} eggs |*2 | - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*3 /xy^ | ]]) @@ -759,12 +564,9 @@ describe('Screen', function() foo {1:b} bar {1:b} eggs | foo {1:b} bar {1:b} eggs x | foo {1:b} bar {1:b} eggs xy | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | + foo {1:b} bar {1:b} eggs |*2 | - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*3 /^ | ]]) @@ -773,12 +575,9 @@ describe('Screen', function() ^foo barf bar barf eggs | foo {1:b} bar {1:b} eggs x | foo {1:b} bar {1:b} eggs xy | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | + foo {1:b} bar {1:b} eggs |*2 | - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*3 | ]]) end) @@ -789,12 +588,9 @@ describe('Screen', function() ^foo {1:b} bar {1:b} eggs | foo {1:b} bar {1:b} eggs x | foo {1:b} bar {1:b} eggs xy | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | + foo {1:b} bar {1:b} eggs |*2 | - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*3 | ]]) @@ -805,12 +601,9 @@ describe('Screen', function() foo {1:b} bar {1:b} eggs | foo {1:b} bar {1:b} eggs x | foo {1:b} bar {1:b} eggs xy | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | + foo {1:b} bar {1:b} eggs |*2 | - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*3 /^ | ]]) @@ -819,12 +612,9 @@ describe('Screen', function() foo {1:b} bar {1:b} eggs | foo barf bar barf eggs {3:x} | foo {1:b} bar {1:b} eggs {5:x}y | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | + foo {1:b} bar {1:b} eggs |*2 | - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*3 /x^ | ]]) @@ -833,12 +623,9 @@ describe('Screen', function() foo barf bar barf eggs | foo {1:b} bar {1:b} eggs x | foo {1:b} bar {1:b} eggs xy | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | + foo {1:b} bar {1:b} eggs |*2 | - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*3 /^ | ]]) @@ -847,12 +634,9 @@ describe('Screen', function() ^foo {1:b} bar {1:b} eggs | foo {1:b} bar {1:b} eggs x | foo {1:b} bar {1:b} eggs xy | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | + foo {1:b} bar {1:b} eggs |*2 | - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*3 | ]]) end) @@ -863,44 +647,33 @@ describe('Screen', function() feed('10Ofoo barf bar barf eggs<esc>') feed(':3<cr>o a<Esc>ggV') - screen:expect{grid=[[ + screen:expect { + grid = [[ ^f{6:oo }{1:b}{6: bar }{1:b}{6: eggs} | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | + foo {1:b} bar {1:b} eggs |*2 a | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | + foo {1:b} bar {1:b} eggs |*5 {4:-- VISUAL LINE --} | - ]]} + ]], + } feed(string.rep('j', 15)) - screen:expect{grid=[[ - {6:foo }{1:b}{6: bar }{1:b}{6: eggs} | - {6:foo }{1:b}{6: bar }{1:b}{6: eggs} | - {6:foo }{1:b}{6: bar }{1:b}{6: eggs} | - {6:foo }{1:b}{6: bar }{1:b}{6: eggs} | - {6:foo }{1:b}{6: bar }{1:b}{6: eggs} | - {6:foo }{1:b}{6: bar }{1:b}{6: eggs} | - {6:foo }{1:b}{6: bar }{1:b}{6: eggs} | - {6:foo }{1:b}{6: bar }{1:b}{6: eggs} | + screen:expect { + grid = [[ + {6:foo }{1:b}{6: bar }{1:b}{6: eggs} |*8 ^f{6:oo }{1:b}{6: bar }{1:b}{6: eggs} | {4:-- VISUAL LINE --} | - ]]} + ]], + } feed(string.rep('k', 15)) - screen:expect{grid=[[ + screen:expect { + grid = [[ ^f{6:oo }{1:b}{6: bar }{1:b}{6: eggs} | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | + foo {1:b} bar {1:b} eggs |*2 a | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | - foo {1:b} bar {1:b} eggs | + foo {1:b} bar {1:b} eggs |*5 {4:-- VISUAL LINE --} | - ]]} + ]], + } end) end) @@ -913,41 +686,37 @@ describe('Screen', function() bbb ccc ]]) - screen:expect{grid=[[ + screen:expect { + grid = [[ aaa | bbb | ccc | ^ | - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*5 | - ]]} + ]], + } -- XXX: hack to get notifications, and check only a single line is -- updated. Could use next_msg() also. local orig_handle_grid_line = screen._handle_grid_line local grid_lines = {} function screen._handle_grid_line(self, grid, row, col, items) - table.insert(grid_lines, {row, col, items}) + table.insert(grid_lines, { row, col, items }) orig_handle_grid_line(self, grid, row, col, items) end feed('k') - screen:expect{grid=[[ + screen:expect { + grid = [[ aaa | bbb | ^ccc | | - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*5 | - ]]} - eq({{2, 0, {{'c', 0, 3}, {' ', 0, 50}}}, {3, 0, {{' ', 0, 53}}}}, grid_lines) + ]], + } + eq({ { 2, 0, { { 'c', 0, 3 }, { ' ', 0, 50 } } }, { 3, 0, { { ' ', 0, 53 } } } }, grid_lines) end) it('K_EVENT should not cause extra redraws with concealcursor #13196', function() @@ -960,43 +729,39 @@ describe('Screen', function() bbb ccc ]]) - screen:expect{grid=[[ + screen:expect { + grid = [[ aaa | bbb | ccc | ^ | - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*5 | - ]]} + ]], + } -- XXX: hack to get notifications, and check only a single line is -- updated. Could use next_msg() also. local orig_handle_grid_line = screen._handle_grid_line local grid_lines = {} function screen._handle_grid_line(self, grid, row, col, items) - table.insert(grid_lines, {row, col, items}) + table.insert(grid_lines, { row, col, items }) orig_handle_grid_line(self, grid, row, col, items) end feed('k') - screen:expect{grid=[[ + screen:expect { + grid = [[ aaa | bbb | ^ccc | | - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*5 | - ]]} - eq({{2, 0, {{'c', 0, 3}, {' ', 0, 50}}}}, grid_lines) + ]], + } + eq({ { 2, 0, { { 'c', 0, 3 }, { ' ', 0, 50 } } } }, grid_lines) grid_lines = {} - poke_eventloop() -- causes K_EVENT key + poke_eventloop() -- causes K_EVENT key screen:expect_unchanged() eq({}, grid_lines) -- no redraw was done end) @@ -1015,7 +780,8 @@ describe('Screen', function() command('set nomodified') command('so') - screen:expect{grid=[[ + screen:expect { + grid = [[ ^3split | let m matchadd('Conceal', '') | setl conceallevel2 concealcursornc | @@ -1026,16 +792,18 @@ describe('Screen', function() normal gg | {3:Xcolesearch }| | - ]]} + ]], + } -- Jump to something that is beyond the bottom of the window, -- so there's a scroll down. - feed("/expr<CR>") + feed('/expr<CR>') -- Are the concealed parts of the current line really hidden? -- Is the window's cursor column properly updated for hidden -- parts of the current line? - screen:expect{grid=[[ + screen:expect { + grid = [[ setl conceallevel2 concealcursornc | normal gg | "{5:^expr} | @@ -1046,7 +814,8 @@ describe('Screen', function() normal gg | {3:Xcolesearch }| /expr | - ]]} + ]], + } end) -- oldtest: Test_cursor_column_in_concealed_line_after_leftcol_change() @@ -1064,18 +833,14 @@ describe('Screen', function() -- Are the concealed parts of the current line really hidden? -- Is the window's cursor column properly updated for conceal? - screen:expect{grid=[[ + screen:expect { + grid = [[ ^c | | - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| - {0:~ }| + {0:~ }|*7 | - ]]} + ]], + } end) end) end) |