summaryrefslogtreecommitdiff
path: root/src/testdir/test_spell.vim
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-06-10 15:32:08 +0200
committerBram Moolenaar <Bram@vim.org>2020-06-10 15:32:08 +0200
commit152e79e94bb935e75b866bd55479648cde11066a (patch)
tree013f7b9ea813add2da55944bdbdb8dc83e9469f6 /src/testdir/test_spell.vim
parent253ea9fa42278faa064f2590a5c0de46dc903a17 (diff)
downloadvim-git-152e79e94bb935e75b866bd55479648cde11066a.tar.gz
patch 8.2.0945: cannot use "z=" when 'spell' is offv8.2.0945
Problem: Cannot use "z=" when 'spell' is off. Solution: Make "z=" work even when 'spell' is off. (Christian Brabandt, Gary Johnson, closes #6227)
Diffstat (limited to 'src/testdir/test_spell.vim')
-rw-r--r--src/testdir/test_spell.vim45
1 files changed, 40 insertions, 5 deletions
diff --git a/src/testdir/test_spell.vim b/src/testdir/test_spell.vim
index 4e376b810..7cc209bc8 100644
--- a/src/testdir/test_spell.vim
+++ b/src/testdir/test_spell.vim
@@ -99,11 +99,14 @@ foobar/?
set spelllang=Xwords.spl
call assert_equal(['foobar', 'rare'], spellbadword('foo foobar'))
- " Typo should not be detected without the 'spell' option.
+ " Typo should be detected even without the 'spell' option.
set spelllang=en_gb nospell
call assert_equal(['', ''], spellbadword('centre'))
- call assert_equal(['', ''], spellbadword('My bycycle.'))
- call assert_equal(['', ''], spellbadword('A sentence. another sentence'))
+ call assert_equal(['bycycle', 'bad'], spellbadword('My bycycle.'))
+ call assert_equal(['another', 'caps'], spellbadword('A sentence. another sentence'))
+
+ set spelllang=
+ call assert_fails("call spellbadword('maxch')", 'E756:')
call delete('Xwords.spl')
call delete('Xwords')
@@ -130,9 +133,9 @@ endfunc
" Test spellsuggest({word} [, {max} [, {capital}]])
func Test_spellsuggest()
- " No suggestions when spell checking is not enabled.
+ " Verify suggestions are given even when spell checking is not enabled.
set nospell
- call assert_equal([], spellsuggest('marrch'))
+ call assert_equal(['march', 'March'], spellsuggest('marrch', 2))
set spell
@@ -163,6 +166,10 @@ func Test_spellsuggest()
call assert_fails("call spellsuggest('maxch', [])", 'E745:')
call assert_fails("call spellsuggest('maxch', 2, [])", 'E745:')
+ set spelllang=
+ call assert_fails("call spellsuggest('maxch')", 'E756:')
+ set spelllang&
+
set spell&
endfunc
@@ -617,6 +624,34 @@ func Test_zeq_crash()
bwipe!
endfunc
+" Check that z= works even when 'nospell' is set. This test uses one of the
+" tests in Test_spellsuggest_option_number() just to verify that z= basically
+" works and that "E756: Spell checking is not enabled" is not generated.
+func Test_zeq_nospell()
+ new
+ set nospell spellsuggest=1,best
+ call setline(1, 'A baord')
+ try
+ norm $1z=
+ call assert_equal('A board', getline(1))
+ catch
+ call assert_report("Caught exception: " . v:exception)
+ endtry
+ set spell& spellsuggest&
+ bwipe!
+endfunc
+
+" Check that "E756: Spell checking is not possible" is reported when z= is
+" executed and 'spelllang' is empty.
+func Test_zeq_no_spelllang()
+ new
+ set spelllang= spellsuggest=1,best
+ call setline(1, 'A baord')
+ call assert_fails('normal $1z=', 'E756:')
+ set spelllang& spellsuggest&
+ bwipe!
+endfunc
+
" Check handling a word longer than MAXWLEN.
func Test_spell_long_word()
set enc=utf-8