aboutsummaryrefslogtreecommitdiff
path: root/test/functional/ui/spell_spec.lua
diff options
context:
space:
mode:
authorLuuk van Baal <luukvbaal@gmail.com>2023-05-24 19:50:01 +0200
committerLuuk van Baal <luukvbaal@gmail.com>2023-05-25 01:13:47 +0200
commitbff67c9fbe8c174dae8952a565a110930dc4fc58 (patch)
tree81fc21ff55ea16ab5ca4dbb2b7c0a1124472a2b1 /test/functional/ui/spell_spec.lua
parent678548a2b44601db73cc7d049467abd2b433baae (diff)
downloadrneovim-bff67c9fbe8c174dae8952a565a110930dc4fc58.tar.gz
rneovim-bff67c9fbe8c174dae8952a565a110930dc4fc58.tar.bz2
rneovim-bff67c9fbe8c174dae8952a565a110930dc4fc58.zip
vim-patch:9.0.0175: spell checking for capital not working with trailing space
Problem: Spell checking for capital not working with trailing space. Solution: Do not calculate cap_col at the end of the line. (Christian Brabandt, closes vim/vim#10870, issue vim/vim#10838) https://github.com/vim/vim/commit/afa23d1b99692e3c726eb694933ab348b442a1e4 Co-authored-by: Christian Brabandt <cb@256bit.org>
Diffstat (limited to 'test/functional/ui/spell_spec.lua')
-rw-r--r--test/functional/ui/spell_spec.lua83
1 files changed, 55 insertions, 28 deletions
diff --git a/test/functional/ui/spell_spec.lua b/test/functional/ui/spell_spec.lua
index 0f553d4a9b..c5c4ec3b99 100644
--- a/test/functional/ui/spell_spec.lua
+++ b/test/functional/ui/spell_spec.lua
@@ -3,9 +3,9 @@
local helpers = require('test.functional.helpers')(after_each)
local Screen = require('test.functional.ui.screen')
local clear = helpers.clear
+local exec = helpers.exec
local feed = helpers.feed
local insert = helpers.insert
-local command = helpers.command
local meths = helpers.meths
local curbufmeths = helpers.curbufmeths
local is_os = helpers.is_os
@@ -32,7 +32,7 @@ describe("'spell'", function()
it('joins long lines #7937', function()
if is_os('openbsd') then pending('FIXME #12104', function() end) return end
- command('set spell')
+ exec('set spell')
insert([[
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
@@ -57,31 +57,58 @@ describe("'spell'", function()
-- oldtest: Test_spell_screendump()
it('has correct highlight at start of line', function()
- insert([[
- "This is some text without any spell errors. Everything",
- "should just be black, nothing wrong here.",
- "",
- "This line has a sepll error. and missing caps.",
- "And and this is the the duplication.",
- "with missing caps here.",
+ exec([=[
+ call setline(1, [
+ \"This is some text without any spell errors. Everything",
+ \"should just be black, nothing wrong here.",
+ \"",
+ \"This line has a sepll error. and missing caps.",
+ \"And and this is the the duplication.",
+ \"with missing caps here.",
+ \])
+ set spell spelllang=en_nz
+ ]=])
+ screen:expect([[
+ ^This is some text without any spell errors. Everything |
+ should just be black, nothing wrong here. |
+ |
+ This line has a {1:sepll} error. {2:and} missing caps. |
+ {1:And and} this is {1:the the} duplication. |
+ {2:with} missing caps here. |
+ {0:~ }|
+ |
]])
- command('set spell spelllang=en_nz')
+ end)
+
+ -- oldtest: Test_spell_screendump_spellcap()
+ it('has correct highlight at start of line with trailing space', function()
+ exec([=[
+ call setline(1, [
+ \" This line has a sepll error. and missing caps and trailing spaces. ",
+ \"another missing cap here.",
+ \"",
+ \"and here.",
+ \" ",
+ \"and here."
+ \])
+ set spell spelllang=en
+ ]=])
screen:expect([[
- "This is some text without any spell errors. Everything", |
- "should just be black, nothing wrong here.", |
- "", |
- "This line has a {1:sepll} error. {2:and} missing caps.", |
- "{1:And and} this is {1:the the} duplication.", |
- "with missing caps here.", |
- ^ |
- |
+ ^ This line has a {1:sepll} error. {2:and} missing caps and trailing spaces. |
+ {2:another} missing cap here. |
+ |
+ {2:and} here. |
+ |
+ {2:and} here. |
+ {0:~ }|
+ |
]])
end)
it('extmarks, "noplainbuffer" and syntax #20385 #23398', function()
- command('set filetype=c')
- command('syntax on')
- command('set spell')
+ exec('set filetype=c')
+ exec('syntax on')
+ exec('set spell')
insert([[
#include <stdbool.h>
bool func(void);
@@ -119,7 +146,7 @@ describe("'spell'", function()
{0:~ }|
{6:search hit BOTTOM, continuing at TOP} |
]])
- command('echo ""')
+ exec('echo ""')
local ns = meths.create_namespace("spell")
-- extmark with spell=true enables spell
local id = curbufmeths.set_extmark(ns, 1, 4, { end_row = 1, end_col = 10, spell = true })
@@ -168,7 +195,7 @@ describe("'spell'", function()
{0:~ }|
{6:search hit TOP, continuing at BOTTOM} |
]])
- command('echo ""')
+ exec('echo ""')
curbufmeths.del_extmark(ns, id)
screen:expect([[
{3:#include }{4:<stdbool.h>} |
@@ -192,7 +219,7 @@ describe("'spell'", function()
|
]])
-- "noplainbuffer" shouldn't change spellchecking behavior with syntax enabled
- command('set spelloptions+=noplainbuffer')
+ exec('set spelloptions+=noplainbuffer')
screen:expect_unchanged()
feed('[s')
screen:expect([[
@@ -206,7 +233,7 @@ describe("'spell'", function()
|
]])
-- no spellchecking with "noplainbuffer" and syntax disabled
- command('syntax off')
+ exec('syntax off')
screen:expect([[
#include <stdbool.h> |
bool func(void); |
@@ -228,9 +255,9 @@ describe("'spell'", function()
{0:~ }|
{6:search hit BOTTOM, continuing at TOP} |
]])
- command('echo ""')
+ exec('echo ""')
-- everything is spellchecked without "noplainbuffer" with syntax disabled
- command('set spelloptions&')
+ exec('set spelloptions&')
screen:expect([[
#include <{1:stdbool}.h> |
{1:bool} {1:func}(void); |
@@ -256,7 +283,7 @@ describe("'spell'", function()
it('and syntax does not clear extmark highlighting at the start of a word', function()
screen:try_resize(43, 3)
- command([[
+ exec([[
set spell
syntax match Constant "^.*$"
call setline(1, "This is some text without any spell errors.")