annotate src/testdir/test_spellfile.vim @ 35167:6dddafdbe6f9 default tip

Added tag v9.1.0409 for changeset 0b259135fb3a4ce87fc1ff0673ae9b61cb7ed555
author Christian Brabandt <cb@256bit.org>
date Sun, 12 May 2024 00:15:05 +0200
parents ae10b91ac6b3
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
17682
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1 " Test for commands that operate on the spellfile.
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
2
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
3 source shared.vim
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
4 source check.vim
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
5
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
6 CheckFeature spell
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
7 CheckFeature syntax
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
8
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
9 func Test_spell_normal()
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
10 new
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
11 call append(0, ['1 good', '2 goood', '3 goood'])
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
12 set spell spellfile=./Xspellfile.add spelllang=en
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
13 let oldlang=v:lang
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
14 lang C
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
15
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
16 " Test for zg
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
17 1
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
18 norm! ]s
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
19 call assert_equal('2 goood', getline('.'))
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
20 norm! zg
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
21 1
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
22 let a=execute('unsilent :norm! ]s')
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
23 call assert_equal('1 good', getline('.'))
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
24 call assert_equal('search hit BOTTOM, continuing at TOP', a[1:])
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
25 let cnt=readfile('./Xspellfile.add')
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
26 call assert_equal('goood', cnt[0])
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
27
22476
b3751f4d3b26 patch 8.2.1786: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22220
diff changeset
28 " zg should fail in operator-pending mode
b3751f4d3b26 patch 8.2.1786: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22220
diff changeset
29 call assert_beeps('norm! czg')
b3751f4d3b26 patch 8.2.1786: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22220
diff changeset
30
b3751f4d3b26 patch 8.2.1786: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22220
diff changeset
31 " zg fails in visual mode when not able to get the visual text
b3751f4d3b26 patch 8.2.1786: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22220
diff changeset
32 call assert_beeps('norm! ggVjzg')
b3751f4d3b26 patch 8.2.1786: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22220
diff changeset
33 norm! V
b3751f4d3b26 patch 8.2.1786: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22220
diff changeset
34
b3751f4d3b26 patch 8.2.1786: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22220
diff changeset
35 " zg fails for a non-identifier word
b3751f4d3b26 patch 8.2.1786: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22220
diff changeset
36 call append(line('$'), '###')
b3751f4d3b26 patch 8.2.1786: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22220
diff changeset
37 call assert_fails('norm! Gzg', 'E349:')
b3751f4d3b26 patch 8.2.1786: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22220
diff changeset
38 $d
b3751f4d3b26 patch 8.2.1786: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22220
diff changeset
39
17682
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
40 " Test for zw
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
41 2
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
42 norm! $zw
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
43 1
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
44 norm! ]s
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
45 call assert_equal('2 goood', getline('.'))
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
46 let cnt=readfile('./Xspellfile.add')
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
47 call assert_equal('#oood', cnt[0])
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
48 call assert_equal('goood/!', cnt[1])
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
49
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
50 " Test for :spellrare
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
51 spellrare rare
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
52 let cnt=readfile('./Xspellfile.add')
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
53 call assert_equal(['#oood', 'goood/!', 'rare/?'], cnt)
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
54
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
55 " Make sure :spellundo works for rare words.
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
56 spellundo rare
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
57 let cnt=readfile('./Xspellfile.add')
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
58 call assert_equal(['#oood', 'goood/!', '#are/?'], cnt)
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
59
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
60 " Test for zg in visual mode
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
61 let a=execute('unsilent :norm! V$zg')
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
62 call assert_equal("Word '2 goood' added to ./Xspellfile.add", a[1:])
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
63 1
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
64 norm! ]s
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
65 call assert_equal('3 goood', getline('.'))
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
66 let cnt=readfile('./Xspellfile.add')
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
67 call assert_equal('2 goood', cnt[3])
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
68 " Remove "2 good" from spellfile
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
69 2
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
70 let a=execute('unsilent norm! V$zw')
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
71 call assert_equal("Word '2 goood' added to ./Xspellfile.add", a[1:])
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
72 let cnt=readfile('./Xspellfile.add')
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
73 call assert_equal('2 goood/!', cnt[4])
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
74
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
75 " Test for zG
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
76 let a=execute('unsilent norm! V$zG')
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
77 call assert_match("Word '2 goood' added to .*", a)
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
78 let fname=matchstr(a, 'to\s\+\zs\f\+$')
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
79 let cnt=readfile(fname)
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
80 call assert_equal('2 goood', cnt[0])
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
81
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
82 " Test for zW
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
83 let a=execute('unsilent norm! V$zW')
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
84 call assert_match("Word '2 goood' added to .*", a)
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
85 let cnt=readfile(fname)
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
86 call assert_equal('# goood', cnt[0])
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
87 call assert_equal('2 goood/!', cnt[1])
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
88
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
89 " Test for zuW
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
90 let a=execute('unsilent norm! V$zuW')
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
91 call assert_match("Word '2 goood' removed from .*", a)
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
92 let cnt=readfile(fname)
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
93 call assert_equal('# goood', cnt[0])
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
94 call assert_equal('# goood/!', cnt[1])
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
95
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
96 " Test for zuG
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
97 let a=execute('unsilent norm! $zG')
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
98 call assert_match("Word 'goood' added to .*", a)
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
99 let cnt=readfile(fname)
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
100 call assert_equal('# goood', cnt[0])
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
101 call assert_equal('# goood/!', cnt[1])
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
102 call assert_equal('goood', cnt[2])
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
103 let a=execute('unsilent norm! $zuG')
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
104 let cnt=readfile(fname)
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
105 call assert_match("Word 'goood' removed from .*", a)
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
106 call assert_equal('# goood', cnt[0])
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
107 call assert_equal('# goood/!', cnt[1])
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
108 call assert_equal('#oood', cnt[2])
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
109 " word not found in wordlist
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
110 let a=execute('unsilent norm! V$zuG')
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
111 let cnt=readfile(fname)
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
112 call assert_match("", a)
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
113 call assert_equal('# goood', cnt[0])
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
114 call assert_equal('# goood/!', cnt[1])
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
115 call assert_equal('#oood', cnt[2])
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
116
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
117 " Test for zug
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
118 call delete('./Xspellfile.add')
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
119 2
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
120 let a=execute('unsilent norm! $zg')
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
121 let cnt=readfile('./Xspellfile.add')
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
122 call assert_equal('goood', cnt[0])
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
123 let a=execute('unsilent norm! $zug')
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
124 call assert_match("Word 'goood' removed from \./Xspellfile.add", a)
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
125 let cnt=readfile('./Xspellfile.add')
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
126 call assert_equal('#oood', cnt[0])
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
127 " word not in wordlist
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
128 let a=execute('unsilent norm! V$zug')
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
129 call assert_match('', a)
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
130 let cnt=readfile('./Xspellfile.add')
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
131 call assert_equal('#oood', cnt[0])
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
132
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
133 " Test for zuw
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
134 call delete('./Xspellfile.add')
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
135 2
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
136 let a=execute('unsilent norm! Vzw')
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
137 let cnt=readfile('./Xspellfile.add')
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
138 call assert_equal('2 goood/!', cnt[0])
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
139 let a=execute('unsilent norm! Vzuw')
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
140 call assert_match("Word '2 goood' removed from \./Xspellfile.add", a)
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
141 let cnt=readfile('./Xspellfile.add')
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
142 call assert_equal('# goood/!', cnt[0])
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
143 " word not in wordlist
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
144 let a=execute('unsilent norm! $zug')
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
145 call assert_match('', a)
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
146 let cnt=readfile('./Xspellfile.add')
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
147 call assert_equal('# goood/!', cnt[0])
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
148
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
149 " add second entry to spellfile setting
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
150 set spellfile=./Xspellfile.add,./Xspellfile2.add
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
151 call delete('./Xspellfile.add')
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
152 2
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
153 let a=execute('unsilent norm! $2zg')
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
154 let cnt=readfile('./Xspellfile2.add')
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
155 call assert_match("Word 'goood' added to ./Xspellfile2.add", a)
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
156 call assert_equal('goood', cnt[0])
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
157
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
158 " Test for :spellgood!
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
159 let temp = execute(':spe!0/0')
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
160 call assert_match('Invalid region', temp)
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
161 let spellfile = matchstr(temp, 'Invalid region nr in \zs.*\ze line \d: 0')
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
162 call assert_equal(['# goood', '# goood/!', '#oood', '0/0'], readfile(spellfile))
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
163
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
164 " Test for :spellrare!
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
165 :spellrare! raare
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
166 call assert_equal(['# goood', '# goood/!', '#oood', '0/0', 'raare/?'], readfile(spellfile))
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
167 call delete(spellfile)
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
168
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
169 " clean up
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
170 exe "lang" oldlang
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
171 call delete("./Xspellfile.add")
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
172 call delete("./Xspellfile2.add")
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
173 call delete("./Xspellfile.add.spl")
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
174 call delete("./Xspellfile2.add.spl")
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
175
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
176 " zux -> no-op
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
177 2
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
178 norm! $zux
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
179 call assert_equal([], glob('Xspellfile.add',0,1))
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
180 call assert_equal([], glob('Xspellfile2.add',0,1))
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
181
21841
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
182 set spellfile= spell& spelllang&
17682
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
183 bw!
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
184 endfunc
21765
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 17682
diff changeset
185
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
186 " Spell file content test. Write 'content' to the spell file prefixed by the
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
187 " spell file header and then enable spell checking. If 'emsg' is not empty,
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
188 " then check for error.
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
189 func Spellfile_Test(content, emsg)
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
190 let splfile = './Xtest/spell/Xtest.utf-8.spl'
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
191 " Add the spell file header and version (VIMspell2)
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
192 let v = 0z56494D7370656C6C32 + a:content
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
193 call writefile(v, splfile, 'b')
22204
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
194
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
195 " 'encoding' is set before each test to clear the previously loaded suggest
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
196 " file from memory.
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
197 set encoding=utf-8
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
198
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
199 set runtimepath=./Xtest
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
200 set spelllang=Xtest
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
201 if a:emsg != ''
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
202 call assert_fails('set spell', a:emsg)
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
203 else
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
204 " FIXME: With some invalid spellfile contents, there are no error
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
205 " messages. So don't know how to check for the test result.
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
206 set spell
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
207 endif
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
208 set nospell spelllang& rtp&
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
209 endfunc
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
210
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
211 " Test for spell file format errors.
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
212 " The spell file format is described in spellfile.c
21841
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
213 func Test_spellfile_format_error()
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
214 let save_rtp = &rtp
30769
ae10b91ac6b3 patch 9.0.0719: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29802
diff changeset
215 call mkdir('Xtest/spell', 'pR')
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
216 let splfile = './Xtest/spell/Xtest.utf-8.spl'
21841
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
217
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
218 " empty spell file
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
219 call writefile([], splfile)
21841
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
220 set runtimepath=./Xtest
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
221 set spelllang=Xtest
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
222 call assert_fails('set spell', 'E757:')
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
223 set nospell spelllang&
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
224
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
225 " invalid file ID
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
226 call writefile(0z56494D, splfile, 'b')
21841
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
227 set runtimepath=./Xtest
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
228 set spelllang=Xtest
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
229 call assert_fails('set spell', 'E757:')
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
230 set nospell spelllang&
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
231
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
232 " missing version number
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
233 call writefile(0z56494D7370656C6C, splfile, 'b')
21841
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
234 set runtimepath=./Xtest
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
235 set spelllang=Xtest
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
236 call assert_fails('set spell', 'E771:')
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
237 set nospell spelllang&
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
238
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
239 " invalid version number
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
240 call writefile(0z56494D7370656C6C7A, splfile, 'b')
21841
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
241 set runtimepath=./Xtest
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
242 set spelllang=Xtest
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
243 call assert_fails('set spell', 'E772:')
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
244 set nospell spelllang&
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
245
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
246 " no sections
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
247 call Spellfile_Test(0z, 'E758:')
21841
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
248
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
249 " missing section length
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
250 call Spellfile_Test(0z00, 'E758:')
21841
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
251
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
252 " unsupported required section
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
253 call Spellfile_Test(0z7A0100000004, 'E770:')
21841
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
254
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
255 " unsupported not-required section
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
256 call Spellfile_Test(0z7A0000000004, 'E758:')
21841
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
257
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
258 " SN_REGION: invalid number of region names
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
259 call Spellfile_Test(0z0000000000FF, 'E759:')
21841
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
260
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
261 " SN_CHARFLAGS: missing <charflagslen> length
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
262 call Spellfile_Test(0z010000000004, 'E758:')
21841
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
263
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
264 " SN_CHARFLAGS: invalid <charflagslen> length
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
265 call Spellfile_Test(0z0100000000010201, '')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
266
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
267 " SN_CHARFLAGS: charflagslen == 0 and folcharslen != 0
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
268 call Spellfile_Test(0z01000000000400000101, 'E759:')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
269
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
270 " SN_CHARFLAGS: missing <folcharslen> length
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
271 call Spellfile_Test(0z01000000000100, 'E758:')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
272
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
273 " SN_PREFCOND: invalid prefcondcnt
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
274 call Spellfile_Test(0z03000000000100, 'E759:')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
275
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
276 " SN_PREFCOND: invalid condlen
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
277 call Spellfile_Test(0z0300000000020001, 'E759:')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
278
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
279 " SN_REP: invalid repcount
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
280 call Spellfile_Test(0z04000000000100, 'E758:')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
281
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
282 " SN_REP: missing rep
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
283 call Spellfile_Test(0z0400000000020004, 'E758:')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
284
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
285 " SN_REP: zero repfromlen
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
286 call Spellfile_Test(0z040000000003000100, 'E759:')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
287
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
288 " SN_REP: invalid reptolen
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
289 call Spellfile_Test(0z0400000000050001014101, '')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
290
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
291 " SN_REP: zero reptolen
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
292 call Spellfile_Test(0z0400000000050001014100, 'E759:')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
293
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
294 " SN_SAL: missing salcount
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
295 call Spellfile_Test(0z05000000000102, 'E758:')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
296
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
297 " SN_SAL: missing salfromlen
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
298 call Spellfile_Test(0z050000000003080001, 'E758:')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
299
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
300 " SN_SAL: missing saltolen
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
301 call Spellfile_Test(0z0500000000050400010161, 'E758:')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
302
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
303 " SN_WORDS: non-NUL terminated word
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
304 call Spellfile_Test(0z0D000000000376696D, 'E758:')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
305
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
306 " SN_WORDS: very long word
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
307 let v = eval('0z0D000000012C' .. repeat('41', 300))
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
308 call Spellfile_Test(v, 'E759:')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
309
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
310 " SN_SOFO: missing sofofromlen
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
311 call Spellfile_Test(0z06000000000100, 'E758:')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
312
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
313 " SN_SOFO: missing sofotolen
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
314 call Spellfile_Test(0z06000000000400016100, 'E758:')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
315
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
316 " SN_SOFO: missing sofoto
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
317 call Spellfile_Test(0z0600000000050001610000, 'E759:')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
318
22204
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
319 " SN_SOFO: empty sofofrom and sofoto
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
320 call Spellfile_Test(0z06000000000400000000FF000000000000000000000000, '')
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
321
22220
37ad27fa22e7 patch 8.2.1659: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 22204
diff changeset
322 " SN_SOFO: multi-byte characters in sofofrom and sofoto
37ad27fa22e7 patch 8.2.1659: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 22204
diff changeset
323 call Spellfile_Test(0z0600000000080002CF810002CF82FF000000000000000000000000, '')
37ad27fa22e7 patch 8.2.1659: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 22204
diff changeset
324
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
325 " SN_COMPOUND: compmax is less than 2
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
326 call Spellfile_Test(0z08000000000101, 'E759:')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
327
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
328 " SN_COMPOUND: missing compsylmax and other options
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
329 call Spellfile_Test(0z0800000000020401, 'E759:')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
330
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
331 " SN_COMPOUND: missing compoptions
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
332 call Spellfile_Test(0z080000000005040101, 'E758:')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
333
22204
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
334 " SN_COMPOUND: missing comppattern
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
335 call Spellfile_Test(0z08000000000704010100000001, 'E758:')
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
336
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
337 " SN_COMPOUND: incorrect comppatlen
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
338 call Spellfile_Test(0z080000000007040101000000020165, 'E758:')
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
339
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
340 " SN_INFO: missing info
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
341 call Spellfile_Test(0z0F0000000005040101, '')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
342
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
343 " SN_MIDWORD: missing midword
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
344 call Spellfile_Test(0z0200000000040102, '')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
345
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
346 " SN_MAP: missing midword
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
347 call Spellfile_Test(0z0700000000040102, '')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
348
22204
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
349 " SN_MAP: empty map string
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
350 call Spellfile_Test(0z070000000000FF000000000000000000000000, '')
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
351
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
352 " SN_MAP: duplicate multibyte character
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
353 call Spellfile_Test(0z070000000004DC81DC81, 'E783:')
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
354
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
355 " SN_SYLLABLE: missing SYLLABLE item
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
356 call Spellfile_Test(0z0900000000040102, '')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
357
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
358 " SN_SYLLABLE: More than SY_MAXLEN size
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
359 let v = eval('0z090000000022612F' .. repeat('62', 32))
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
360 call Spellfile_Test(v, '')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
361
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
362 " LWORDTREE: missing
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
363 call Spellfile_Test(0zFF, 'E758:')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
364
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
365 " LWORDTREE: missing tree node
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
366 call Spellfile_Test(0zFF00000004, 'E758:')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
367
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
368 " LWORDTREE: missing tree node value
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
369 call Spellfile_Test(0zFF0000000402, 'E758:')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
370
22204
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
371 " LWORDTREE: incorrect sibling node count
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
372 call Spellfile_Test(0zFF00000001040000000000000000, 'E759:')
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
373
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
374 " KWORDTREE: missing tree node
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
375 call Spellfile_Test(0zFF0000000000000004, 'E758:')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
376
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
377 " PREFIXTREE: missing tree node
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
378 call Spellfile_Test(0zFF000000000000000000000004, 'E758:')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
379
22204
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
380 " PREFIXTREE: incorrect prefcondnr
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
381 call Spellfile_Test(0zFF000000000000000000000002010200000020, 'E759:')
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
382
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
383 " PREFIXTREE: invalid nodeidx
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
384 call Spellfile_Test(0zFF00000000000000000000000201010000, 'E759:')
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
385
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
386 let &rtp = save_rtp
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
387 endfunc
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
388
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
389 " Test for format errors in suggest file
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
390 func Test_sugfile_format_error()
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
391 let save_rtp = &rtp
30769
ae10b91ac6b3 patch 9.0.0719: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29802
diff changeset
392 call mkdir('Xtest/spell', 'pR')
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
393 let splfile = './Xtest/spell/Xtest.utf-8.spl'
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
394 let sugfile = './Xtest/spell/Xtest.utf-8.sug'
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
395
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
396 " create an empty spell file with a suggest timestamp
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
397 call writefile(0z56494D7370656C6C320B00000000080000000000000044FF000000000000000000000000, splfile, 'b')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
398
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
399 " 'encoding' is set before each test to clear the previously loaded suggest
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
400 " file from memory.
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
401
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
402 " empty suggest file
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
403 set encoding=utf-8
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
404 call writefile([], sugfile)
21841
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
405 set runtimepath=./Xtest
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
406 set spelllang=Xtest
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
407 set spell
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
408 call assert_fails("let s = spellsuggest('abc')", 'E778:')
21841
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
409 set nospell spelllang&
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
410
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
411 " zero suggest version
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
412 set encoding=utf-8
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
413 call writefile(0z56494D73756700, sugfile)
21841
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
414 set runtimepath=./Xtest
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
415 set spelllang=Xtest
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
416 set spell
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
417 call assert_fails("let s = spellsuggest('abc')", 'E779:')
21841
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
418 set nospell spelllang&
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
419
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
420 " unsupported suggest version
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
421 set encoding=utf-8
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
422 call writefile(0z56494D7375671F, sugfile)
21841
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
423 set runtimepath=./Xtest
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
424 set spelllang=Xtest
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
425 set spell
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
426 call assert_fails("let s = spellsuggest('abc')", 'E780:')
21841
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
427 set nospell spelllang&
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
428
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
429 " missing suggest timestamp
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
430 set encoding=utf-8
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
431 call writefile(0z56494D73756701, sugfile)
21841
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
432 set runtimepath=./Xtest
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
433 set spelllang=Xtest
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
434 set spell
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
435 call assert_fails("let s = spellsuggest('abc')", 'E781:')
21841
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
436 set nospell spelllang&
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
437
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
438 " incorrect suggest timestamp
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
439 set encoding=utf-8
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
440 call writefile(0z56494D7375670100000000000000FF, sugfile)
21841
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
441 set runtimepath=./Xtest
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
442 set spelllang=Xtest
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
443 set spell
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
444 call assert_fails("let s = spellsuggest('abc')", 'E781:')
21841
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
445 set nospell spelllang&
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
446
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
447 " missing suggest wordtree
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
448 set encoding=utf-8
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
449 call writefile(0z56494D737567010000000000000044, sugfile)
21841
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
450 set runtimepath=./Xtest
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
451 set spelllang=Xtest
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
452 set spell
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
453 call assert_fails("let s = spellsuggest('abc')", 'E782:')
21841
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
454 set nospell spelllang&
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
455
21947
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
456 " invalid suggest word count in SUGTABLE
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
457 set encoding=utf-8
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
458 call writefile(0z56494D7375670100000000000000440000000022, sugfile)
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
459 set runtimepath=./Xtest
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
460 set spelllang=Xtest
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
461 set spell
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
462 call assert_fails("let s = spellsuggest('abc')", 'E782:')
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
463 set nospell spelllang&
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
464
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
465 " missing sugline in SUGTABLE
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
466 set encoding=utf-8
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
467 call writefile(0z56494D7375670100000000000000440000000000000005, sugfile)
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
468 set runtimepath=./Xtest
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
469 set spelllang=Xtest
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
470 set spell
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
471 call assert_fails("let s = spellsuggest('abc')", 'E782:')
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
472 set nospell spelllang&
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
473
21841
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
474 let &rtp = save_rtp
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
475 endfunc
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
476
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
477 " Test for using :mkspell to create a spell file from a list of words
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
478 func Test_wordlist_dic()
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
479 " duplicate encoding
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
480 let lines =<< trim [END]
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
481 # This is an example word list
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
482
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
483 /encoding=latin1
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
484 /encoding=latin1
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
485 example
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
486 [END]
30769
ae10b91ac6b3 patch 9.0.0719: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29802
diff changeset
487 call writefile(lines, 'Xwordlist.dic', 'D')
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
488 let output = execute('mkspell Xwordlist.spl Xwordlist.dic')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
489 call assert_match('Duplicate /encoding= line ignored in Xwordlist.dic line 4: /encoding=latin1', output)
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
490
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
491 " multiple encoding for a word
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
492 let lines =<< trim [END]
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
493 example
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
494 /encoding=latin1
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
495 example
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
496 [END]
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
497 call writefile(lines, 'Xwordlist.dic')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
498 let output = execute('mkspell! Xwordlist.spl Xwordlist.dic')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
499 call assert_match('/encoding= line after word ignored in Xwordlist.dic line 2: /encoding=latin1', output)
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
500
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
501 " unsupported encoding for a word
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
502 let lines =<< trim [END]
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
503 /encoding=Xtest
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
504 example
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
505 [END]
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
506 call writefile(lines, 'Xwordlist.dic')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
507 let output = execute('mkspell! Xwordlist.spl Xwordlist.dic')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
508 call assert_match('Conversion in Xwordlist.dic not supported: from Xtest to utf-8', output)
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
509
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
510 " duplicate region
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
511 let lines =<< trim [END]
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
512 /regions=usca
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
513 /regions=usca
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
514 example
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
515 [END]
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
516 call writefile(lines, 'Xwordlist.dic')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
517 let output = execute('mkspell! Xwordlist.spl Xwordlist.dic')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
518 call assert_match('Duplicate /regions= line ignored in Xwordlist.dic line 2: regions=usca', output)
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
519
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
520 " maximum regions
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
521 let lines =<< trim [END]
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
522 /regions=uscauscauscauscausca
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
523 example
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
524 [END]
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
525 call writefile(lines, 'Xwordlist.dic')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
526 let output = execute('mkspell! Xwordlist.spl Xwordlist.dic')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
527 call assert_match('Too many regions in Xwordlist.dic line 1: uscauscauscauscausca', output)
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
528
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
529 " unsupported '/' value
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
530 let lines =<< trim [END]
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
531 /test=abc
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
532 example
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
533 [END]
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
534 call writefile(lines, 'Xwordlist.dic')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
535 let output = execute('mkspell! Xwordlist.spl Xwordlist.dic')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
536 call assert_match('/ line ignored in Xwordlist.dic line 1: /test=abc', output)
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
537
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
538 " unsupported flag
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
539 let lines =<< trim [END]
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
540 example/+
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
541 [END]
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
542 call writefile(lines, 'Xwordlist.dic')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
543 let output = execute('mkspell! Xwordlist.spl Xwordlist.dic')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
544 call assert_match('Unrecognized flags in Xwordlist.dic line 1: +', output)
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
545
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
546 " non-ascii word
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
547 call writefile(["ʀʀ"], 'Xwordlist.dic')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
548 let output = execute('mkspell! -ascii Xwordlist.spl Xwordlist.dic')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
549 call assert_match('Ignored 1 words with non-ASCII characters', output)
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
550
22204
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
551 " keep case of a word
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
552 let lines =<< trim [END]
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
553 example/=
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
554 [END]
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
555 call writefile(lines, 'Xwordlist.dic')
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
556 let output = execute('mkspell! Xwordlist.spl Xwordlist.dic')
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
557 call assert_match('Compressed keep-case:', output)
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
558
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
559 call delete('Xwordlist.spl')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
560 endfunc
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
561
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
562 " Test for the :mkspell command
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
563 func Test_mkspell()
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
564 call assert_fails('mkspell Xtest_us.spl', 'E751:')
22220
37ad27fa22e7 patch 8.2.1659: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 22204
diff changeset
565 call assert_fails('mkspell Xtest.spl abc', 'E484:')
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
566 call assert_fails('mkspell a b c d e f g h i j k', 'E754:')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
567
22220
37ad27fa22e7 patch 8.2.1659: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 22204
diff changeset
568 " create a .aff file but not the .dic file
37ad27fa22e7 patch 8.2.1659: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 22204
diff changeset
569 call writefile([], 'Xtest.aff')
37ad27fa22e7 patch 8.2.1659: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 22204
diff changeset
570 call assert_fails('mkspell Xtest.spl Xtest', 'E484:')
37ad27fa22e7 patch 8.2.1659: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 22204
diff changeset
571 call delete('Xtest.aff')
37ad27fa22e7 patch 8.2.1659: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 22204
diff changeset
572
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
573 call writefile([], 'Xtest.spl')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
574 call writefile([], 'Xtest.dic')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
575 call assert_fails('mkspell Xtest.spl Xtest.dic', 'E13:')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
576 call delete('Xtest.spl')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
577 call delete('Xtest.dic')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
578
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
579 call mkdir('Xtest.spl')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
580 call assert_fails('mkspell! Xtest.spl Xtest.dic', 'E17:')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
581 call delete('Xtest.spl', 'rf')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
582
24727
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
583 " can't write the .spl file as its directory does not exist
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
584 call writefile([], 'Xtest.aff')
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
585 call writefile([], 'Xtest.dic')
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
586 call assert_fails('mkspell DOES_NOT_EXIT/Xtest.spl Xtest.dic', 'E484:')
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
587 call delete('Xtest.aff')
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
588 call delete('Xtest.dic')
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
589
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
590 call assert_fails('mkspell en en_US abc_xyz', 'E755:')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
591 endfunc
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
592
21945
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
593 " Tests for :mkspell with a .dic and .aff file
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
594 func Test_aff_file_format_error()
21947
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
595 " FIXME: For some reason, the :mkspell command below doesn't fail on the
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
596 " MS-Windows CI build. Disable this test on MS-Windows for now.
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
597 CheckNotMSWindows
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
598
21945
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
599 " No word count in .dic file
30769
ae10b91ac6b3 patch 9.0.0719: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29802
diff changeset
600 call writefile([], 'Xtest.dic', 'D')
ae10b91ac6b3 patch 9.0.0719: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29802
diff changeset
601 call writefile([], 'Xtest.aff', 'D')
21945
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
602 call assert_fails('mkspell! Xtest.spl Xtest', 'E760:')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
603
21947
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
604 " create a .dic file for the tests below
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
605 call writefile(['1', 'work'], 'Xtest.dic')
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
606
21945
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
607 " Invalid encoding in .aff file
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
608 call writefile(['# comment', 'SET Xinvalidencoding'], 'Xtest.aff')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
609 let output = execute('mkspell! Xtest.spl Xtest')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
610 call assert_match('Conversion in Xtest.aff not supported: from xinvalidencoding', output)
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
611
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
612 " Invalid flag in .aff file
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
613 call writefile(['FLAG xxx'], 'Xtest.aff')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
614 let output = execute('mkspell! Xtest.spl Xtest')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
615 call assert_match('Invalid value for FLAG in Xtest.aff line 1: xxx', output)
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
616
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
617 " set FLAGS after using flag for an affix
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
618 call writefile(['SFX L Y 1', 'SFX L 0 re [^x]', 'FLAG long'], 'Xtest.aff')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
619 let output = execute('mkspell! Xtest.spl Xtest')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
620 call assert_match('FLAG after using flags in Xtest.aff line 3: long', output)
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
621
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
622 " INFO in affix file
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
623 let save_encoding = &encoding
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
624 call mkdir('Xrtp/spell', 'p')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
625 call writefile(['1', 'work'], 'Xrtp/spell/Xtest.dic')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
626 call writefile(['NAME klingon', 'VERSION 1.4', 'AUTHOR Spock'],
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
627 \ 'Xrtp/spell/Xtest.aff')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
628 silent mkspell! Xrtp/spell/Xtest.utf-8.spl Xrtp/spell/Xtest
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
629 let save_rtp = &rtp
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
630 set runtimepath=./Xrtp
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
631 set spelllang=Xtest
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
632 set spell
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
633 let output = split(execute('spellinfo'), "\n")
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
634 call assert_equal("NAME klingon", output[1])
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
635 call assert_equal("VERSION 1.4", output[2])
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
636 call assert_equal("AUTHOR Spock", output[3])
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
637 let &rtp = save_rtp
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
638 call delete('Xrtp', 'rf')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
639 set spell& spelllang& spellfile&
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
640 %bw!
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
641 " 'encoding' must be set again to clear the spell file in memory
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
642 let &encoding = save_encoding
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
643
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
644 " COMPOUNDFORBIDFLAG flag after PFX in an affix file
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
645 call writefile(['PFX L Y 1', 'PFX L 0 re x', 'COMPOUNDFLAG c', 'COMPOUNDFORBIDFLAG x'],
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
646 \ 'Xtest.aff')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
647 let output = execute('mkspell! Xtest.spl Xtest')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
648 call assert_match('Defining COMPOUNDFORBIDFLAG after PFX item may give wrong results in Xtest.aff line 4', output)
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
649
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
650 " COMPOUNDPERMITFLAG flag after PFX in an affix file
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
651 call writefile(['PFX L Y 1', 'PFX L 0 re x', 'COMPOUNDPERMITFLAG c'],
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
652 \ 'Xtest.aff')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
653 let output = execute('mkspell! Xtest.spl Xtest')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
654 call assert_match('Defining COMPOUNDPERMITFLAG after PFX item may give wrong results in Xtest.aff line 3', output)
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
655
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
656 " Wrong COMPOUNDRULES flag value in an affix file
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
657 call writefile(['COMPOUNDRULES a'], 'Xtest.aff')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
658 let output = execute('mkspell! Xtest.spl Xtest')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
659 call assert_match('Wrong COMPOUNDRULES value in Xtest.aff line 1: a', output)
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
660
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
661 " Wrong COMPOUNDWORDMAX flag value in an affix file
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
662 call writefile(['COMPOUNDWORDMAX 0'], 'Xtest.aff')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
663 let output = execute('mkspell! Xtest.spl Xtest')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
664 call assert_match('Wrong COMPOUNDWORDMAX value in Xtest.aff line 1: 0', output)
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
665
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
666 " Wrong COMPOUNDMIN flag value in an affix file
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
667 call writefile(['COMPOUNDMIN 0'], 'Xtest.aff')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
668 let output = execute('mkspell! Xtest.spl Xtest')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
669 call assert_match('Wrong COMPOUNDMIN value in Xtest.aff line 1: 0', output)
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
670
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
671 " Wrong COMPOUNDSYLMAX flag value in an affix file
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
672 call writefile(['COMPOUNDSYLMAX 0'], 'Xtest.aff')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
673 let output = execute('mkspell! Xtest.spl Xtest')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
674 call assert_match('Wrong COMPOUNDSYLMAX value in Xtest.aff line 1: 0', output)
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
675
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
676 " Wrong CHECKCOMPOUNDPATTERN flag value in an affix file
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
677 call writefile(['CHECKCOMPOUNDPATTERN 0'], 'Xtest.aff')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
678 let output = execute('mkspell! Xtest.spl Xtest')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
679 call assert_match('Wrong CHECKCOMPOUNDPATTERN value in Xtest.aff line 1: 0', output)
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
680
24758
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
681 " Both compounding and NOBREAK specified
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
682 call writefile(['COMPOUNDFLAG c', 'NOBREAK'], 'Xtest.aff')
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
683 let output = execute('mkspell! Xtest.spl Xtest')
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
684 call assert_match('Warning: both compounding and NOBREAK specified', output)
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
685
21945
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
686 " Duplicate affix entry in an affix file
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
687 call writefile(['PFX L Y 1', 'PFX L 0 re x', 'PFX L Y 1', 'PFX L 0 re x'],
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
688 \ 'Xtest.aff')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
689 let output = execute('mkspell! Xtest.spl Xtest')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
690 call assert_match('Duplicate affix in Xtest.aff line 3: L', output)
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
691
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
692 " Duplicate affix entry in an affix file
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
693 call writefile(['PFX L Y 1', 'PFX L Y 1'], 'Xtest.aff')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
694 let output = execute('mkspell! Xtest.spl Xtest')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
695 call assert_match('Unrecognized or duplicate item in Xtest.aff line 2: PFX', output)
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
696
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
697 " Different combining flags in an affix file
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
698 call writefile(['PFX L Y 1', 'PFX L 0 re x', 'PFX L N 1'], 'Xtest.aff')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
699 let output = execute('mkspell! Xtest.spl Xtest')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
700 call assert_match('Different combining flag in continued affix block in Xtest.aff line 3', output)
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
701
26211
485c7c4afeb7 patch 8.2.3637: typos in test files
Bram Moolenaar <Bram@vim.org>
parents: 25617
diff changeset
702 " Try to reuse an affix used for BAD flag
21945
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
703 call writefile(['BAD x', 'PFX x Y 1', 'PFX x 0 re x'], 'Xtest.aff')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
704 let output = execute('mkspell! Xtest.spl Xtest')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
705 call assert_match('Affix also used for BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST in Xtest.aff line 2: x', output)
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
706
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
707 " Trailing characters in an affix entry
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
708 call writefile(['PFX L Y 1 Test', 'PFX L 0 re x'], 'Xtest.aff')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
709 let output = execute('mkspell! Xtest.spl Xtest')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
710 call assert_match('Trailing text in Xtest.aff line 1: Test', output)
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
711
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
712 " Trailing characters in an affix entry
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
713 call writefile(['PFX L Y 1', 'PFX L 0 re x Test'], 'Xtest.aff')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
714 let output = execute('mkspell! Xtest.spl Xtest')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
715 call assert_match('Trailing text in Xtest.aff line 2: Test', output)
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
716
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
717 " Incorrect combine flag in an affix entry
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
718 call writefile(['PFX L X 1', 'PFX L 0 re x'], 'Xtest.aff')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
719 let output = execute('mkspell! Xtest.spl Xtest')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
720 call assert_match('Expected Y or N in Xtest.aff line 1: X', output)
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
721
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
722 " Invalid count for REP item
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
723 call writefile(['REP a'], 'Xtest.aff')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
724 let output = execute('mkspell! Xtest.spl Xtest')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
725 call assert_match('Expected REP(SAL) count in Xtest.aff line 1', output)
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
726
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
727 " Trailing characters in REP item
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
728 call writefile(['REP 1', 'REP f ph test'], 'Xtest.aff')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
729 let output = execute('mkspell! Xtest.spl Xtest')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
730 call assert_match('Trailing text in Xtest.aff line 2: test', output)
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
731
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
732 " Invalid count for MAP item
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
733 call writefile(['MAP a'], 'Xtest.aff')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
734 let output = execute('mkspell! Xtest.spl Xtest')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
735 call assert_match('Expected MAP count in Xtest.aff line 1', output)
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
736
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
737 " Duplicate character in a MAP item
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
738 call writefile(['MAP 2', 'MAP xx', 'MAP yy'], 'Xtest.aff')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
739 let output = execute('mkspell! Xtest.spl Xtest')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
740 call assert_match('Duplicate character in MAP in Xtest.aff line 2', output)
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
741
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
742 " Use COMPOUNDSYLMAX without SYLLABLE
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
743 call writefile(['COMPOUNDSYLMAX 2'], 'Xtest.aff')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
744 let output = execute('mkspell! Xtest.spl Xtest')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
745 call assert_match('COMPOUNDSYLMAX used without SYLLABLE', output)
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
746
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
747 " Missing SOFOTO
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
748 call writefile(['SOFOFROM abcdef'], 'Xtest.aff')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
749 let output = execute('mkspell! Xtest.spl Xtest')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
750 call assert_match('Missing SOFOTO line in Xtest.aff', output)
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
751
21947
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
752 " Length of SOFOFROM and SOFOTO differ
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
753 call writefile(['SOFOFROM abcde', 'SOFOTO ABCD'], 'Xtest.aff')
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
754 call assert_fails('mkspell! Xtest.spl Xtest', 'E759:')
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
755
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
756 " Both SAL and SOFOFROM/SOFOTO items
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
757 call writefile(['SOFOFROM abcd', 'SOFOTO ABCD', 'SAL CIA X'], 'Xtest.aff')
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
758 let output = execute('mkspell! Xtest.spl Xtest')
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
759 call assert_match('Both SAL and SOFO lines in Xtest.aff', output)
21945
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
760
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
761 " use an alphabet flag when FLAG is num
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
762 call writefile(['FLAG num', 'SFX L Y 1', 'SFX L 0 re [^x]'], 'Xtest.aff')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
763 let output = execute('mkspell! Xtest.spl Xtest')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
764 call assert_match('Flag is not a number in Xtest.aff line 2: L', output)
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
765
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
766 " use number and alphabet flag when FLAG is num
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
767 call writefile(['FLAG num', 'SFX 4f Y 1', 'SFX 4f 0 re [^x]'], 'Xtest.aff')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
768 let output = execute('mkspell! Xtest.spl Xtest')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
769 call assert_match('Affix name too long in Xtest.aff line 2: 4f', output)
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
770
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
771 " use a single character flag when FLAG is long
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
772 call writefile(['FLAG long', 'SFX L Y 1', 'SFX L 0 re [^x]'], 'Xtest.aff')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
773 let output = execute('mkspell! Xtest.spl Xtest')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
774 call assert_match('Illegal flag in Xtest.aff line 2: L', output)
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
775
22204
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
776 " missing character in UPP entry. The character table is used only in a
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
777 " non-utf8 encoding
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
778 call writefile(['FOL abc', 'LOW abc', 'UPP A'], 'Xtest.aff')
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
779 let save_encoding = &encoding
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
780 set encoding=cp949
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
781 call assert_fails('mkspell! Xtest.spl Xtest', 'E761:')
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
782 let &encoding = save_encoding
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
783
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
784 " character range doesn't match between FOL and LOW entries
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
785 call writefile(["FOL \u0102bc", 'LOW abc', 'UPP ABC'], 'Xtest.aff')
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
786 let save_encoding = &encoding
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
787 set encoding=cp949
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
788 call assert_fails('mkspell! Xtest.spl Xtest', 'E762:')
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
789 let &encoding = save_encoding
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
790
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
791 " character range doesn't match between FOL and UPP entries
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
792 call writefile(["FOL \u0102bc", "LOW \u0102bc", 'UPP ABC'], 'Xtest.aff')
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
793 let save_encoding = &encoding
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
794 set encoding=cp949
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
795 call assert_fails('mkspell! Xtest.spl Xtest', 'E762:')
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
796 let &encoding = save_encoding
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
797
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
798 " additional characters in LOW and UPP entries
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
799 call writefile(["FOL ab", "LOW abc", 'UPP ABC'], 'Xtest.aff')
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
800 let save_encoding = &encoding
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
801 set encoding=cp949
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
802 call assert_fails('mkspell! Xtest.spl Xtest', 'E761:')
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
803 let &encoding = save_encoding
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
804
22220
37ad27fa22e7 patch 8.2.1659: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 22204
diff changeset
805 " missing UPP entry
37ad27fa22e7 patch 8.2.1659: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 22204
diff changeset
806 call writefile(["FOL abc", "LOW abc"], 'Xtest.aff')
37ad27fa22e7 patch 8.2.1659: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 22204
diff changeset
807 let save_encoding = &encoding
37ad27fa22e7 patch 8.2.1659: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 22204
diff changeset
808 set encoding=cp949
37ad27fa22e7 patch 8.2.1659: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 22204
diff changeset
809 let output = execute('mkspell! Xtest.spl Xtest')
37ad27fa22e7 patch 8.2.1659: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 22204
diff changeset
810 call assert_match('Missing FOL/LOW/UPP line in Xtest.aff', output)
37ad27fa22e7 patch 8.2.1659: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 22204
diff changeset
811 let &encoding = save_encoding
37ad27fa22e7 patch 8.2.1659: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 22204
diff changeset
812
21947
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
813 " duplicate word in the .dic file
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
814 call writefile(['2', 'good', 'good', 'good'], 'Xtest.dic')
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
815 call writefile(['NAME vim'], 'Xtest.aff')
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
816 let output = execute('mkspell! Xtest.spl Xtest')
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
817 call assert_match('First duplicate word in Xtest.dic line 3: good', output)
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
818 call assert_match('2 duplicate word(s) in Xtest.dic', output)
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
819
22220
37ad27fa22e7 patch 8.2.1659: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 22204
diff changeset
820 " use multiple .aff files with different values for COMPOUNDWORDMAX and
37ad27fa22e7 patch 8.2.1659: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 22204
diff changeset
821 " MIDWORD (number and string)
30769
ae10b91ac6b3 patch 9.0.0719: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29802
diff changeset
822 call writefile(['1', 'world'], 'Xtest_US.dic', 'D')
ae10b91ac6b3 patch 9.0.0719: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29802
diff changeset
823 call writefile(['1', 'world'], 'Xtest_CA.dic', 'D')
ae10b91ac6b3 patch 9.0.0719: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29802
diff changeset
824 call writefile(["COMPOUNDWORDMAX 3", "MIDWORD '-"], 'Xtest_US.aff', 'D')
ae10b91ac6b3 patch 9.0.0719: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29802
diff changeset
825 call writefile(["COMPOUNDWORDMAX 4", "MIDWORD '="], 'Xtest_CA.aff', 'D')
22220
37ad27fa22e7 patch 8.2.1659: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 22204
diff changeset
826 let output = execute('mkspell! Xtest.spl Xtest_US Xtest_CA')
37ad27fa22e7 patch 8.2.1659: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 22204
diff changeset
827 call assert_match('COMPOUNDWORDMAX value differs from what is used in another .aff file', output)
37ad27fa22e7 patch 8.2.1659: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 22204
diff changeset
828 call assert_match('MIDWORD value differs from what is used in another .aff file', output)
37ad27fa22e7 patch 8.2.1659: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 22204
diff changeset
829
21945
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
830 call delete('Xtest.spl')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
831 call delete('Xtest.sug')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
832 endfunc
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
833
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
834 func Test_spell_add_word()
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
835 set spellfile=
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
836 call assert_fails('spellgood abc', 'E764:')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
837
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
838 set spellfile=Xtest.utf-8.add
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
839 call assert_fails('2spellgood abc', 'E765:')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
840
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
841 edit Xtest.utf-8.add
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
842 call setline(1, 'sample')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
843 call assert_fails('spellgood abc', 'E139:')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
844 set spellfile&
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
845 %bw!
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
846 endfunc
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
847
24727
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
848 func Test_spellfile_verbose()
30769
ae10b91ac6b3 patch 9.0.0719: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29802
diff changeset
849 call writefile(['1', 'one'], 'XtestVerbose.dic', 'D')
ae10b91ac6b3 patch 9.0.0719: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29802
diff changeset
850 call writefile([], 'XtestVerbose.aff', 'D')
24727
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
851 mkspell! XtestVerbose-utf8.spl XtestVerbose
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
852 set spell
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
853
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
854 " First time: the spl file should be read.
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
855 let a = execute('3verbose set spelllang=XtestVerbose-utf8.spl')
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
856 call assert_match('Reading spell file "XtestVerbose-utf8.spl"', a)
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
857
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
858 " Second time time: the spl file should not be read (already read).
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
859 let a = execute('3verbose set spelllang=XtestVerbose-utf8.spl')
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
860 call assert_notmatch('Reading spell file "XtestVerbose-utf8.spl"', a)
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
861
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
862 set spell& spelllang&
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
863 call delete('XtestVerbose-utf8.spl')
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
864 endfunc
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
865
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
866 " Test NOBREAK (see :help spell-NOBREAK)
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
867 func Test_NOBREAK()
30769
ae10b91ac6b3 patch 9.0.0719: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29802
diff changeset
868 call writefile(['3', 'one', 'two', 'three' ], 'XtestNOBREAK.dic', 'D')
ae10b91ac6b3 patch 9.0.0719: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29802
diff changeset
869 call writefile(['NOBREAK' ], 'XtestNOBREAK.aff', 'D')
24727
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
870
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
871 mkspell! XtestNOBREAK-utf8.spl XtestNOBREAK
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
872 set spell spelllang=XtestNOBREAK-utf8.spl
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
873
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
874 call assert_equal(['', ''], spellbadword('One two three onetwo onetwothree threetwoone'))
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
875
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
876 call assert_equal(['x', 'bad'], spellbadword('x'))
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
877 call assert_equal(['y', 'bad'], spellbadword('yone'))
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
878 call assert_equal(['z', 'bad'], spellbadword('onez'))
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
879 call assert_equal(['zero', 'bad'], spellbadword('Onetwozerothree'))
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
880
24758
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
881 new
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
882 call setline(1, 'Onetwwothree')
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
883 norm! fw1z=
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
884 call assert_equal('Onetwothree', getline(1))
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
885 call setline(1, 'Onetwothre')
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
886 norm! fh1z=
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
887 call assert_equal('Onetwothree', getline(1))
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
888
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
889 bw!
24727
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
890 set spell& spelllang&
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
891 call delete('XtestNOBREAK-utf8.spl')
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
892 endfunc
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
893
24715
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
894 " Test CHECKCOMPOUNDPATTERN (see :help spell-CHECKCOMPOUNDPATTERN)
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
895 func Test_spellfile_CHECKCOMPOUNDPATTERN()
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
896 call writefile(['4',
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
897 \ 'one/c',
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
898 \ 'two/c',
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
899 \ 'three/c',
30769
ae10b91ac6b3 patch 9.0.0719: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29802
diff changeset
900 \ 'four'], 'XtestCHECKCOMPOUNDPATTERN.dic', 'D')
24715
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
901 " Forbid compound words where first word ends with 'wo' and second starts with 'on'.
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
902 call writefile(['CHECKCOMPOUNDPATTERN 1',
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
903 \ 'CHECKCOMPOUNDPATTERN wo on',
30769
ae10b91ac6b3 patch 9.0.0719: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29802
diff changeset
904 \ 'COMPOUNDFLAG c'], 'XtestCHECKCOMPOUNDPATTERN.aff', 'D')
24715
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
905
24727
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
906 mkspell! XtestCHECKCOMPOUNDPATTERN-utf8.spl XtestCHECKCOMPOUNDPATTERN
24715
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
907 set spell spelllang=XtestCHECKCOMPOUNDPATTERN-utf8.spl
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
908
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
909 " Check valid words with and without valid compounds.
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
910 for goodword in ['one', 'two', 'three', 'four',
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
911 \ 'oneone', 'onetwo', 'onethree',
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
912 \ 'twotwo', 'twothree',
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
913 \ 'threeone', 'threetwo', 'threethree',
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
914 \ 'onetwothree', 'onethreetwo', 'twothreeone', 'oneoneone']
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
915 call assert_equal(['', ''], spellbadword(goodword), goodword)
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
916 endfor
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
917
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
918 " Compounds 'twoone' or 'threetwoone' should be forbidden by CHECKCOMPOUNPATTERN.
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
919 " 'four' does not have the 'c' flag in *.aff file so no compound.
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
920 " 'five' is not in the *.dic file.
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
921 for badword in ['five', 'onetwox',
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
922 \ 'twoone', 'threetwoone',
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
923 \ 'fourone', 'onefour']
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
924 call assert_equal([badword, 'bad'], spellbadword(badword))
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
925 endfor
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
926
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
927 set spell& spelllang&
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
928 call delete('XtestCHECKCOMPOUNDPATTERN-utf8.spl')
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
929 endfunc
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
930
25352
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
931 " Test NOCOMPOUNDSUGS (see :help spell-NOCOMPOUNDSUGS)
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
932 func Test_spellfile_NOCOMPOUNDSUGS()
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
933 call writefile(['3',
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
934 \ 'one/c',
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
935 \ 'two/c',
30769
ae10b91ac6b3 patch 9.0.0719: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29802
diff changeset
936 \ 'three/c'], 'XtestNOCOMPOUNDSUGS.dic', 'D')
25352
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
937
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
938 " pass 0 tests without NOCOMPOUNDSUGS, pass 1 tests with NOCOMPOUNDSUGS
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
939 for pass in [0, 1]
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
940 if pass == 0
30769
ae10b91ac6b3 patch 9.0.0719: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29802
diff changeset
941 call writefile(['COMPOUNDFLAG c'], 'XtestNOCOMPOUNDSUGS.aff', 'D')
25352
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
942 else
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
943 call writefile(['NOCOMPOUNDSUGS',
30769
ae10b91ac6b3 patch 9.0.0719: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29802
diff changeset
944 \ 'COMPOUNDFLAG c'], 'XtestNOCOMPOUNDSUGS.aff', 'D')
25352
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
945 endif
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
946
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
947 mkspell! XtestNOCOMPOUNDSUGS-utf8.spl XtestNOCOMPOUNDSUGS
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
948 set spell spelllang=XtestNOCOMPOUNDSUGS-utf8.spl
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
949
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
950 for goodword in ['one', 'two', 'three',
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
951 \ 'oneone', 'onetwo', 'onethree',
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
952 \ 'twoone', 'twotwo', 'twothree',
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
953 \ 'threeone', 'threetwo', 'threethree',
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
954 \ 'onetwothree', 'onethreetwo', 'twothreeone', 'oneoneone']
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
955 call assert_equal(['', ''], spellbadword(goodword), goodword)
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
956 endfor
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
957
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
958 for badword in ['four', 'onetwox', 'onexone']
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
959 call assert_equal([badword, 'bad'], spellbadword(badword))
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
960 endfor
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
961
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
962 if pass == 0
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
963 call assert_equal(['one', 'oneone'], spellsuggest('onne', 2))
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
964 call assert_equal(['onethree', 'one three'], spellsuggest('onethre', 2))
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
965 else
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
966 call assert_equal(['one', 'one one'], spellsuggest('onne', 2))
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
967 call assert_equal(['one three'], spellsuggest('onethre', 2))
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
968 endif
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
969 endfor
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
970
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
971 set spell& spelllang&
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
972 call delete('XtestNOCOMPOUNDSUGS-utf8.spl')
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
973 endfunc
202bc982008b patch 8.2.3213: NOCOMPOUNDSUGS entry in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 24758
diff changeset
974
24715
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
975 " Test COMMON (better suggestions with common words, see :help spell-COMMON)
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
976 func Test_spellfile_COMMON()
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
977 call writefile(['7',
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
978 \ 'and',
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
979 \ 'ant',
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
980 \ 'end',
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
981 \ 'any',
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
982 \ 'tee',
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
983 \ 'the',
30769
ae10b91ac6b3 patch 9.0.0719: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29802
diff changeset
984 \ 'ted'], 'XtestCOMMON.dic', 'D')
ae10b91ac6b3 patch 9.0.0719: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29802
diff changeset
985 call writefile(['COMMON the and'], 'XtestCOMMON.aff', 'D')
24715
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
986
24727
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
987 mkspell! XtestCOMMON-utf8.spl XtestCOMMON
24715
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
988 set spell spelllang=XtestCOMMON-utf8.spl
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
989
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
990 " COMMON words 'and' and 'the' should be the top suggestions.
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
991 call assert_equal(['and', 'ant'], spellsuggest('anr', 2))
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
992 call assert_equal(['and', 'end'], spellsuggest('ond', 2))
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
993 call assert_equal(['the', 'ted'], spellsuggest('tha', 2))
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
994 call assert_equal(['the', 'tee'], spellsuggest('dhe', 2))
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
995
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
996 set spell& spelllang&
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
997 call delete('XtestCOMMON-utf8.spl')
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
998 endfunc
004b1c60daa9 patch 8.2.2896: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 22476
diff changeset
999
25617
28f1b7c38ba1 patch 8.2.3345: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 25352
diff changeset
1000 " Test NOSUGGEST (see :help spell-COMMON)
28f1b7c38ba1 patch 8.2.3345: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 25352
diff changeset
1001 func Test_spellfile_NOSUGGEST()
30769
ae10b91ac6b3 patch 9.0.0719: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29802
diff changeset
1002 call writefile(['2', 'foo/X', 'fog'], 'XtestNOSUGGEST.dic', 'D')
ae10b91ac6b3 patch 9.0.0719: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29802
diff changeset
1003 call writefile(['NOSUGGEST X'], 'XtestNOSUGGEST.aff', 'D')
25617
28f1b7c38ba1 patch 8.2.3345: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 25352
diff changeset
1004
28f1b7c38ba1 patch 8.2.3345: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 25352
diff changeset
1005 mkspell! XtestNOSUGGEST-utf8.spl XtestNOSUGGEST
28f1b7c38ba1 patch 8.2.3345: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 25352
diff changeset
1006 set spell spelllang=XtestNOSUGGEST-utf8.spl
28f1b7c38ba1 patch 8.2.3345: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 25352
diff changeset
1007
28f1b7c38ba1 patch 8.2.3345: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 25352
diff changeset
1008 for goodword in ['foo', 'Foo', 'FOO', 'fog', 'Fog', 'FOG']
28f1b7c38ba1 patch 8.2.3345: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 25352
diff changeset
1009 call assert_equal(['', ''], spellbadword(goodword), goodword)
28f1b7c38ba1 patch 8.2.3345: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 25352
diff changeset
1010 endfor
28f1b7c38ba1 patch 8.2.3345: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 25352
diff changeset
1011 for badword in ['foO', 'fOO', 'fooo', 'foog', 'foofog', 'fogfoo']
28f1b7c38ba1 patch 8.2.3345: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 25352
diff changeset
1012 call assert_equal([badword, 'bad'], spellbadword(badword))
28f1b7c38ba1 patch 8.2.3345: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 25352
diff changeset
1013 endfor
28f1b7c38ba1 patch 8.2.3345: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 25352
diff changeset
1014
28f1b7c38ba1 patch 8.2.3345: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 25352
diff changeset
1015 call assert_equal(['fog'], spellsuggest('fooo', 1))
28f1b7c38ba1 patch 8.2.3345: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 25352
diff changeset
1016 call assert_equal(['fog'], spellsuggest('fOo', 1))
28f1b7c38ba1 patch 8.2.3345: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 25352
diff changeset
1017 call assert_equal(['fog'], spellsuggest('foG', 1))
28f1b7c38ba1 patch 8.2.3345: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 25352
diff changeset
1018 call assert_equal(['fog'], spellsuggest('fogg', 1))
28f1b7c38ba1 patch 8.2.3345: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 25352
diff changeset
1019
28f1b7c38ba1 patch 8.2.3345: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 25352
diff changeset
1020 set spell& spelllang&
28f1b7c38ba1 patch 8.2.3345: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 25352
diff changeset
1021 call delete('XtestNOSUGGEST-utf8.spl')
28f1b7c38ba1 patch 8.2.3345: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 25352
diff changeset
1022 endfunc
28f1b7c38ba1 patch 8.2.3345: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 25352
diff changeset
1023
28f1b7c38ba1 patch 8.2.3345: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 25352
diff changeset
1024
24727
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1025 " Test CIRCUMFIX (see: :help spell-CIRCUMFIX)
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1026 func Test_spellfile_CIRCUMFIX()
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1027 " Example taken verbatim from https://github.com/hunspell/hunspell/tree/master/tests
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1028 call writefile(['1',
30769
ae10b91ac6b3 patch 9.0.0719: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29802
diff changeset
1029 \ 'nagy/C po:adj'], 'XtestCIRCUMFIX.dic', 'D')
24727
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1030 call writefile(['# circumfixes: ~ obligate prefix/suffix combinations',
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1031 \ '# superlative in Hungarian: leg- (prefix) AND -bb (suffix)',
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1032 \ '',
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1033 \ 'CIRCUMFIX X',
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1034 \ '',
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1035 \ 'PFX A Y 1',
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1036 \ 'PFX A 0 leg/X .',
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1037 \ '',
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1038 \ 'PFX B Y 1',
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1039 \ 'PFX B 0 legesleg/X .',
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1040 \ '',
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1041 \ 'SFX C Y 3',
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1042 \ 'SFX C 0 obb . is:COMPARATIVE',
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1043 \ 'SFX C 0 obb/AX . is:SUPERLATIVE',
30769
ae10b91ac6b3 patch 9.0.0719: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29802
diff changeset
1044 \ 'SFX C 0 obb/BX . is:SUPERSUPERLATIVE'], 'XtestCIRCUMFIX.aff', 'D')
24727
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1045
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1046 mkspell! XtestCIRCUMFIX-utf8.spl XtestCIRCUMFIX
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1047 set spell spelllang=XtestCIRCUMFIX-utf8.spl
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1048
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1049 " From https://catalog.ldc.upenn.edu/docs/LDC2008T01/acta04.pdf:
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1050 " Hungarian English
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1051 " --------- -------
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1052 " nagy great
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1053 " nagyobb greater
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1054 " legnagyobb greatest
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1055 " legeslegnagyob most greatest
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1056 call assert_equal(['', ''], spellbadword('nagy nagyobb legnagyobb legeslegnagyobb'))
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1057
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1058 for badword in ['legnagy', 'legeslegnagy', 'legobb', 'legeslegobb']
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1059 call assert_equal([badword, 'bad'], spellbadword(badword))
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1060 endfor
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1061
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1062 set spell& spelllang&
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1063 call delete('XtestCIRCUMFIX-utf8.spl')
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1064 endfunc
71ace849e9f1 patch 8.2.2902: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24715
diff changeset
1065
24758
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1066 " Test SFX that strips/chops characters
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1067 func Test_spellfile_SFX_strip()
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1068 " Simplified conjugation of Italian verbs ending in -are (first conjugation).
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1069 call writefile(['SFX A Y 4',
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1070 \ 'SFX A are iamo [^icg]are',
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1071 \ 'SFX A are hiamo [cg]are',
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1072 \ 'SFX A re mo iare',
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1073 \ 'SFX A re vamo are'],
30769
ae10b91ac6b3 patch 9.0.0719: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29802
diff changeset
1074 \ 'XtestSFX.aff', 'D')
24758
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1075 " Examples of Italian verbs:
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1076 " - cantare = to sing
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1077 " - cercare = to search
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1078 " - odiare = to hate
30769
ae10b91ac6b3 patch 9.0.0719: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29802
diff changeset
1079 call writefile(['3', 'cantare/A', 'cercare/A', 'odiare/A'], 'XtestSFX.dic', 'D')
24758
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1080
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1081 mkspell! XtestSFX-utf8.spl XtestSFX
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1082 set spell spelllang=XtestSFX-utf8.spl
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1083
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1084 " To sing, we're singing, we were singing.
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1085 call assert_equal(['', ''], spellbadword('cantare cantiamo cantavamo'))
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1086
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1087 " To search, we're searching, we were searching.
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1088 call assert_equal(['', ''], spellbadword('cercare cerchiamo cercavamo'))
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1089
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1090 " To hate, we hate, we were hating.
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1091 call assert_equal(['', ''], spellbadword('odiare odiamo odiavamo'))
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1092
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1093 for badword in ['canthiamo', 'cerciamo', 'cantarevamo', 'odiiamo']
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1094 call assert_equal([badword, 'bad'], spellbadword(badword))
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1095 endfor
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1096
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1097 call assert_equal(['cantiamo'], spellsuggest('canthiamo', 1))
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1098 call assert_equal(['cerchiamo'], spellsuggest('cerciamo', 1))
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1099 call assert_equal(['cantavamo'], spellsuggest('cantarevamo', 1))
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1100 call assert_equal(['odiamo'], spellsuggest('odiiamo', 1))
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1101
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1102 set spell& spelllang&
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1103 call delete('XtestSFX-utf8.spl')
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1104 endfunc
857881ec1cb5 patch 8.2.2917: spellfile functionality not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24727
diff changeset
1105
21945
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
1106 " When 'spellfile' is not set, adding a new good word will automatically set
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
1107 " the 'spellfile'
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
1108 func Test_init_spellfile()
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
1109 let save_rtp = &rtp
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
1110 let save_encoding = &encoding
30769
ae10b91ac6b3 patch 9.0.0719: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29802
diff changeset
1111 call mkdir('Xrtp/spell', 'pR')
21945
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
1112 call writefile(['vim'], 'Xrtp/spell/Xtest.dic')
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
1113 silent mkspell Xrtp/spell/Xtest.utf-8.spl Xrtp/spell/Xtest.dic
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
1114 set runtimepath=./Xrtp
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
1115 set spelllang=Xtest
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
1116 set spell
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
1117 silent spellgood abc
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
1118 call assert_equal('./Xrtp/spell/Xtest.utf-8.add', &spellfile)
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
1119 call assert_equal(['abc'], readfile('Xrtp/spell/Xtest.utf-8.add'))
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
1120 call assert_true(filereadable('Xrtp/spell/Xtest.utf-8.spl'))
30769
ae10b91ac6b3 patch 9.0.0719: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29802
diff changeset
1121
21945
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
1122 set spell& spelllang& spellfile&
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
1123 let &encoding = save_encoding
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
1124 let &rtp = save_rtp
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
1125 %bw!
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
1126 endfunc
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
1127
21947
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
1128 " Test for the 'mkspellmem' option
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
1129 func Test_mkspellmem_opt()
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
1130 call assert_fails('set mkspellmem=1000', 'E474:')
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
1131 call assert_fails('set mkspellmem=1000,', 'E474:')
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
1132 call assert_fails('set mkspellmem=1000,50', 'E474:')
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
1133 call assert_fails('set mkspellmem=1000,50,', 'E474:')
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
1134 call assert_fails('set mkspellmem=1000,50,10,', 'E474:')
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
1135 call assert_fails('set mkspellmem=1000,50,0', 'E474:')
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
1136 endfunc
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
1137
29595
5233acfa06f1 patch 9.0.0138: not enough characters accepted for 'spellfile'
Bram Moolenaar <Bram@vim.org>
parents: 26211
diff changeset
1138 " 'spellfile' accepts '@' on top of 'isfname'.
5233acfa06f1 patch 9.0.0138: not enough characters accepted for 'spellfile'
Bram Moolenaar <Bram@vim.org>
parents: 26211
diff changeset
1139 def Test_spellfile_allow_at_character()
5233acfa06f1 patch 9.0.0138: not enough characters accepted for 'spellfile'
Bram Moolenaar <Bram@vim.org>
parents: 26211
diff changeset
1140 mkdir('Xtest/the foo@bar,dir', 'p')
5233acfa06f1 patch 9.0.0138: not enough characters accepted for 'spellfile'
Bram Moolenaar <Bram@vim.org>
parents: 26211
diff changeset
1141 &spellfile = './Xtest/the foo@bar,dir/Xspellfile.add'
5233acfa06f1 patch 9.0.0138: not enough characters accepted for 'spellfile'
Bram Moolenaar <Bram@vim.org>
parents: 26211
diff changeset
1142 &spellfile = ''
5233acfa06f1 patch 9.0.0138: not enough characters accepted for 'spellfile'
Bram Moolenaar <Bram@vim.org>
parents: 26211
diff changeset
1143 delete('Xtest', 'rf')
5233acfa06f1 patch 9.0.0138: not enough characters accepted for 'spellfile'
Bram Moolenaar <Bram@vim.org>
parents: 26211
diff changeset
1144 enddef
5233acfa06f1 patch 9.0.0138: not enough characters accepted for 'spellfile'
Bram Moolenaar <Bram@vim.org>
parents: 26211
diff changeset
1145
29802
be40495e9cd8 patch 9.0.0240: crash when using ":mkspell" with an empty .dic file
Bram Moolenaar <Bram@vim.org>
parents: 29595
diff changeset
1146 " this was using a NULL pointer
be40495e9cd8 patch 9.0.0240: crash when using ":mkspell" with an empty .dic file
Bram Moolenaar <Bram@vim.org>
parents: 29595
diff changeset
1147 func Test_mkspell_empty_dic()
30769
ae10b91ac6b3 patch 9.0.0719: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29802
diff changeset
1148 call writefile(['1'], 'XtestEmpty.dic', 'D')
ae10b91ac6b3 patch 9.0.0719: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 29802
diff changeset
1149 call writefile(['SOFOFROM abcd', 'SOFOTO ABCD', 'SAL CIA X'], 'XtestEmpty.aff', 'D')
29802
be40495e9cd8 patch 9.0.0240: crash when using ":mkspell" with an empty .dic file
Bram Moolenaar <Bram@vim.org>
parents: 29595
diff changeset
1150 mkspell! XtestEmpty.spl XtestEmpty
be40495e9cd8 patch 9.0.0240: crash when using ":mkspell" with an empty .dic file
Bram Moolenaar <Bram@vim.org>
parents: 29595
diff changeset
1151
be40495e9cd8 patch 9.0.0240: crash when using ":mkspell" with an empty .dic file
Bram Moolenaar <Bram@vim.org>
parents: 29595
diff changeset
1152 call delete('XtestEmpty.spl')
be40495e9cd8 patch 9.0.0240: crash when using ":mkspell" with an empty .dic file
Bram Moolenaar <Bram@vim.org>
parents: 29595
diff changeset
1153 endfunc
be40495e9cd8 patch 9.0.0240: crash when using ":mkspell" with an empty .dic file
Bram Moolenaar <Bram@vim.org>
parents: 29595
diff changeset
1154
be40495e9cd8 patch 9.0.0240: crash when using ":mkspell" with an empty .dic file
Bram Moolenaar <Bram@vim.org>
parents: 29595
diff changeset
1155
21765
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 17682
diff changeset
1156 " vim: shiftwidth=2 sts=2 expandtab