From df5534f576818b2e29f554e55c7ffc5c24ce732e Mon Sep 17 00:00:00 2001 From: Marco Hinz Date: Thu, 24 Jan 2019 00:59:38 +0100 Subject: tests: fix mouse tests that use lcs=eol:$ Previously the mouse tests set 'listchars', but not 'list'. Funnily enough, the space, where the `$` would normally appear, would still use new highlight group. Set 'list' for good and fix the tests accordingly. --- test/functional/ui/mouse_spec.lua | 47 ++++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 23 deletions(-) (limited to 'test/functional') diff --git a/test/functional/ui/mouse_spec.lua b/test/functional/ui/mouse_spec.lua index 8ba03953b9..7805ed3cb9 100644 --- a/test/functional/ui/mouse_spec.lua +++ b/test/functional/ui/mouse_spec.lua @@ -11,6 +11,7 @@ describe('ui/mouse/input', function() before_each(function() clear() meths.set_option('mouse', 'a') + meths.set_option('list', true) meths.set_option('listchars', 'eol:$') screen = Screen.new(25, 5) screen:attach() @@ -82,7 +83,7 @@ describe('ui/mouse/input', function() feed('<0,0>') feed('<0,0>') screen:expect([[ - ^t{1:esting}{3: } | + ^t{1:esting} | mouse | support and selection | {0:~ }| @@ -125,7 +126,7 @@ describe('ui/mouse/input', function() insert('this is bar') screen:expect([[ {tab: + foo }{sel: + bar }{fill: }{tab:X}| - this is ba^r | + this is ba^r{0:$} | {0:~ }| {0:~ }| | @@ -162,7 +163,7 @@ describe('ui/mouse/input', function() insert('this is bar') screen:expect([[ {tab: + foo }{sel: + bar }{fill: }{tab:X}| - this is ba^r | + this is ba^r{0:$} | {0:~ }| {0:~ }| | @@ -170,7 +171,7 @@ describe('ui/mouse/input', function() feed('<11,0>') screen:expect{grid=[[ {tab: + foo }{sel: + bar }{fill: }{tab:X}| - this is ba^r | + this is ba^r{0:$} | {0:~ }| {0:~ }| | @@ -178,7 +179,7 @@ describe('ui/mouse/input', function() feed('<6,0>') screen:expect([[ {sel: + bar }{tab: + foo }{fill: }{tab:X}| - this is ba^r | + this is ba^r{0:$} | {0:~ }| {0:~ }| | @@ -192,7 +193,7 @@ describe('ui/mouse/input', function() insert('this is bar') screen:expect([[ {tab: + foo }{sel: + bar }{fill: }{tab:X}| - this is ba^r | + this is ba^r{0:$} | {0:~ }| {0:~ }| | @@ -222,7 +223,7 @@ describe('ui/mouse/input', function() insert('this is bar') screen:expect([[ {tab: + foo }{sel: + bar }{fill: }{tab:X}| - this is ba^r | + this is ba^r{0:$} | {0:~ }| {0:~ }| | @@ -260,7 +261,7 @@ describe('ui/mouse/input', function() insert('this is bar') screen:expect([[ {tab: + foo }{sel: + bar }{fill: }{tab:X}| - this is ba^r | + this is ba^r{0:$} | {0:~ }| {0:~ }| | @@ -268,7 +269,7 @@ describe('ui/mouse/input', function() feed('<11,0>') screen:expect{grid=[[ {tab: + foo }{sel: + bar }{fill: }{tab:X}| - this is ba^r | + this is ba^r{0:$} | {0:~ }| {0:~ }| | @@ -276,7 +277,7 @@ describe('ui/mouse/input', function() feed('<11,1>') screen:expect{grid=[[ {tab: + foo }{sel: + bar }{fill: }{tab:X}| - this is ba^r | + this is ba^r{0:$} | {0:~ }| {0:~ }| | @@ -284,7 +285,7 @@ describe('ui/mouse/input', function() feed('<6,1>') screen:expect([[ {sel: + bar }{tab: + foo }{fill: }{tab:X}| - this is ba^r | + this is ba^r{0:$} | {0:~ }| {0:~ }| | @@ -298,7 +299,7 @@ describe('ui/mouse/input', function() insert('this is bar') screen:expect([[ {tab: + foo }{sel: + bar }{fill: }{tab:X}| - this is ba^r | + this is ba^r{0:$} | {0:~ }| {0:~ }| | @@ -347,7 +348,7 @@ describe('ui/mouse/input', function() insert('this is bar') screen:expect([[ {tab: + foo }{sel: + bar }{fill: }{tab:X}| - this is ba^r | + this is ba^r{0:$} | {0:~ }| {0:~ }| | @@ -370,7 +371,7 @@ describe('ui/mouse/input', function() insert('this is bar') screen:expect([[ {tab: + foo }{sel: + bar }{fill: }{tab:X}| - this is ba^r | + this is ba^r{0:$} | {0:~ }| {0:~ }| | @@ -393,7 +394,7 @@ describe('ui/mouse/input', function() insert('this is bar') screen:expect([[ {tab: + foo }{sel: + bar }{fill: }{tab:X}| - this is ba^r | + this is ba^r{0:$} | {0:~ }| {0:~ }| | @@ -401,7 +402,7 @@ describe('ui/mouse/input', function() feed('<2-LeftMouse><4,0>') screen:expect([[ {sel: Name] }{tab: + foo + bar }{fill: }{tab:X}| - ^ | + {0:^$} | {0:~ }| {0:~ }| | @@ -517,14 +518,14 @@ describe('ui/mouse/input', function() feed('<2,2>') screen:expect([[ testing | - mo{1:use}{3: } | + mo{1:use} | {1:su}^pport and selection | {0:~ }| {2:-- VISUAL --} | ]]) feed('<0,0>') screen:expect([[ - ^t{1:esting}{3: } | + ^t{1:esting} | {1:mou}se | support and selection | {0:~ }| @@ -555,7 +556,7 @@ describe('ui/mouse/input', function() feed('<0,1>') screen:expect([[ {tab: + foo }{sel: + bar }{fill: }{tab:X}| - ^this is bar | + ^this is bar{0:$} | {0:~ }| {0:~ }| :tabprevious | @@ -563,7 +564,7 @@ describe('ui/mouse/input', function() feed('<4,1>') screen:expect([[ {tab: + foo }{sel: + bar }{fill: }{tab:X}| - {vis:this}^ is bar | + {vis:this}^ is bar{0:$} | {0:~ }| {0:~ }| {sel:-- VISUAL --} | @@ -586,7 +587,7 @@ describe('ui/mouse/input', function() screen:expect([[ testing | mouse | - {1:su}^p{1:port and selection}{3: } | + {1:su}^p{1:port and selection} | {0:~ }| {2:-- VISUAL LINE --} | ]]) @@ -614,8 +615,8 @@ describe('ui/mouse/input', function() ]]) feed('<2,2>') screen:expect([[ - {1:testing}{3: } | - {1:mouse}{3: } | + {1:testing} | + {1:mouse} | {1:su}^pport and selection | {0:~ }| {2:-- VISUAL --} | -- cgit From 88b0899eb40581ad5b8071823594852a7cdf2043 Mon Sep 17 00:00:00 2001 From: Marco Hinz Date: Sat, 26 Jan 2019 14:08:22 +0100 Subject: tests: 'fcs' and 'lcs' are local to the window --- test/functional/options/chars_spec.lua | 121 +++++++++++++++++++++++++++++ test/functional/options/fillchars_spec.lua | 73 ----------------- 2 files changed, 121 insertions(+), 73 deletions(-) create mode 100644 test/functional/options/chars_spec.lua delete mode 100644 test/functional/options/fillchars_spec.lua (limited to 'test/functional') diff --git a/test/functional/options/chars_spec.lua b/test/functional/options/chars_spec.lua new file mode 100644 index 0000000000..1330c29e61 --- /dev/null +++ b/test/functional/options/chars_spec.lua @@ -0,0 +1,121 @@ +local helpers = require('test.functional.helpers')(after_each) +local Screen = require('test.functional.ui.screen') +local clear, command = helpers.clear, helpers.command +local eval = helpers.eval +local eq = helpers.eq +local exc_exec = helpers.exc_exec +local insert = helpers.insert +local feed = helpers.feed + +describe("'fillchars'", function() + local screen + + before_each(function() + clear() + screen = Screen.new(25, 5) + screen:attach() + end) + + after_each(function() + screen:detach() + end) + + local function shouldfail(val,errval) + errval = errval or val + eq('Vim(set):E474: Invalid argument: fillchars='..errval, + exc_exec('set fillchars='..val)) + end + + describe('"eob" flag', function() + it("uses '~' by default", function() + eq('', eval('&fillchars')) + screen:expect([[ + ^ | + ~ | + ~ | + ~ | + | + ]]) + end) + it('supports whitespace', function() + screen:expect([[ + ^ | + ~ | + ~ | + ~ | + | + ]]) + command('set fillchars=eob:\\ ') + screen:expect([[ + ^ | + | + | + | + | + ]]) + end) + it('supports multibyte char', function() + command('set fillchars=eob:ñ') + screen:expect([[ + ^ | + ñ | + ñ | + ñ | + | + ]]) + end) + it('handles invalid values', function() + shouldfail('eob:') -- empty string + shouldfail('eob:馬') -- doublewidth char + shouldfail('eob:å̲') -- composing chars + shouldfail('eob:xy') -- two ascii chars + shouldfail('eob:\255', 'eob:') -- invalid UTF-8 + end) + it('is local to window', function() + clear() + screen = Screen.new(50, 5) + screen:attach() + insert("foo\nbar") + command('set laststatus=0') + command('1,2fold') + command('vsplit') + command('set fillchars=fold:x') + screen:expect([[ + ^+-- 2 lines: fooxxxxxxxx│+-- 2 lines: foo·······| + ~ │~ | + ~ │~ | + ~ │~ | + | + ]]) + end) + end) +end) + +describe("'listchars'", function() + local screen + + before_each(function() + clear() + screen = Screen.new(50, 5) + screen:attach() + end) + + after_each(function() + screen:detach() + end) + + it('is local to window', function() + feed('i') + command('set laststatus=0') + command('set list listchars=tab:<->') + command('vsplit') + command('set listchars&') + screen:expect([[ + > > ^> │<------><------><------>| + ~ │~ | + ~ │~ | + ~ │~ | + | + ]]) + end) +end) diff --git a/test/functional/options/fillchars_spec.lua b/test/functional/options/fillchars_spec.lua deleted file mode 100644 index 99177a11b4..0000000000 --- a/test/functional/options/fillchars_spec.lua +++ /dev/null @@ -1,73 +0,0 @@ -local helpers = require('test.functional.helpers')(after_each) -local Screen = require('test.functional.ui.screen') -local clear, command = helpers.clear, helpers.command -local eval = helpers.eval -local eq = helpers.eq -local exc_exec = helpers.exc_exec - -describe("'fillchars'", function() - local screen - - before_each(function() - clear() - screen = Screen.new(25, 5) - screen:attach() - end) - - after_each(function() - screen:detach() - end) - - local function shouldfail(val,errval) - errval = errval or val - eq('Vim(set):E474: Invalid argument: fillchars='..errval, - exc_exec('set fillchars='..val)) - end - - describe('"eob" flag', function() - it("uses '~' by default", function() - eq('', eval('&fillchars')) - screen:expect([[ - ^ | - ~ | - ~ | - ~ | - | - ]]) - end) - it('supports whitespace', function() - screen:expect([[ - ^ | - ~ | - ~ | - ~ | - | - ]]) - command('set fillchars=eob:\\ ') - screen:expect([[ - ^ | - | - | - | - | - ]]) - end) - it('supports multibyte char', function() - command('set fillchars=eob:ñ') - screen:expect([[ - ^ | - ñ | - ñ | - ñ | - | - ]]) - end) - it('handles invalid values', function() - shouldfail('eob:') -- empty string - shouldfail('eob:馬') -- doublewidth char - shouldfail('eob:å̲') -- composing chars - shouldfail('eob:xy') -- two ascii chars - shouldfail('eob:\255', 'eob:') -- invalid UTF-8 - end) - end) -end) -- cgit