diff options
author | bfredl <bjorn.linse@gmail.com> | 2024-08-30 12:58:48 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-30 12:58:48 +0200 |
commit | 5f95f1249f464e4f0ceed468ec5a1ba6e810da14 (patch) | |
tree | 6113193fda7a7c0f94577a464e39964e74311583 /test/functional/api/vim_spec.lua | |
parent | 4353996d0fa8e5872a334d68196d8088391960cf (diff) | |
parent | cfdf68a7acde16597fbd896674af68c42361102c (diff) | |
download | rneovim-5f95f1249f464e4f0ceed468ec5a1ba6e810da14.tar.gz rneovim-5f95f1249f464e4f0ceed468ec5a1ba6e810da14.tar.bz2 rneovim-5f95f1249f464e4f0ceed468ec5a1ba6e810da14.zip |
Merge pull request #30014 from bfredl/neoemoji
support emojis with ZWJ and variant selectors
Diffstat (limited to 'test/functional/api/vim_spec.lua')
-rw-r--r-- | test/functional/api/vim_spec.lua | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/test/functional/api/vim_spec.lua b/test/functional/api/vim_spec.lua index 4210b7ecf0..074d3ac0a3 100644 --- a/test/functional/api/vim_spec.lua +++ b/test/functional/api/vim_spec.lua @@ -1435,6 +1435,28 @@ describe('API', function() it('cannot handle NULs', function() eq(0, api.nvim_strwidth('\0abc')) end) + + it('can handle emoji with variant selectors and ZWJ', function() + local selector = '❤️' + eq(2, fn.strchars(selector)) + eq(1, fn.strcharlen(selector)) + eq(2, api.nvim_strwidth(selector)) + + local no_selector = '❤' + eq(1, fn.strchars(no_selector)) + eq(1, fn.strcharlen(no_selector)) + eq(1, api.nvim_strwidth(no_selector)) + + local selector_zwj_selector = '🏳️⚧️' + eq(5, fn.strchars(selector_zwj_selector)) + eq(1, fn.strcharlen(selector_zwj_selector)) + eq(2, api.nvim_strwidth(selector_zwj_selector)) + + local emoji_zwj_emoji = '🧑🌾' + eq(3, fn.strchars(emoji_zwj_emoji)) + eq(1, fn.strcharlen(emoji_zwj_emoji)) + eq(2, api.nvim_strwidth(emoji_zwj_emoji)) + end) end) describe('nvim_get_current_line, nvim_set_current_line', function() |