annotate src/testdir/test_set.vim @ 27392:ec2ba9acec1b v8.2.4224

patch 8.2.4224: Vim9: no error when using a number for map() second argument Commit: https://github.com/vim/vim/commit/1080c48ec8d672d7e9fbefb5a1255c9df09a2884 Author: Bram Moolenaar <Bram@vim.org> Date: Wed Jan 26 18:26:21 2022 +0000 patch 8.2.4224: Vim9: no error when using a number for map() second argument Problem: Vim9: no error when using a number for map() second argument Solution: Disallow number to string conversion. (closes https://github.com/vim/vim/issues/9630)
author Bram Moolenaar <Bram@vim.org>
date Wed, 26 Jan 2022 19:30:03 +0100
parents 9a7fb0665f9f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7426
779a7c14c795 commit https://github.com/vim/vim/commit/8f79acdf7ede2693fbda53c3c9693f16db4f193b
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1 " Tests for the :set command
779a7c14c795 commit https://github.com/vim/vim/commit/8f79acdf7ede2693fbda53c3c9693f16db4f193b
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2
26400
d26bab4f6aca patch 8.2.3731: "set! termcap" shows codes in one column, but not keys
Bram Moolenaar <Bram@vim.org>
parents: 25238
diff changeset
3 source check.vim
d26bab4f6aca patch 8.2.3731: "set! termcap" shows codes in one column, but not keys
Bram Moolenaar <Bram@vim.org>
parents: 25238
diff changeset
4
7426
779a7c14c795 commit https://github.com/vim/vim/commit/8f79acdf7ede2693fbda53c3c9693f16db4f193b
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
5 function Test_set_backslash()
779a7c14c795 commit https://github.com/vim/vim/commit/8f79acdf7ede2693fbda53c3c9693f16db4f193b
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
6 let isk_save = &isk
779a7c14c795 commit https://github.com/vim/vim/commit/8f79acdf7ede2693fbda53c3c9693f16db4f193b
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
7
779a7c14c795 commit https://github.com/vim/vim/commit/8f79acdf7ede2693fbda53c3c9693f16db4f193b
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
8 set isk=a,b,c
779a7c14c795 commit https://github.com/vim/vim/commit/8f79acdf7ede2693fbda53c3c9693f16db4f193b
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
9 set isk+=d
779a7c14c795 commit https://github.com/vim/vim/commit/8f79acdf7ede2693fbda53c3c9693f16db4f193b
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
10 call assert_equal('a,b,c,d', &isk)
779a7c14c795 commit https://github.com/vim/vim/commit/8f79acdf7ede2693fbda53c3c9693f16db4f193b
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
11 set isk+=\\,e
779a7c14c795 commit https://github.com/vim/vim/commit/8f79acdf7ede2693fbda53c3c9693f16db4f193b
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
12 call assert_equal('a,b,c,d,\,e', &isk)
779a7c14c795 commit https://github.com/vim/vim/commit/8f79acdf7ede2693fbda53c3c9693f16db4f193b
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
13 set isk-=e
779a7c14c795 commit https://github.com/vim/vim/commit/8f79acdf7ede2693fbda53c3c9693f16db4f193b
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
14 call assert_equal('a,b,c,d,\', &isk)
779a7c14c795 commit https://github.com/vim/vim/commit/8f79acdf7ede2693fbda53c3c9693f16db4f193b
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
15 set isk-=\\
779a7c14c795 commit https://github.com/vim/vim/commit/8f79acdf7ede2693fbda53c3c9693f16db4f193b
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
16 call assert_equal('a,b,c,d', &isk)
779a7c14c795 commit https://github.com/vim/vim/commit/8f79acdf7ede2693fbda53c3c9693f16db4f193b
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
17
779a7c14c795 commit https://github.com/vim/vim/commit/8f79acdf7ede2693fbda53c3c9693f16db4f193b
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
18 let &isk = isk_save
779a7c14c795 commit https://github.com/vim/vim/commit/8f79acdf7ede2693fbda53c3c9693f16db4f193b
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
19 endfunction
779a7c14c795 commit https://github.com/vim/vim/commit/8f79acdf7ede2693fbda53c3c9693f16db4f193b
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
20
779a7c14c795 commit https://github.com/vim/vim/commit/8f79acdf7ede2693fbda53c3c9693f16db4f193b
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
21 function Test_set_add()
779a7c14c795 commit https://github.com/vim/vim/commit/8f79acdf7ede2693fbda53c3c9693f16db4f193b
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
22 let wig_save = &wig
779a7c14c795 commit https://github.com/vim/vim/commit/8f79acdf7ede2693fbda53c3c9693f16db4f193b
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
23
779a7c14c795 commit https://github.com/vim/vim/commit/8f79acdf7ede2693fbda53c3c9693f16db4f193b
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
24 set wildignore=*.png,
779a7c14c795 commit https://github.com/vim/vim/commit/8f79acdf7ede2693fbda53c3c9693f16db4f193b
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
25 set wildignore+=*.jpg
779a7c14c795 commit https://github.com/vim/vim/commit/8f79acdf7ede2693fbda53c3c9693f16db4f193b
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
26 call assert_equal('*.png,*.jpg', &wig)
779a7c14c795 commit https://github.com/vim/vim/commit/8f79acdf7ede2693fbda53c3c9693f16db4f193b
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
27
779a7c14c795 commit https://github.com/vim/vim/commit/8f79acdf7ede2693fbda53c3c9693f16db4f193b
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
28 let &wig = wig_save
779a7c14c795 commit https://github.com/vim/vim/commit/8f79acdf7ede2693fbda53c3c9693f16db4f193b
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
29 endfunction
21765
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 7426
diff changeset
30
25238
dd98794f7d8c patch 8.2.3155: some option related code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
31
dd98794f7d8c patch 8.2.3155: some option related code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
32 " :set, :setlocal, :setglobal without arguments show values of options.
dd98794f7d8c patch 8.2.3155: some option related code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
33 func Test_set_no_arg()
dd98794f7d8c patch 8.2.3155: some option related code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
34 set textwidth=79
dd98794f7d8c patch 8.2.3155: some option related code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
35 let a = execute('set')
dd98794f7d8c patch 8.2.3155: some option related code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
36 call assert_match("^\n--- Options ---\n.*textwidth=79\\>", a)
dd98794f7d8c patch 8.2.3155: some option related code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
37 set textwidth&
dd98794f7d8c patch 8.2.3155: some option related code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
38
dd98794f7d8c patch 8.2.3155: some option related code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
39 setlocal textwidth=78
dd98794f7d8c patch 8.2.3155: some option related code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
40 let a = execute('setlocal')
dd98794f7d8c patch 8.2.3155: some option related code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
41 call assert_match("^\n--- Local option values ---\n.*textwidth=78\\>", a)
dd98794f7d8c patch 8.2.3155: some option related code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
42 setlocal textwidth&
dd98794f7d8c patch 8.2.3155: some option related code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
43
dd98794f7d8c patch 8.2.3155: some option related code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
44 setglobal textwidth=77
dd98794f7d8c patch 8.2.3155: some option related code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
45 let a = execute('setglobal')
dd98794f7d8c patch 8.2.3155: some option related code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
46 call assert_match("^\n--- Global option values ---\n.*textwidth=77\\>", a)
dd98794f7d8c patch 8.2.3155: some option related code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
47 setglobal textwidth&
dd98794f7d8c patch 8.2.3155: some option related code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
48 endfunc
dd98794f7d8c patch 8.2.3155: some option related code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
49
26400
d26bab4f6aca patch 8.2.3731: "set! termcap" shows codes in one column, but not keys
Bram Moolenaar <Bram@vim.org>
parents: 25238
diff changeset
50 func Test_set_termcap()
d26bab4f6aca patch 8.2.3731: "set! termcap" shows codes in one column, but not keys
Bram Moolenaar <Bram@vim.org>
parents: 25238
diff changeset
51 CheckNotGui
d26bab4f6aca patch 8.2.3731: "set! termcap" shows codes in one column, but not keys
Bram Moolenaar <Bram@vim.org>
parents: 25238
diff changeset
52
d26bab4f6aca patch 8.2.3731: "set! termcap" shows codes in one column, but not keys
Bram Moolenaar <Bram@vim.org>
parents: 25238
diff changeset
53 let lines = split(execute('set termcap'), "\n")
d26bab4f6aca patch 8.2.3731: "set! termcap" shows codes in one column, but not keys
Bram Moolenaar <Bram@vim.org>
parents: 25238
diff changeset
54 call assert_match('--- Terminal codes ---', lines[0])
d26bab4f6aca patch 8.2.3731: "set! termcap" shows codes in one column, but not keys
Bram Moolenaar <Bram@vim.org>
parents: 25238
diff changeset
55 " four columns
d26bab4f6aca patch 8.2.3731: "set! termcap" shows codes in one column, but not keys
Bram Moolenaar <Bram@vim.org>
parents: 25238
diff changeset
56 call assert_match('t_..=.*t_..=.*t_..=.*t_..=', lines[1])
d26bab4f6aca patch 8.2.3731: "set! termcap" shows codes in one column, but not keys
Bram Moolenaar <Bram@vim.org>
parents: 25238
diff changeset
57
d26bab4f6aca patch 8.2.3731: "set! termcap" shows codes in one column, but not keys
Bram Moolenaar <Bram@vim.org>
parents: 25238
diff changeset
58 for keys_idx in range(len(lines))
d26bab4f6aca patch 8.2.3731: "set! termcap" shows codes in one column, but not keys
Bram Moolenaar <Bram@vim.org>
parents: 25238
diff changeset
59 if lines[keys_idx] =~ '--- Terminal keys ---'
d26bab4f6aca patch 8.2.3731: "set! termcap" shows codes in one column, but not keys
Bram Moolenaar <Bram@vim.org>
parents: 25238
diff changeset
60 break
d26bab4f6aca patch 8.2.3731: "set! termcap" shows codes in one column, but not keys
Bram Moolenaar <Bram@vim.org>
parents: 25238
diff changeset
61 endif
d26bab4f6aca patch 8.2.3731: "set! termcap" shows codes in one column, but not keys
Bram Moolenaar <Bram@vim.org>
parents: 25238
diff changeset
62 endfor
d26bab4f6aca patch 8.2.3731: "set! termcap" shows codes in one column, but not keys
Bram Moolenaar <Bram@vim.org>
parents: 25238
diff changeset
63 call assert_true(keys_idx < len(lines))
d26bab4f6aca patch 8.2.3731: "set! termcap" shows codes in one column, but not keys
Bram Moolenaar <Bram@vim.org>
parents: 25238
diff changeset
64 " three columns
26402
9a7fb0665f9f patch 8.2.3732: "set! termcap" test fails
Bram Moolenaar <Bram@vim.org>
parents: 26400
diff changeset
65 call assert_match('<[^>]*> .*<[^>]*> .*<[^>]*> ', lines[keys_idx + 1])
26400
d26bab4f6aca patch 8.2.3731: "set! termcap" shows codes in one column, but not keys
Bram Moolenaar <Bram@vim.org>
parents: 25238
diff changeset
66
d26bab4f6aca patch 8.2.3731: "set! termcap" shows codes in one column, but not keys
Bram Moolenaar <Bram@vim.org>
parents: 25238
diff changeset
67 let more_lines = split(execute('set! termcap'), "\n")
d26bab4f6aca patch 8.2.3731: "set! termcap" shows codes in one column, but not keys
Bram Moolenaar <Bram@vim.org>
parents: 25238
diff changeset
68 for i in range(len(more_lines))
d26bab4f6aca patch 8.2.3731: "set! termcap" shows codes in one column, but not keys
Bram Moolenaar <Bram@vim.org>
parents: 25238
diff changeset
69 if more_lines[i] =~ '--- Terminal keys ---'
d26bab4f6aca patch 8.2.3731: "set! termcap" shows codes in one column, but not keys
Bram Moolenaar <Bram@vim.org>
parents: 25238
diff changeset
70 break
d26bab4f6aca patch 8.2.3731: "set! termcap" shows codes in one column, but not keys
Bram Moolenaar <Bram@vim.org>
parents: 25238
diff changeset
71 endif
d26bab4f6aca patch 8.2.3731: "set! termcap" shows codes in one column, but not keys
Bram Moolenaar <Bram@vim.org>
parents: 25238
diff changeset
72 endfor
d26bab4f6aca patch 8.2.3731: "set! termcap" shows codes in one column, but not keys
Bram Moolenaar <Bram@vim.org>
parents: 25238
diff changeset
73 call assert_true(i < len(more_lines))
d26bab4f6aca patch 8.2.3731: "set! termcap" shows codes in one column, but not keys
Bram Moolenaar <Bram@vim.org>
parents: 25238
diff changeset
74 call assert_true(i > keys_idx)
d26bab4f6aca patch 8.2.3731: "set! termcap" shows codes in one column, but not keys
Bram Moolenaar <Bram@vim.org>
parents: 25238
diff changeset
75 call assert_true(len(more_lines) - i > len(lines) - keys_idx)
d26bab4f6aca patch 8.2.3731: "set! termcap" shows codes in one column, but not keys
Bram Moolenaar <Bram@vim.org>
parents: 25238
diff changeset
76 endfunc
d26bab4f6aca patch 8.2.3731: "set! termcap" shows codes in one column, but not keys
Bram Moolenaar <Bram@vim.org>
parents: 25238
diff changeset
77
21765
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 7426
diff changeset
78 " vim: shiftwidth=2 sts=2 expandtab