test/clipboard: split unrelated subtests

This commit is contained in:
Björn Linse 2015-03-25 18:21:02 +01:00
parent 73bf0551f8
commit 638ceea092

View File

@ -8,6 +8,7 @@ local nvim, run, stop, restart = helpers.nvim, helpers.run, helpers.stop, helper
local function reset() local function reset()
clear() clear()
execute('let &rtp = "test/functional/clipboard,".&rtp') execute('let &rtp = "test/functional/clipboard,".&rtp')
execute('call getreg("*")') -- force load of provider
end end
local function basic_register_test() local function basic_register_test()
@ -62,7 +63,8 @@ local function basic_register_test()
end end
describe('clipboard usage', function() describe('clipboard usage', function()
setup(reset) before_each(reset)
it("works", function() it("works", function()
basic_register_test() basic_register_test()
@ -71,9 +73,9 @@ describe('clipboard usage', function()
feed('^"*dwdw"*P') feed('^"*dwdw"*P')
expect('some ') expect('some ')
eq({'some '}, eval("g:test_clip['*']")) eq({'some '}, eval("g:test_clip['*']"))
reset() end)
-- "* and "+ should be independent when the provider supports it it('supports separate "* and "+ when the provider supports it', function()
insert([[ insert([[
text: text:
first line first line
@ -89,9 +91,9 @@ describe('clipboard usage', function()
-- linewise selection should be encoded as an extra newline -- linewise selection should be encoded as an extra newline
eq({'third line', ''}, eval("g:test_clip['+']")) eq({'third line', ''}, eval("g:test_clip['+']"))
eq({'secound line', ''}, eval("g:test_clip['*']")) eq({'secound line', ''}, eval("g:test_clip['*']"))
reset() end)
-- handle null bytes it('handles null bytes', function()
insert("some\022000text\n\022000very binary\022000") insert("some\022000text\n\022000very binary\022000")
feed('"*y-+"*p') feed('"*y-+"*p')
eq({'some\ntext', '\nvery binary\n',''}, eval("g:test_clip['*']")) eq({'some\ntext', '\nvery binary\n',''}, eval("g:test_clip['*']"))
@ -100,22 +102,21 @@ describe('clipboard usage', function()
-- test getreg/getregtype -- test getreg/getregtype
eq('some\ntext\n\nvery binary\n\n', eval("getreg('*', 1)")) eq('some\ntext\n\nvery binary\n\n', eval("getreg('*', 1)"))
eq("V", eval("getregtype('*')")) eq("V", eval("getregtype('*')"))
reset() end)
-- blockwise paste it('support blockwise operations', function()
insert([[ insert([[
much much
text]]) text]])
feed('"*yy') -- force load of provider
execute("let g:test_clip['*'] = [['very','block'],'b']") execute("let g:test_clip['*'] = [['very','block'],'b']")
feed('gg"*P') feed('gg"*P')
expect([[ expect([[
very much very much
blocktext]]) blocktext]])
eq("\0225", eval("getregtype('*')")) eq("\0225", eval("getregtype('*')"))
reset() end)
-- test setreg it('supports setreg', function()
execute('call setreg("*", "setted\\ntext", "c")') execute('call setreg("*", "setted\\ntext", "c")')
execute('call setreg("+", "explicitly\\nlines", "l")') execute('call setreg("+", "explicitly\\nlines", "l")')
feed('"+P"*p') feed('"+P"*p')
@ -124,9 +125,9 @@ describe('clipboard usage', function()
textxplicitly textxplicitly
lines lines
]]) ]])
reset() end)
-- test let @+ (issue #1427) it('supports let @+ (issue #1427)', function()
execute("let @+ = 'some'") execute("let @+ = 'some'")
execute("let @* = ' other stuff'") execute("let @* = ' other stuff'")
eq({'some'}, eval("g:test_clip['+']")) eq({'some'}, eval("g:test_clip['+']"))
@ -136,8 +137,9 @@ describe('clipboard usage', function()
execute("let @+ .= ' more'") execute("let @+ .= ' more'")
feed('dd"+p') feed('dd"+p')
expect('some more') expect('some more')
reset() end)
it('supports clipboard=unnamed', function()
-- the basic behavior of unnamed register should be the same -- the basic behavior of unnamed register should be the same
-- even when handled by clipboard provider -- even when handled by clipboard provider
execute('set clipboard=unnamed') execute('set clipboard=unnamed')
@ -155,7 +157,6 @@ describe('clipboard usage', function()
expect([[ expect([[
words words
linewise stuff]]) linewise stuff]])
reset() end)
end)
end) end)