diff options
author | Björn Linse <bjorn.linse@gmail.com> | 2017-04-18 13:42:04 +0200 |
---|---|---|
committer | Björn Linse <bjorn.linse@gmail.com> | 2017-04-21 12:32:38 +0200 |
commit | 7ea5c78687168c07bfc4582c84145e86a5252f94 (patch) | |
tree | 0479e2b07e32d4e3f4df6002a8ab643685fd5fb8 /test/functional/ui/cursor_spec.lua | |
parent | 2c5751b9b2b22b8519aeda82088fe4525f2bd713 (diff) | |
download | rneovim-7ea5c78687168c07bfc4582c84145e86a5252f94.tar.gz rneovim-7ea5c78687168c07bfc4582c84145e86a5252f94.tar.bz2 rneovim-7ea5c78687168c07bfc4582c84145e86a5252f94.zip |
ui: use an array for mode styles
Diffstat (limited to 'test/functional/ui/cursor_spec.lua')
-rw-r--r-- | test/functional/ui/cursor_spec.lua | 186 |
1 files changed, 95 insertions, 91 deletions
diff --git a/test/functional/ui/cursor_spec.lua b/test/functional/ui/cursor_spec.lua index e4c1b17ef3..abe0e0b1fd 100644 --- a/test/functional/ui/cursor_spec.lua +++ b/test/functional/ui/cursor_spec.lua @@ -18,155 +18,155 @@ describe('ui/cursor', function() end) it("'guicursor' is published as a UI event", function() - local expected_cursor_style = { - cmdline_hover = { - mode_idx = 9, - mouse_shape = 0, - short_name = 'e' }, - cmdline_insert = { - mode_idx = 5, + local expected_mode_info = { + [1] = { blinkoff = 250, blinkon = 400, blinkwait = 700, - cell_percentage = 25, - cursor_shape = 'vertical', + cell_percentage = 0, + cursor_shape = 'block', + name = 'normal', hl_id = 46, id_lm = 47, mouse_shape = 0, - short_name = 'ci' }, - cmdline_normal = { - mode_idx = 4, + short_name = 'n' }, + [2] = { blinkoff = 250, blinkon = 400, blinkwait = 700, cell_percentage = 0, cursor_shape = 'block', + name = 'visual', hl_id = 46, id_lm = 47, mouse_shape = 0, - short_name = 'c' }, - cmdline_replace = { - mode_idx = 6, + short_name = 'v' }, + [3] = { blinkoff = 250, blinkon = 400, blinkwait = 700, - cell_percentage = 20, - cursor_shape = 'horizontal', + cell_percentage = 25, + cursor_shape = 'vertical', + name = 'insert', hl_id = 46, id_lm = 47, mouse_shape = 0, - short_name = 'cr' }, - insert = { - mode_idx = 2, + short_name = 'i' }, + [4] = { blinkoff = 250, blinkon = 400, blinkwait = 700, - cell_percentage = 25, - cursor_shape = 'vertical', + cell_percentage = 20, + cursor_shape = 'horizontal', + name = 'replace', hl_id = 46, id_lm = 47, mouse_shape = 0, - short_name = 'i' }, - more = { - mode_idx = 14, - mouse_shape = 0, - short_name = 'm' }, - more_lastline = { - mode_idx = 15, - mouse_shape = 0, - short_name = 'ml' }, - normal = { - mode_idx = 0, + short_name = 'r' }, + [5] = { blinkoff = 250, blinkon = 400, blinkwait = 700, cell_percentage = 0, cursor_shape = 'block', + name = 'cmdline_normal', hl_id = 46, id_lm = 47, mouse_shape = 0, - short_name = 'n' }, - operator = { - mode_idx = 7, + short_name = 'c' }, + [6] = { blinkoff = 250, blinkon = 400, blinkwait = 700, - cell_percentage = 50, - cursor_shape = 'horizontal', + cell_percentage = 25, + cursor_shape = 'vertical', + name = 'cmdline_insert', hl_id = 46, - id_lm = 46, + id_lm = 47, mouse_shape = 0, - short_name = 'o' }, - replace = { - mode_idx = 3, + short_name = 'ci' }, + [7] = { blinkoff = 250, blinkon = 400, blinkwait = 700, cell_percentage = 20, cursor_shape = 'horizontal', + name = 'cmdline_replace', hl_id = 46, id_lm = 47, mouse_shape = 0, - short_name = 'r' }, - showmatch = { - mode_idx = 16, - blinkoff = 150, - blinkon = 175, - blinkwait = 175, - cell_percentage = 0, - cursor_shape = 'block', - hl_id = 46, - id_lm = 46, - short_name = 'sm' }, - statusline_drag = { - mode_idx = 11, - mouse_shape = 0, - short_name = 'sd' }, - statusline_hover = { - mode_idx = 10, - mouse_shape = 0, - short_name = 's' }, - visual = { - mode_idx = 1, + short_name = 'cr' }, + [8] = { blinkoff = 250, blinkon = 400, blinkwait = 700, - cell_percentage = 0, - cursor_shape = 'block', + cell_percentage = 50, + cursor_shape = 'horizontal', + name = 'operator', hl_id = 46, - id_lm = 47, + id_lm = 46, mouse_shape = 0, - short_name = 'v' }, - visual_select = { - mode_idx = 8, + short_name = 'o' }, + [9] = { blinkoff = 250, blinkon = 400, blinkwait = 700, cell_percentage = 35, cursor_shape = 'vertical', + name = 'visual_select', hl_id = 46, id_lm = 46, mouse_shape = 0, short_name = 've' }, - vsep_drag = { - mode_idx = 13, + [10] = { + name = 'cmdline_hover', + mouse_shape = 0, + short_name = 'e' }, + [11] = { + name = 'statusline_hover', + mouse_shape = 0, + short_name = 's' }, + [12] = { + name = 'statusline_drag', + mouse_shape = 0, + short_name = 'sd' }, + [13] = { + name = 'vsep_hover', + mouse_shape = 0, + short_name = 'vs' }, + [14] = { + name = 'vsep_drag', mouse_shape = 0, short_name = 'vd' }, - vsep_hover = { - mode_idx = 12, + [15] = { + name = 'more', mouse_shape = 0, - short_name = 'vs' } - } + short_name = 'm' }, + [16] = { + name = 'more_lastline', + mouse_shape = 0, + short_name = 'ml' }, + [17] = { + blinkoff = 150, + blinkon = 175, + blinkwait = 175, + cell_percentage = 0, + cursor_shape = 'block', + name = 'showmatch', + hl_id = 46, + id_lm = 46, + short_name = 'sm' }, + } screen:expect(function() -- Default 'guicursor' published on startup. - eq(expected_cursor_style, screen._cursor_style) + eq(expected_mode_info, screen._mode_info) eq(true, screen._cursor_style_enabled) eq('normal', screen.mode) end) -- Event is published ONLY if the cursor style changed. - screen._cursor_style = nil + screen._mode_info = nil command("echo 'test'") screen:expect([[ ^ | @@ -175,20 +175,24 @@ describe('ui/cursor', function() ~ | test | ]], nil, nil, function() - eq(nil, screen._cursor_style) + eq(nil, screen._mode_info) end) -- Change the cursor style. meths.set_option('guicursor', 'n-v-c:ver35-blinkwait171-blinkoff172-blinkon173,ve:hor35,o:ver50,i-ci:block,r-cr:hor90,sm:ver42') screen:expect(function() - eq('vertical', screen._cursor_style.normal.cursor_shape) - eq('horizontal', screen._cursor_style.visual_select.cursor_shape) - eq('vertical', screen._cursor_style.operator.cursor_shape) - eq('block', screen._cursor_style.insert.cursor_shape) - eq('vertical', screen._cursor_style.showmatch.cursor_shape) - eq(171, screen._cursor_style.normal.blinkwait) - eq(172, screen._cursor_style.normal.blinkoff) - eq(173, screen._cursor_style.normal.blinkon) + local named = {} + for _, m in ipairs(screen._mode_info) do + named[m.name] = m + end + eq('vertical', named.normal.cursor_shape) + eq('horizontal', named.visual_select.cursor_shape) + eq('vertical', named.operator.cursor_shape) + eq('block', named.insert.cursor_shape) + eq('vertical', named.showmatch.cursor_shape) + eq(171, named.normal.blinkwait) + eq(172, named.normal.blinkoff) + eq(173, named.normal.blinkon) end) end) @@ -197,11 +201,11 @@ describe('ui/cursor', function() screen:expect(function() -- Empty 'guicursor' sets enabled=false. eq(false, screen._cursor_style_enabled) - for _, m in ipairs({ 'cmdline_insert', 'cmdline_normal', 'cmdline_replace', 'insert', - 'showmatch', 'normal', 'replace', 'visual', - 'visual_select', }) do - eq('block', screen._cursor_style[m].cursor_shape) - eq(0, screen._cursor_style[m].blinkon) + for _, m in ipairs(screen._mode_info) do + if m['cursor_shape'] ~= nil then + eq('block', m.cursor_shape) + eq(0, m.blinkon) + end end end) end) |