aboutsummaryrefslogtreecommitdiff
path: root/test/functional/terminal/cursor_spec.lua
diff options
context:
space:
mode:
Diffstat (limited to 'test/functional/terminal/cursor_spec.lua')
-rw-r--r--test/functional/terminal/cursor_spec.lua582
1 files changed, 262 insertions, 320 deletions
diff --git a/test/functional/terminal/cursor_spec.lua b/test/functional/terminal/cursor_spec.lua
index 8285bcc26e..73fd97203e 100644
--- a/test/functional/terminal/cursor_spec.lua
+++ b/test/functional/terminal/cursor_spec.lua
@@ -1,9 +1,8 @@
local helpers = require('test.functional.helpers')(after_each)
local Screen = require('test.functional.ui.screen')
local thelpers = require('test.functional.terminal.helpers')
-local feed, clear, nvim = helpers.feed, helpers.clear, helpers.nvim
+local feed, clear = helpers.feed, helpers.clear
local testprg, command = helpers.testprg, helpers.command
-local nvim_prog = helpers.nvim_prog
local eq, eval = helpers.eq, helpers.eval
local matches = helpers.matches
local poke_eventloop = helpers.poke_eventloop
@@ -20,16 +19,12 @@ describe(':terminal cursor', function()
screen = thelpers.screen_setup()
end)
-
it('moves the screen cursor when focused', function()
thelpers.feed_data('testing cursor')
screen:expect([[
tty ready |
testing cursor{1: } |
- |
- |
- |
- |
+ |*4
{3:-- TERMINAL --} |
]])
end)
@@ -39,11 +34,7 @@ describe(':terminal cursor', function()
screen:expect([[
tty ready |
{2:^ } |
- |
- |
- |
- |
- |
+ |*5
]])
end)
@@ -94,21 +85,14 @@ describe(':terminal cursor', function()
hide_cursor()
screen:expect([[
tty ready |
- |
- |
- |
- |
- |
+ |*5
{3:-- TERMINAL --} |
]])
show_cursor()
screen:expect([[
tty ready |
{1: } |
- |
- |
- |
- |
+ |*4
{3:-- TERMINAL --} |
]])
-- same for when the terminal is unfocused
@@ -117,42 +101,33 @@ describe(':terminal cursor', function()
screen:expect([[
tty ready |
^ |
- |
- |
- |
- |
- |
+ |*5
]])
show_cursor()
screen:expect([[
tty ready |
{2:^ } |
- |
- |
- |
- |
- |
+ |*5
]])
end)
end)
end)
-
describe('cursor with customized highlighting', function()
local screen
before_each(function()
clear()
- nvim('command', 'highlight TermCursor ctermfg=45 ctermbg=46 cterm=NONE')
- nvim('command', 'highlight TermCursorNC ctermfg=55 ctermbg=56 cterm=NONE')
+ command('highlight TermCursor ctermfg=45 ctermbg=46 cterm=NONE')
+ command('highlight TermCursorNC ctermfg=55 ctermbg=56 cterm=NONE')
screen = Screen.new(50, 7)
screen:set_default_attr_ids({
- [1] = {foreground = 45, background = 46},
- [2] = {foreground = 55, background = 56},
- [3] = {bold = true},
+ [1] = { foreground = 45, background = 46 },
+ [2] = { foreground = 55, background = 56 },
+ [3] = { bold = true },
})
- screen:attach({rgb=false})
- command('call termopen(["'..testprg('tty-test')..'"])')
+ screen:attach({ rgb = false })
+ command('call termopen(["' .. testprg('tty-test') .. '"])')
feed('i')
poke_eventloop()
end)
@@ -161,21 +136,14 @@ describe('cursor with customized highlighting', function()
screen:expect([[
tty ready |
{1: } |
- |
- |
- |
- |
+ |*4
{3:-- TERMINAL --} |
]])
feed('<c-\\><c-n>')
screen:expect([[
tty ready |
{2:^ } |
- |
- |
- |
- |
- |
+ |*5
]])
end)
end)
@@ -184,20 +152,37 @@ describe('buffer cursor position is correct in terminal without number column',
local screen
local function setup_ex_register(str)
- screen = thelpers.screen_setup(0, '["'..nvim_prog
- ..[[", "-u", "NONE", "-i", "NONE", "-E", "--cmd", "let @r = ']]..str..[['", ]]
+ screen = thelpers.setup_child_nvim({
+ '-u',
+ 'NONE',
+ '-i',
+ 'NONE',
+ '-E',
+ '--cmd',
+ string.format('let @r = "%s"', str),
-- <Left> and <Right> don't always work
- ..[["--cmd", "cnoremap <C-X> <Left>", "--cmd", "cnoremap <C-O> <Right>"]]..']', 70)
+ '--cmd',
+ 'cnoremap <C-X> <Left>',
+ '--cmd',
+ 'cnoremap <C-O> <Right>',
+ '--cmd',
+ 'set notermguicolors',
+ }, {
+ cols = 70,
+ })
+ screen:set_default_attr_ids({
+ [1] = { foreground = 253, background = 11 },
+ [2] = { reverse = true },
+ [3] = { bold = true },
+ [4] = { background = 11 },
+ })
-- Also check for real cursor position, as it is used for stuff like input methods
screen._handle_busy_start = function() end
screen._handle_busy_stop = function() end
screen:expect([[
- |
- |
- |
- |
+ |*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :{1:^ } |
+ :{2:^ } |
{3:-- TERMINAL --} |
]])
end
@@ -212,76 +197,58 @@ describe('buffer cursor position is correct in terminal without number column',
it('at the end', function()
feed('<C-R>r')
screen:expect([[
- |
- |
- |
- |
+ |*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :aaaaaaaa{1:^ } |
+ :aaaaaaaa{2:^ } |
{3:-- TERMINAL --} |
]])
- eq({6, 9}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 9 }, eval('nvim_win_get_cursor(0)'))
feed([[<C-\><C-N>]])
screen:expect([[
- |
- |
- |
- |
+ |*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :aaaaaaa^a{2: } |
+ :aaaaaaa^a{4: } |
|
]])
- eq({6, 8}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 8 }, eval('nvim_win_get_cursor(0)'))
end)
it('near the end', function()
feed('<C-R>r<C-X><C-X>')
screen:expect([[
- |
- |
- |
- |
+ |*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :aaaaaa{1:^a}a |
+ :aaaaaa{2:^a}a |
{3:-- TERMINAL --} |
]])
- eq({6, 7}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 7 }, eval('nvim_win_get_cursor(0)'))
feed([[<C-\><C-N>]])
screen:expect([[
- |
- |
- |
- |
+ |*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :aaaaa^a{2:a}a |
+ :aaaaa^a{4:a}a |
|
]])
- eq({6, 6}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 6 }, eval('nvim_win_get_cursor(0)'))
end)
it('near the start', function()
feed('<C-R>r<C-B><C-O>')
screen:expect([[
- |
- |
- |
- |
+ |*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :a{1:^a}aaaaaa |
+ :a{2:^a}aaaaaa |
{3:-- TERMINAL --} |
]])
- eq({6, 2}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 2 }, eval('nvim_win_get_cursor(0)'))
feed([[<C-\><C-N>]])
screen:expect([[
- |
- |
- |
- |
+ |*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :^a{2:a}aaaaaa |
+ :^a{4:a}aaaaaa |
|
]])
- eq({6, 1}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 1 }, eval('nvim_win_get_cursor(0)'))
end)
end)
@@ -293,164 +260,135 @@ describe('buffer cursor position is correct in terminal without number column',
it('at the end', function()
feed('<C-R>r')
screen:expect([[
- |
- |
- |
- |
+ |*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :µµµµµµµµ{1:^ } |
+ :µµµµµµµµ{2:^ } |
{3:-- TERMINAL --} |
]])
- eq({6, 17}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 17 }, eval('nvim_win_get_cursor(0)'))
feed([[<C-\><C-N>]])
screen:expect([[
- |
- |
- |
- |
+ |*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :µµµµµµµ^µ{2: } |
+ :µµµµµµµ^µ{4: } |
|
]])
- eq({6, 15}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 15 }, eval('nvim_win_get_cursor(0)'))
end)
it('near the end', function()
feed('<C-R>r<C-X><C-X>')
screen:expect([[
- |
- |
- |
- |
+ |*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :µµµµµµ{1:^µ}µ |
+ :µµµµµµ{2:^µ}µ |
{3:-- TERMINAL --} |
]])
- eq({6, 13}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 13 }, eval('nvim_win_get_cursor(0)'))
feed([[<C-\><C-N>]])
screen:expect([[
- |
- |
- |
- |
+ |*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :µµµµµ^µ{2:µ}µ |
+ :µµµµµ^µ{4:µ}µ |
|
]])
- eq({6, 11}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 11 }, eval('nvim_win_get_cursor(0)'))
end)
it('near the start', function()
feed('<C-R>r<C-B><C-O>')
screen:expect([[
- |
- |
- |
- |
+ |*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :µ{1:^µ}µµµµµµ |
+ :µ{2:^µ}µµµµµµ |
{3:-- TERMINAL --} |
]])
- eq({6, 3}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 3 }, eval('nvim_win_get_cursor(0)'))
feed([[<C-\><C-N>]])
screen:expect([[
- |
- |
- |
- |
+ |*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :^µ{2:µ}µµµµµµ |
+ :^µ{4:µ}µµµµµµ |
|
]])
- eq({6, 1}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 1 }, eval('nvim_win_get_cursor(0)'))
end)
end)
- describe('in a line with single-cell composed multibyte characters and no trailing spaces,', function()
- if skip(is_os('win'), "Encoding problem?") then return end
-
- before_each(function()
- setup_ex_register('µ̳µ̳µ̳µ̳µ̳µ̳µ̳µ̳')
- end)
-
- it('at the end', function()
- feed('<C-R>r')
- screen:expect([[
- |
- |
- |
- |
+ describe(
+ 'in a line with single-cell composed multibyte characters and no trailing spaces,',
+ function()
+ if skip(is_os('win'), 'Encoding problem?') then
+ return
+ end
+
+ before_each(function()
+ setup_ex_register('µ̳µ̳µ̳µ̳µ̳µ̳µ̳µ̳')
+ end)
+
+ it('at the end', function()
+ feed('<C-R>r')
+ screen:expect([[
+ |*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :µ̳µ̳µ̳µ̳µ̳µ̳µ̳µ̳{1:^ } |
+ :µ̳µ̳µ̳µ̳µ̳µ̳µ̳µ̳{2:^ } |
{3:-- TERMINAL --} |
]])
- eq({6, 33}, eval('nvim_win_get_cursor(0)'))
- feed([[<C-\><C-N>]])
- screen:expect([[
- |
- |
- |
- |
+ eq({ 6, 33 }, eval('nvim_win_get_cursor(0)'))
+ feed([[<C-\><C-N>]])
+ screen:expect([[
+ |*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :µ̳µ̳µ̳µ̳µ̳µ̳µ̳^µ̳{2: } |
+ :µ̳µ̳µ̳µ̳µ̳µ̳µ̳^µ̳{4: } |
|
]])
- eq({6, 29}, eval('nvim_win_get_cursor(0)'))
- end)
+ eq({ 6, 29 }, eval('nvim_win_get_cursor(0)'))
+ end)
- it('near the end', function()
- feed('<C-R>r<C-X><C-X>')
- screen:expect([[
- |
- |
- |
- |
+ it('near the end', function()
+ feed('<C-R>r<C-X><C-X>')
+ screen:expect([[
+ |*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :µ̳µ̳µ̳µ̳µ̳µ̳{1:^µ̳}µ̳ |
+ :µ̳µ̳µ̳µ̳µ̳µ̳{2:^µ̳}µ̳ |
{3:-- TERMINAL --} |
]])
- eq({6, 25}, eval('nvim_win_get_cursor(0)'))
- feed([[<C-\><C-N>]])
- screen:expect([[
- |
- |
- |
- |
+ eq({ 6, 25 }, eval('nvim_win_get_cursor(0)'))
+ feed([[<C-\><C-N>]])
+ screen:expect([[
+ |*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :µ̳µ̳µ̳µ̳µ̳^µ̳{2:µ̳}µ̳ |
+ :µ̳µ̳µ̳µ̳µ̳^µ̳{4:µ̳}µ̳ |
|
]])
- eq({6, 21}, eval('nvim_win_get_cursor(0)'))
- end)
+ eq({ 6, 21 }, eval('nvim_win_get_cursor(0)'))
+ end)
- it('near the start', function()
- feed('<C-R>r<C-B><C-O>')
- screen:expect([[
- |
- |
- |
- |
+ it('near the start', function()
+ feed('<C-R>r<C-B><C-O>')
+ screen:expect([[
+ |*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :µ̳{1:^µ̳}µ̳µ̳µ̳µ̳µ̳µ̳ |
+ :µ̳{2:^µ̳}µ̳µ̳µ̳µ̳µ̳µ̳ |
{3:-- TERMINAL --} |
]])
- eq({6, 5}, eval('nvim_win_get_cursor(0)'))
- feed([[<C-\><C-N>]])
- screen:expect([[
- |
- |
- |
- |
+ eq({ 6, 5 }, eval('nvim_win_get_cursor(0)'))
+ feed([[<C-\><C-N>]])
+ screen:expect([[
+ |*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :^µ̳{2:µ̳}µ̳µ̳µ̳µ̳µ̳µ̳ |
+ :^µ̳{4:µ̳}µ̳µ̳µ̳µ̳µ̳µ̳ |
|
]])
- eq({6, 1}, eval('nvim_win_get_cursor(0)'))
- end)
- end)
+ eq({ 6, 1 }, eval('nvim_win_get_cursor(0)'))
+ end)
+ end
+ )
describe('in a line with double-cell multibyte characters and no trailing spaces,', function()
- if skip(is_os('win'), "Encoding problem?") then return end
+ if skip(is_os('win'), 'Encoding problem?') then
+ return
+ end
before_each(function()
setup_ex_register('哦哦哦哦哦哦哦哦')
@@ -459,76 +397,58 @@ describe('buffer cursor position is correct in terminal without number column',
it('at the end', function()
feed('<C-R>r')
screen:expect([[
- |
- |
- |
- |
+ |*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :哦哦哦哦哦哦哦哦{1:^ } |
+ :哦哦哦哦哦哦哦哦{2:^ } |
{3:-- TERMINAL --} |
]])
- eq({6, 25}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 25 }, eval('nvim_win_get_cursor(0)'))
feed([[<C-\><C-N>]])
screen:expect([[
- |
- |
- |
- |
+ |*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :哦哦哦哦哦哦哦^哦{2: } |
+ :哦哦哦哦哦哦哦^哦{4: } |
|
]])
- eq({6, 22}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 22 }, eval('nvim_win_get_cursor(0)'))
end)
it('near the end', function()
feed('<C-R>r<C-X><C-X>')
screen:expect([[
- |
- |
- |
- |
+ |*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :哦哦哦哦哦哦{1:^哦}哦 |
+ :哦哦哦哦哦哦{2:^哦}哦 |
{3:-- TERMINAL --} |
]])
- eq({6, 19}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 19 }, eval('nvim_win_get_cursor(0)'))
feed([[<C-\><C-N>]])
screen:expect([[
- |
- |
- |
- |
+ |*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :哦哦哦哦哦^哦{2:哦}哦 |
+ :哦哦哦哦哦^哦{4:哦}哦 |
|
]])
- eq({6, 16}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 16 }, eval('nvim_win_get_cursor(0)'))
end)
it('near the start', function()
feed('<C-R>r<C-B><C-O>')
screen:expect([[
- |
- |
- |
- |
+ |*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :哦{1:^哦}哦哦哦哦哦哦 |
+ :哦{2:^哦}哦哦哦哦哦哦 |
{3:-- TERMINAL --} |
]])
- eq({6, 4}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 4 }, eval('nvim_win_get_cursor(0)'))
feed([[<C-\><C-N>]])
screen:expect([[
- |
- |
- |
- |
+ |*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :^哦{2:哦}哦哦哦哦哦哦 |
+ :^哦{4:哦}哦哦哦哦哦哦 |
|
]])
- eq({6, 1}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 1 }, eval('nvim_win_get_cursor(0)'))
end)
end)
@@ -536,27 +456,21 @@ describe('buffer cursor position is correct in terminal without number column',
setup_ex_register('aaaaaaaa ')
feed('<C-R>r')
screen:expect([[
- |
- |
- |
- |
+ |*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :aaaaaaaa {1:^ } |
+ :aaaaaaaa {2:^ } |
{3:-- TERMINAL --} |
]])
matches('^:aaaaaaaa [ ]*$', eval('nvim_get_current_line()'))
- eq({6, 13}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 13 }, eval('nvim_win_get_cursor(0)'))
feed([[<C-\><C-N>]])
screen:expect([[
- |
- |
- |
- |
+ |*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :aaaaaaaa ^ {2: } |
+ :aaaaaaaa ^ {4: } |
|
]])
- eq({6, 12}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 12 }, eval('nvim_win_get_cursor(0)'))
end)
end)
@@ -564,10 +478,31 @@ describe('buffer cursor position is correct in terminal with number column', fun
local screen
local function setup_ex_register(str)
- screen = thelpers.screen_setup(0, '["'..nvim_prog
- ..[[", "-u", "NONE", "-i", "NONE", "-E", "--cmd", "let @r = ']]..str..[['", ]]
+ screen = thelpers.setup_child_nvim({
+ '-u',
+ 'NONE',
+ '-i',
+ 'NONE',
+ '-E',
+ '--cmd',
+ string.format('let @r = "%s"', str),
-- <Left> and <Right> don't always work
- ..[["--cmd", "cnoremap <C-X> <Left>", "--cmd", "cnoremap <C-O> <Right>"]]..']', 70)
+ '--cmd',
+ 'cnoremap <C-X> <Left>',
+ '--cmd',
+ 'cnoremap <C-O> <Right>',
+ '--cmd',
+ 'set notermguicolors',
+ }, {
+ cols = 70,
+ })
+ screen:set_default_attr_ids({
+ [1] = { foreground = 253, background = 11 },
+ [2] = { reverse = true },
+ [3] = { bold = true },
+ [4] = { background = 11 },
+ [7] = { foreground = 130 },
+ })
-- Also check for real cursor position, as it is used for stuff like input methods
screen._handle_busy_start = function() end
screen._handle_busy_stop = function() end
@@ -577,7 +512,7 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:{1:^ } |
+ {7: 6 }:{2:^ } |
{3:-- TERMINAL --} |
]])
end
@@ -600,10 +535,10 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:aaaaaaaa{1:^ } |
+ {7: 6 }:aaaaaaaa{2:^ } |
{3:-- TERMINAL --} |
]])
- eq({6, 9}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 9 }, eval('nvim_win_get_cursor(0)'))
feed([[<C-\><C-N>]])
screen:expect([[
{7: 1 } |
@@ -611,10 +546,10 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:aaaaaaa^a{2: } |
+ {7: 6 }:aaaaaaa^a{4: } |
|
]])
- eq({6, 8}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 8 }, eval('nvim_win_get_cursor(0)'))
end)
it('near the end', function()
@@ -625,10 +560,10 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:aaaaaa{1:^a}a |
+ {7: 6 }:aaaaaa{2:^a}a |
{3:-- TERMINAL --} |
]])
- eq({6, 7}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 7 }, eval('nvim_win_get_cursor(0)'))
feed([[<C-\><C-N>]])
screen:expect([[
{7: 1 } |
@@ -636,10 +571,10 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:aaaaa^a{2:a}a |
+ {7: 6 }:aaaaa^a{4:a}a |
|
]])
- eq({6, 6}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 6 }, eval('nvim_win_get_cursor(0)'))
end)
it('near the start', function()
@@ -650,10 +585,10 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:a{1:^a}aaaaaa |
+ {7: 6 }:a{2:^a}aaaaaa |
{3:-- TERMINAL --} |
]])
- eq({6, 2}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 2 }, eval('nvim_win_get_cursor(0)'))
feed([[<C-\><C-N>]])
screen:expect([[
{7: 1 } |
@@ -661,10 +596,10 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:^a{2:a}aaaaaa |
+ {7: 6 }:^a{4:a}aaaaaa |
|
]])
- eq({6, 1}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 1 }, eval('nvim_win_get_cursor(0)'))
end)
end)
@@ -681,10 +616,10 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:µµµµµµµµ{1:^ } |
+ {7: 6 }:µµµµµµµµ{2:^ } |
{3:-- TERMINAL --} |
]])
- eq({6, 17}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 17 }, eval('nvim_win_get_cursor(0)'))
feed([[<C-\><C-N>]])
screen:expect([[
{7: 1 } |
@@ -692,10 +627,10 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:µµµµµµµ^µ{2: } |
+ {7: 6 }:µµµµµµµ^µ{4: } |
|
]])
- eq({6, 15}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 15 }, eval('nvim_win_get_cursor(0)'))
end)
it('near the end', function()
@@ -706,10 +641,10 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:µµµµµµ{1:^µ}µ |
+ {7: 6 }:µµµµµµ{2:^µ}µ |
{3:-- TERMINAL --} |
]])
- eq({6, 13}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 13 }, eval('nvim_win_get_cursor(0)'))
feed([[<C-\><C-N>]])
screen:expect([[
{7: 1 } |
@@ -717,10 +652,10 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:µµµµµ^µ{2:µ}µ |
+ {7: 6 }:µµµµµ^µ{4:µ}µ |
|
]])
- eq({6, 11}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 11 }, eval('nvim_win_get_cursor(0)'))
end)
it('near the start', function()
@@ -731,10 +666,10 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:µ{1:^µ}µµµµµµ |
+ {7: 6 }:µ{2:^µ}µµµµµµ |
{3:-- TERMINAL --} |
]])
- eq({6, 3}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 3 }, eval('nvim_win_get_cursor(0)'))
feed([[<C-\><C-N>]])
screen:expect([[
{7: 1 } |
@@ -742,98 +677,105 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:^µ{2:µ}µµµµµµ |
+ {7: 6 }:^µ{4:µ}µµµµµµ |
|
]])
- eq({6, 1}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 1 }, eval('nvim_win_get_cursor(0)'))
end)
end)
- describe('in a line with single-cell composed multibyte characters and no trailing spaces,', function()
- if skip(is_os('win'), "Encoding problem?") then return end
+ describe(
+ 'in a line with single-cell composed multibyte characters and no trailing spaces,',
+ function()
+ if skip(is_os('win'), 'Encoding problem?') then
+ return
+ end
- before_each(function()
- setup_ex_register('µ̳µ̳µ̳µ̳µ̳µ̳µ̳µ̳')
- end)
+ before_each(function()
+ setup_ex_register('µ̳µ̳µ̳µ̳µ̳µ̳µ̳µ̳')
+ end)
- it('at the end', function()
- feed('<C-R>r')
- screen:expect([[
+ it('at the end', function()
+ feed('<C-R>r')
+ screen:expect([[
{7: 1 } |
{7: 2 } |
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:µ̳µ̳µ̳µ̳µ̳µ̳µ̳µ̳{1:^ } |
+ {7: 6 }:µ̳µ̳µ̳µ̳µ̳µ̳µ̳µ̳{2:^ } |
{3:-- TERMINAL --} |
]])
- eq({6, 33}, eval('nvim_win_get_cursor(0)'))
- feed([[<C-\><C-N>]])
- screen:expect([[
+ eq({ 6, 33 }, eval('nvim_win_get_cursor(0)'))
+ feed([[<C-\><C-N>]])
+ screen:expect([[
{7: 1 } |
{7: 2 } |
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:µ̳µ̳µ̳µ̳µ̳µ̳µ̳^µ̳{2: } |
+ {7: 6 }:µ̳µ̳µ̳µ̳µ̳µ̳µ̳^µ̳{4: } |
|
]])
- eq({6, 29}, eval('nvim_win_get_cursor(0)'))
- end)
+ eq({ 6, 29 }, eval('nvim_win_get_cursor(0)'))
+ end)
- it('near the end', function()
- feed('<C-R>r<C-X><C-X>')
- screen:expect([[
+ it('near the end', function()
+ feed('<C-R>r<C-X><C-X>')
+ screen:expect([[
{7: 1 } |
{7: 2 } |
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:µ̳µ̳µ̳µ̳µ̳µ̳{1:^µ̳}µ̳ |
+ {7: 6 }:µ̳µ̳µ̳µ̳µ̳µ̳{2:^µ̳}µ̳ |
{3:-- TERMINAL --} |
]])
- eq({6, 25}, eval('nvim_win_get_cursor(0)'))
- feed([[<C-\><C-N>]])
- screen:expect([[
+ eq({ 6, 25 }, eval('nvim_win_get_cursor(0)'))
+ feed([[<C-\><C-N>]])
+ screen:expect([[
{7: 1 } |
{7: 2 } |
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:µ̳µ̳µ̳µ̳µ̳^µ̳{2:µ̳}µ̳ |
+ {7: 6 }:µ̳µ̳µ̳µ̳µ̳^µ̳{4:µ̳}µ̳ |
|
]])
- eq({6, 21}, eval('nvim_win_get_cursor(0)'))
- end)
+ eq({ 6, 21 }, eval('nvim_win_get_cursor(0)'))
+ end)
- it('near the start', function()
- feed('<C-R>r<C-B><C-O>')
- screen:expect([[
+ it('near the start', function()
+ feed('<C-R>r<C-B><C-O>')
+ screen:expect([[
{7: 1 } |
{7: 2 } |
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:µ̳{1:^µ̳}µ̳µ̳µ̳µ̳µ̳µ̳ |
+ {7: 6 }:µ̳{2:^µ̳}µ̳µ̳µ̳µ̳µ̳µ̳ |
{3:-- TERMINAL --} |
]])
- eq({6, 5}, eval('nvim_win_get_cursor(0)'))
- feed([[<C-\><C-N>]])
- screen:expect([[
+ eq({ 6, 5 }, eval('nvim_win_get_cursor(0)'))
+ feed([[<C-\><C-N>]])
+ screen:expect([[
{7: 1 } |
{7: 2 } |
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:^µ̳{2:µ̳}µ̳µ̳µ̳µ̳µ̳µ̳ |
+ {7: 6 }:^µ̳{4:µ̳}µ̳µ̳µ̳µ̳µ̳µ̳ |
|
]])
- eq({6, 1}, eval('nvim_win_get_cursor(0)'))
- end)
- end)
+ eq({ 6, 1 }, eval('nvim_win_get_cursor(0)'))
+ end)
+ end
+ )
describe('in a line with double-cell multibyte characters and no trailing spaces,', function()
- if skip(is_os('win'), "Encoding problem?") then return end
+ if skip(is_os('win'), 'Encoding problem?') then
+ return
+ end
before_each(function()
setup_ex_register('哦哦哦哦哦哦哦哦')
@@ -847,10 +789,10 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:哦哦哦哦哦哦哦哦{1:^ } |
+ {7: 6 }:哦哦哦哦哦哦哦哦{2:^ } |
{3:-- TERMINAL --} |
]])
- eq({6, 25}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 25 }, eval('nvim_win_get_cursor(0)'))
feed([[<C-\><C-N>]])
screen:expect([[
{7: 1 } |
@@ -858,10 +800,10 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:哦哦哦哦哦哦哦^哦{2: } |
+ {7: 6 }:哦哦哦哦哦哦哦^哦{4: } |
|
]])
- eq({6, 22}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 22 }, eval('nvim_win_get_cursor(0)'))
end)
it('near the end', function()
@@ -872,10 +814,10 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:哦哦哦哦哦哦{1:^哦}哦 |
+ {7: 6 }:哦哦哦哦哦哦{2:^哦}哦 |
{3:-- TERMINAL --} |
]])
- eq({6, 19}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 19 }, eval('nvim_win_get_cursor(0)'))
feed([[<C-\><C-N>]])
screen:expect([[
{7: 1 } |
@@ -883,10 +825,10 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:哦哦哦哦哦^哦{2:哦}哦 |
+ {7: 6 }:哦哦哦哦哦^哦{4:哦}哦 |
|
]])
- eq({6, 16}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 16 }, eval('nvim_win_get_cursor(0)'))
end)
it('near the start', function()
@@ -897,10 +839,10 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:哦{1:^哦}哦哦哦哦哦哦 |
+ {7: 6 }:哦{2:^哦}哦哦哦哦哦哦 |
{3:-- TERMINAL --} |
]])
- eq({6, 4}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 4 }, eval('nvim_win_get_cursor(0)'))
feed([[<C-\><C-N>]])
screen:expect([[
{7: 1 } |
@@ -908,10 +850,10 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:^哦{2:哦}哦哦哦哦哦哦 |
+ {7: 6 }:^哦{4:哦}哦哦哦哦哦哦 |
|
]])
- eq({6, 1}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 1 }, eval('nvim_win_get_cursor(0)'))
end)
end)
@@ -924,11 +866,11 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:aaaaaaaa {1:^ } |
+ {7: 6 }:aaaaaaaa {2:^ } |
{3:-- TERMINAL --} |
]])
matches('^:aaaaaaaa [ ]*$', eval('nvim_get_current_line()'))
- eq({6, 13}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 13 }, eval('nvim_win_get_cursor(0)'))
feed([[<C-\><C-N>]])
screen:expect([[
{7: 1 } |
@@ -936,9 +878,9 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:aaaaaaaa ^ {2: } |
+ {7: 6 }:aaaaaaaa ^ {4: } |
|
]])
- eq({6, 12}, eval('nvim_win_get_cursor(0)'))
+ eq({ 6, 12 }, eval('nvim_win_get_cursor(0)'))
end)
end)