annotate src/testdir/test_spellfile.vim @ 22204:3a28f60258ba v8.2.1651

patch 8.2.1651: spellfile code not completely tested Commit: https://github.com/vim/vim/commit/64e2db6dc6d7a013ff94ce302af8958cbd2704af Author: Bram Moolenaar <Bram@vim.org> Date: Wed Sep 9 22:43:19 2020 +0200 patch 8.2.1651: spellfile code not completely tested Problem: Spellfile code not completely tested. Solution: Add a few more test cases. (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/6918)
author Bram Moolenaar <Bram@vim.org>
date Wed, 09 Sep 2020 22:45:03 +0200
parents 12952b240ec8
children 37ad27fa22e7
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
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
28 " Test for zw
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
29 2
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
30 norm! $zw
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
31 1
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
32 norm! ]s
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
33 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
34 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
35 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
36 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
37
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
38 " Test for :spellrare
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
39 spellrare rare
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
40 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
41 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
42
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
43 " 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
44 spellundo rare
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
45 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
46 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
47
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
48 " 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
49 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
50 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
51 1
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
52 norm! ]s
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('3 goood', getline('.'))
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
54 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
55 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
56 " 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
57 2
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
58 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
59 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
60 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
61 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
62
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
63 " Test for zG
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
64 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
65 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
66 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
67 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
68 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
69
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
70 " Test for zW
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
71 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
72 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
73 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
74 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
75 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
76
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
77 " Test for zuW
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
78 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
79 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
80 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
81 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
82 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
83
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
84 " Test for zuG
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
85 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
86 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
87 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
88 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
89 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
90 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
91 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
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_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
94 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
95 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
96 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
97 " 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
98 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
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_match("", a)
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[0])
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[1])
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
103 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
104
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
105 " Test for zug
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
106 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
107 2
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
108 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
109 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
110 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
111 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
112 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
113 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
114 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
115 " 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
116 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
117 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
118 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
119 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
120
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
121 " Test for zuw
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
122 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
123 2
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
124 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
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('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
127 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
128 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
129 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
130 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
131 " 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
132 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
133 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
134 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
135 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
136
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
137 " 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
138 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
139 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
140 2
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
141 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
142 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
143 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
144 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
145
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
146 " Test for :spellgood!
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
147 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
148 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
149 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
150 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
151
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
152 " Test for :spellrare!
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
153 :spellrare! raare
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
154 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
155 call delete(spellfile)
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
156
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
157 " clean up
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
158 exe "lang" oldlang
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
159 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
160 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
161 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
162 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
163
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
164 " zux -> no-op
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
165 2
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
166 norm! $zux
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
167 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
168 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
169
21841
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
170 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
171 bw!
3dbff5d37520 patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
172 endfunc
21765
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 17682
diff changeset
173
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
174 " 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
175 " 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
176 " 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
177 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
178 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
179 " 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
180 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
181 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
182
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
183 " '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
184 " file from memory.
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
185 set encoding=utf-8
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
186
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
187 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
188 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
189 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
190 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
191 else
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
192 " 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
193 " 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
194 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
195 endif
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
196 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
197 endfunc
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
198
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
199 " 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
200 " 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
201 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
202 let save_rtp = &rtp
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
203 call mkdir('Xtest/spell', 'p')
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
204 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
205
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
206 " 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
207 call writefile([], splfile)
21841
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
208 set runtimepath=./Xtest
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
209 set spelllang=Xtest
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
210 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
211 set nospell spelllang&
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
212
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
213 " 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
214 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
215 set runtimepath=./Xtest
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
216 set spelllang=Xtest
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
217 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
218 set nospell spelllang&
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
219
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
220 " 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
221 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
222 set runtimepath=./Xtest
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
223 set spelllang=Xtest
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
224 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
225 set nospell spelllang&
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
226
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
227 " 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
228 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
229 set runtimepath=./Xtest
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
230 set spelllang=Xtest
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
231 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
232 set nospell spelllang&
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
233
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
234 " 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
235 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
236
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
237 " 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
238 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
239
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
240 " 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
241 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
242
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
243 " 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
244 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
245
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
246 " 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
247 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
248
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
249 " 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
250 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
251
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
252 " 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
253 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
254
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
255 " 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
256 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
257
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
258 " 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
259 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
260
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
261 " 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
262 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
263
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
264 " 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
265 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
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_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
268 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
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_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
271 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
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_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
274 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
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_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
277 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
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: 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
280 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
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_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
283 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
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_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
286 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
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_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
289 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
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_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
292 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
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_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
295 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
296 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
297
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
298 " 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
299 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
300
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
301 " 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
302 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
303
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
304 " 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
305 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
306
22204
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
307 " 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
308 call Spellfile_Test(0z06000000000400000000FF000000000000000000000000, '')
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
309
21887
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_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
311 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
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_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
314 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
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_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
317 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
318
22204
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
319 " SN_COMPOUND: missing comppattern
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
320 call Spellfile_Test(0z08000000000704010100000001, 'E758:')
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
321
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
322 " SN_COMPOUND: incorrect comppatlen
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
323 call Spellfile_Test(0z080000000007040101000000020165, 'E758:')
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
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_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
326 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
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_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
329 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
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_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
332 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
333
22204
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
334 " SN_MAP: empty map string
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
335 call Spellfile_Test(0z070000000000FF000000000000000000000000, '')
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_MAP: duplicate multibyte character
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
338 call Spellfile_Test(0z070000000004DC81DC81, 'E783:')
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_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
341 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
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_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
344 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
345 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
346
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
347 " 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
348 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
349
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
350 " 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
351 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
352
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
353 " 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
354 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
355
22204
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
356 " LWORDTREE: incorrect sibling node count
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
357 call Spellfile_Test(0zFF00000001040000000000000000, 'E759:')
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
358
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
359 " 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
360 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
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 " 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
363 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
364
22204
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
365 " PREFIXTREE: incorrect prefcondnr
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
366 call Spellfile_Test(0zFF000000000000000000000002010200000020, 'E759:')
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
367
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
368 " PREFIXTREE: invalid nodeidx
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
369 call Spellfile_Test(0zFF00000000000000000000000201010000, 'E759:')
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
370
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
371 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
372 call delete('Xtest', 'rf')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
373 endfunc
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
374
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
375 " 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
376 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
377 let save_rtp = &rtp
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 mkdir('Xtest/spell', 'p')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
379 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
380 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
381
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
382 " 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
383 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
384
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
385 " '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
386 " 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
387
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
388 " 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
389 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
390 call writefile([], sugfile)
21841
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
391 set runtimepath=./Xtest
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
392 set spelllang=Xtest
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
393 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
394 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
395 set nospell spelllang&
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
396
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
397 " 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
398 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
399 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
400 set runtimepath=./Xtest
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
401 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
402 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
403 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
404 set nospell spelllang&
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
405
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
406 " 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
407 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
408 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
409 set runtimepath=./Xtest
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
410 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
411 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
412 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
413 set nospell spelllang&
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
414
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
415 " 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
416 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
417 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
418 set runtimepath=./Xtest
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
419 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
420 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
421 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
422 set nospell spelllang&
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
423
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
424 " 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
425 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
426 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
427 set runtimepath=./Xtest
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
428 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
429 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
430 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
431 set nospell spelllang&
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
432
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
433 " 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
434 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
435 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
436 set runtimepath=./Xtest
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
437 set spelllang=Xtest
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
438 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
439 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
440 set nospell spelllang&
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
441
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
442 " 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
443 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
444 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
445 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
446 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
447 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
448 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
449 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
450
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
451 " 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
452 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
453 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
454 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
455 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
456 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
457 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
458 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
459
21841
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
460 let &rtp = save_rtp
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
461 call delete('Xtest', 'rf')
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
462 endfunc
7a6ca887128d patch 8.2.1470: errors in spell file not tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
463
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
464 " 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
465 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
466 " 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
467 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
468 # 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
469
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
470 /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
471 /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
472 example
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
473 [END]
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
474 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
475 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
476 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
477
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
478 " 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
479 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
480 example
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
481 /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
482 example
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
483 [END]
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
484 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
485 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
486 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
487
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
488 " 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
489 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
490 /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
491 example
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
492 [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 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
494 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
495 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
496
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
497 " 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
498 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
499 /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
500 /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
501 example
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
502 [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 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
504 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
505 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
506
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
507 " 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
508 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
509 /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
510 example
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
511 [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 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
513 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
514 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
515
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
516 " 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
517 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
518 /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
519 example
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
520 [END]
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
521 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
522 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
523 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
524
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
525 " 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
526 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
527 example/+
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
528 [END]
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
529 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
530 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
531 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
532
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
533 " 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
534 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
535 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
536 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
537
22204
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
538 " keep case of a word
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
539 let lines =<< trim [END]
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
540 example/=
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
541 [END]
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
542 call writefile(lines, 'Xwordlist.dic')
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
543 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
544 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
545
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
546 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
547 call delete('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 endfunc
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
549
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
550 " 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
551 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
552 call assert_fails('mkspell Xtest_us.spl', 'E751:')
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
553 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
554
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
555 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
556 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
557 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
558 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
559 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
560
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
561 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
562 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
563 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
564
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
565 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
566 endfunc
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
567
21945
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
568 " 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
569 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
570 " 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
571 " 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
572 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
573
21945
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
574 " No word count in .dic file
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
575 call writefile([], '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
576 call writefile([], '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
577 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
578
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
579 " 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
580 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
581
21945
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
582 " 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
583 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
584 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
585 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
586
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
587 " 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
588 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
589 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
590 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
591
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
592 " 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
593 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
594 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
595 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
596
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
597 " 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
598 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
599 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
600 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
601 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
602 \ '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
603 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
604 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
605 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
606 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
607 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
608 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
609 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
610 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
611 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
612 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
613 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
614 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
615 %bw!
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
616 " '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
617 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
618
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
619 " 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
620 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
621 \ '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
622 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
623 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
624
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
625 " 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
626 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
627 \ '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 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
629 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
630
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
631 " 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
632 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
633 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
634 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
635
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
636 " 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
637 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
638 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
639 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
640
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
641 " 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
642 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
643 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
644 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
645
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
646 " 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
647 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
648 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
649 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
650
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
651 " 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
652 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
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('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
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 " 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
657 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
658 \ '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
659 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
660 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
661
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
662 " 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
663 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
664 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
665 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
666
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
667 " 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
668 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
669 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
670 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
671
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
672 " Try to reuse a affix used for BAD flag
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
673 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
674 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
675 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
676
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
677 " 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
678 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
679 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
680 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
681
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
682 " 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
683 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
684 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
685 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
686
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
687 " 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
688 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
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('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
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 " 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
693 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
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('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
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 " 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
698 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
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('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
701
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
702 " 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
703 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
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('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
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 " 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
708 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
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('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
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 " 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
713 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
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('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
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 " 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
718 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
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('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
721
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
722 " 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
723 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
724 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
725
12952b240ec8 patch 8.2.1523: still not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21945
diff changeset
726 " 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
727 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
728 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
729 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
730
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
731 " 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
732 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
733 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
734 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
735
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
736 " 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
737 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
738 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
739 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
740
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
741 " 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
742 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
743 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
744 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
745
22204
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
746 " 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
747 " non-utf8 encoding
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
748 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
749 let save_encoding = &encoding
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
750 set encoding=cp949
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
751 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
752 let &encoding = save_encoding
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
753
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
754 " 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
755 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
756 let save_encoding = &encoding
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
757 set encoding=cp949
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
758 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
759 let &encoding = save_encoding
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
760
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
761 " 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
762 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
763 let save_encoding = &encoding
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
764 set encoding=cp949
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
765 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
766 let &encoding = save_encoding
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
767
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
768 " 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
769 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
770 let save_encoding = &encoding
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
771 set encoding=cp949
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
772 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
773 let &encoding = save_encoding
3a28f60258ba patch 8.2.1651: spellfile code not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 21947
diff changeset
774
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
775 " 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
776 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
777 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
778 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
779 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
780 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
781
21945
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
782 call delete('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
783 call delete('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
784 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
785 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
786 endfunc
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
787
21887
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
788 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
789 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
790 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
791
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
792 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
793 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
794
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
795 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
796 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
797 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
798 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
799 %bw!
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
800 endfunc
776c76599617 patch 8.2.1493: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21841
diff changeset
801
21945
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
802 " 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
803 " 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
804 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
805 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
806 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
807 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
808 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
809 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
810 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
811 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
812 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
813 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
814 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
815 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
816 call assert_true(filereadable('Xrtp/spell/Xtest.utf-8.spl'))
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
817 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
818 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
819 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
820 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
821 %bw!
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
822 endfunc
9998f4e44a73 patch 8.2.1522: not enough test coverage for the spell file handling
Bram Moolenaar <Bram@vim.org>
parents: 21887
diff changeset
823
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
824 " 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
825 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
826 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
827 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
828 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
829 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
830 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
831 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
832 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
833
21765
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 17682
diff changeset
834 " vim: shiftwidth=2 sts=2 expandtab