diff options
Diffstat (limited to 'test/functional/editor/mode_normal_spec.lua')
| -rw-r--r-- | test/functional/editor/mode_normal_spec.lua | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/test/functional/editor/mode_normal_spec.lua b/test/functional/editor/mode_normal_spec.lua index b3ef4866dc..5237f51237 100644 --- a/test/functional/editor/mode_normal_spec.lua +++ b/test/functional/editor/mode_normal_spec.lua @@ -9,6 +9,7 @@ local feed = n.feed local fn = n.fn local command = n.command local eq = t.eq +local api = n.api describe('Normal mode', function() before_each(clear) @@ -25,7 +26,6 @@ describe('Normal mode', function() it('&showcmd does not crash with :startinsert #28419', function() local screen = Screen.new(60, 17) - screen:attach() fn.termopen( { n.nvim_prog, '--clean', '--cmd', 'startinsert' }, { env = { VIMRUNTIME = os.getenv('VIMRUNTIME') } } @@ -41,4 +41,22 @@ describe('Normal mode', function() attr_ids = {}, }) end) + + it('replacing with ZWJ emoji sequences', function() + local screen = Screen.new(30, 8) + api.nvim_buf_set_lines(0, 0, -1, true, { 'abcdefg' }) + feed('05rπ§βπΎ') -- ZWJ + screen:expect([[ + π§βπΎπ§βπΎπ§βπΎπ§βπΎ^π§βπΎfg | + {1:~ }|*6 + | + ]]) + + feed('2rπ³οΈββ§οΈ') -- ZWJ and variant selectors + screen:expect([[ + π§βπΎπ§βπΎπ§βπΎπ§βπΎπ³οΈββ§οΈ^π³οΈββ§οΈg | + {1:~ }|*6 + | + ]]) + end) end) |