diff options
Diffstat (limited to 'test/functional/ui/syntax_conceal_spec.lua')
-rw-r--r-- | test/functional/ui/syntax_conceal_spec.lua | 186 |
1 files changed, 95 insertions, 91 deletions
diff --git a/test/functional/ui/syntax_conceal_spec.lua b/test/functional/ui/syntax_conceal_spec.lua index 66ea779011..ee3e4fa32a 100644 --- a/test/functional/ui/syntax_conceal_spec.lua +++ b/test/functional/ui/syntax_conceal_spec.lua @@ -1,22 +1,26 @@ -local helpers = require('test.functional.helpers') +local helpers = require('test.functional.helpers')(after_each) local Screen = require('test.functional.ui.screen') local clear, feed, execute = helpers.clear, helpers.feed, helpers.execute local insert = helpers.insert +if helpers.pending_win32(pending) then return end + describe('Screen', function() - local screen + local screen - before_each(function() + before_each(function() clear() screen = Screen.new(nil,10) screen:attach() - screen:set_default_attr_ignore( {{bold=true, foreground=255}} ) - screen:set_default_attr_ids( {{foreground = Screen.colors.LightGrey, background = Screen.colors.DarkGray}} ) + screen:set_default_attr_ids( { + [0] = {bold=true, foreground=Screen.colors.Blue}, + [1] = {foreground = Screen.colors.LightGrey, background = Screen.colors.DarkGray} + } ) end) - + after_each(function() screen:detach() - end) + end) describe("match and conceal", function() @@ -46,13 +50,13 @@ describe('Screen', function() {1:∧} | {1:∧} | ^ | - ~ | - ~ | + {0:~ }| + {0:~ }| :syn match dAmpersand '[&][&]' conceal cchar=∧ | ]]) end) - it('double characters and move the cursor one line up.', function() + it('double characters and move the cursor one line up.', function() feed("k") screen:expect([[ {1:∧} | @@ -62,8 +66,8 @@ describe('Screen', function() {1:∧} | ^&& | | - ~ | - ~ | + {0:~ }| + {0:~ }| :syn match dAmpersand '[&][&]' conceal cchar=∧ | ]]) end) @@ -78,13 +82,13 @@ describe('Screen', function() {1:∧} | {1:∧} | | - ~ | - ~ | + {0:~ }| + {0:~ }| :syn match dAmpersand '[&][&]' conceal cchar=∧ | ]]) end) - it('double characters and move the cursor to the second line in the file.', function() + it('double characters and move the cursor to the second line in the file.', function() feed("ggj") screen:expect([[ {1:∧} | @@ -94,13 +98,13 @@ describe('Screen', function() {1:∧} | {1:∧} | | - ~ | - ~ | + {0:~ }| + {0:~ }| :syn match dAmpersand '[&][&]' conceal cchar=∧ | ]]) end) - it('double characters and then move the cursor to the beginning of the file and back to the end of the file.', function() + 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:∧} | @@ -110,13 +114,13 @@ describe('Screen', function() {1:∧} | {1:∧} | ^ | - ~ | - ~ | + {0:~ }| + {0:~ }| :syn match dAmpersand '[&][&]' conceal cchar=∧ | ]]) end) - end) -- multiple - + end) -- multiple + it("keyword instances in initially in the document.", function() feed("2ilambda<cr><ESC>") execute("let &conceallevel=1") @@ -125,36 +129,36 @@ describe('Screen', function() {1:λ} | {1:λ} | ^ | - ~ | - ~ | - ~ | - ~ | - ~ | - ~ | + {0:~ }| + {0:~ }| + {0:~ }| + {0:~ }| + {0:~ }| + {0:~ }| :syn keyword kLambda lambda conceal cchar=λ | ]]) end) -- Keyword describe("regions in the document", function() - before_each(function() + before_each(function() feed("2") insert("<r> a region of text </r>\n") execute("let &conceallevel=1") end) - - it('initially and conceal it.', function() + + it('initially and conceal it.', function() execute("syn region rText start='<r>' end='</r>' conceal cchar=R") screen:expect([[ {1:R} | {1:R} | ^ | - ~ | - ~ | - ~ | - ~ | - ~ | - ~ | + {0:~ }| + {0:~ }| + {0:~ }| + {0:~ }| + {0:~ }| + {0:~ }| | ]]) end) @@ -167,18 +171,18 @@ describe('Screen', function() {1: } a region of text {1:-} | {1: } a region of text {1:-} | ^ | - ~ | - ~ | - ~ | - ~ | - ~ | - ~ | + {0:~ }| + {0:~ }| + {0:~ }| + {0:~ }| + {0:~ }| + {0:~ }| | ]]) end) - + it('that are nested and conceal the nested region\'s start and end tags.', function() - execute("syn region rText contains=rText matchgroup=rMatch start='<r>' end='</r>' concealends cchar=-") + execute("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:-} | @@ -186,18 +190,18 @@ describe('Screen', function() {1: } A region with {1: } a nested {1: } nested region.{1:-} | {1:-} {1:-} | ^ | - ~ | - ~ | - ~ | - ~ | + {0:~ }| + {0:~ }| + {0:~ }| + {0:~ }| | ]]) end) end) -- regions in the document describe("a region of text", function() - before_each(function() - execute("syntax conceal on") + before_each(function() + execute("syntax conceal on") feed("2") insert("<r> a region of text </r>\n") execute("syn region rText start='<r>' end='</r>' cchar=-") @@ -208,12 +212,12 @@ describe('Screen', function() {1:-} | {1:-} | ^ | - ~ | - ~ | - ~ | - ~ | - ~ | - ~ | + {0:~ }| + {0:~ }| + {0:~ }| + {0:~ }| + {0:~ }| + {0:~ }| :syn region rText start='<r>' end='</r>' cchar=- | ]]) end) @@ -229,10 +233,10 @@ describe('Screen', function() <i> italian text </i> | <i> italian text </i> | ^ | - ~ | - ~ | - ~ | - ~ | + {0:~ }| + {0:~ }| + {0:~ }| + {0:~ }| :syn region iText start='<i>' end='</i>' cchar=* | ]]) execute("syntax conceal on") @@ -243,27 +247,27 @@ describe('Screen', function() {1:*} | {1:*} | ^ | - ~ | - ~ | - ~ | - ~ | + {0:~ }| + {0:~ }| + {0:~ }| + {0:~ }| :syn region iText start='<i>' end='</i>' cchar=* | ]]) end) end) -- a region of text (implicit concealing) 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('"Conceal without a cchar"\n') - insert("+ With cchar\n\n") + insert("// No Conceal\n") + insert('"Conceal without a cchar"\n') + insert("+ With cchar\n\n") execute("syn match noConceal '^//.*$'") execute("syn match concealNoCchar '\".\\{-}\"$' conceal") execute("syn match concealWCchar '^+.\\{-}$' conceal cchar=C") end) - - it("0. No concealing.", function() + + it("0. No concealing.", function() execute("let &conceallevel=0") screen:expect([[ // No Conceal | @@ -271,14 +275,14 @@ describe('Screen', function() + With cchar | | ^ | - ~ | - ~ | - ~ | - ~ | + {0:~ }| + {0:~ }| + {0:~ }| + {0:~ }| :let &conceallevel=0 | ]]) end) - + it("1. Conceal using cchar or reference listchars.", function() execute("let &conceallevel=1") screen:expect([[ @@ -287,14 +291,14 @@ describe('Screen', function() {1:C} | | ^ | - ~ | - ~ | - ~ | - ~ | + {0:~ }| + {0:~ }| + {0:~ }| + {0:~ }| :let &conceallevel=1 | ]]) end) - + it("2. Hidden unless cchar is set.", function() execute("let &conceallevel=2") screen:expect([[ @@ -303,15 +307,15 @@ describe('Screen', function() {1:C} | | ^ | - ~ | - ~ | - ~ | - ~ | + {0:~ }| + {0:~ }| + {0:~ }| + {0:~ }| :let &conceallevel=2 | ]]) end) - - it("3. Hide all concealed text.", function() + + it("3. Hide all concealed text.", function() execute("let &conceallevel=3") screen:expect([[ // No Conceal | @@ -319,10 +323,10 @@ describe('Screen', function() | | ^ | - ~ | - ~ | - ~ | - ~ | + {0:~ }| + {0:~ }| + {0:~ }| + {0:~ }| :let &conceallevel=3 | ]]) end) |