blob: dee435c38af9dff0c93c265764be96433798bc5c [file] [log] [blame]
Bram Moolenaarc8ce6152016-08-07 13:48:20 +02001" Test for options
2
3function! Test_whichwrap()
4 set whichwrap=b,s
5 call assert_equal('b,s', &whichwrap)
6
7 set whichwrap+=h,l
8 call assert_equal('b,s,h,l', &whichwrap)
9
10 set whichwrap+=h,l
11 call assert_equal('b,s,h,l', &whichwrap)
12
13 set whichwrap+=h,l
14 call assert_equal('b,s,h,l', &whichwrap)
15
16 set whichwrap&
17endfunction
18
Bram Moolenaar95ec9d62016-08-12 18:29:59 +020019function Test_options()
Bram Moolenaarc8ce6152016-08-07 13:48:20 +020020 let caught = 'ok'
21 try
22 options
23 catch
24 let caught = v:throwpoint . "\n" . v:exception
25 endtry
26 call assert_equal('ok', caught)
27
28 " close option-window
29 close
30endfunction
31
Bram Moolenaar95ec9d62016-08-12 18:29:59 +020032function Test_path_keep_commas()
Bram Moolenaarc8ce6152016-08-07 13:48:20 +020033 " Test that changing 'path' keeps two commas.
34 set path=foo,,bar
35 set path-=bar
36 set path+=bar
37 call assert_equal('foo,,bar', &path)
38
39 set path&
40endfunction
Bram Moolenaar95ec9d62016-08-12 18:29:59 +020041
42func Test_signcolumn()
Bram Moolenaarebcccad2016-08-12 19:17:13 +020043 if has('signs')
44 call assert_equal("auto", &signcolumn)
45 set signcolumn=yes
46 set signcolumn=no
47 call assert_fails('set signcolumn=nope')
48 endif
Bram Moolenaar95ec9d62016-08-12 18:29:59 +020049endfunc
50
Bram Moolenaard0b51382016-11-04 15:23:45 +010051func Test_filetype_valid()
52 set ft=valid_name
53 call assert_equal("valid_name", &filetype)
54 set ft=valid-name
55 call assert_equal("valid-name", &filetype)
56
57 call assert_fails(":set ft=wrong;name", "E474:")
58 call assert_fails(":set ft=wrong\\\\name", "E474:")
59 call assert_fails(":set ft=wrong\\|name", "E474:")
60 call assert_fails(":set ft=wrong/name", "E474:")
61 call assert_fails(":set ft=wrong\\\nname", "E474:")
62 call assert_equal("valid-name", &filetype)
63
64 exe "set ft=trunc\x00name"
65 call assert_equal("trunc", &filetype)
66endfunc
67
68func Test_syntax_valid()
69 set syn=valid_name
70 call assert_equal("valid_name", &syntax)
71 set syn=valid-name
72 call assert_equal("valid-name", &syntax)
73
74 call assert_fails(":set syn=wrong;name", "E474:")
75 call assert_fails(":set syn=wrong\\\\name", "E474:")
76 call assert_fails(":set syn=wrong\\|name", "E474:")
77 call assert_fails(":set syn=wrong/name", "E474:")
78 call assert_fails(":set syn=wrong\\\nname", "E474:")
79 call assert_equal("valid-name", &syntax)
80
81 exe "set syn=trunc\x00name"
82 call assert_equal("trunc", &syntax)
83endfunc
84
85func Test_keymap_valid()
86 call assert_fails(":set kmp=valid_name", "E544:")
87 call assert_fails(":set kmp=valid_name", "valid_name")
88 call assert_fails(":set kmp=valid-name", "E544:")
89 call assert_fails(":set kmp=valid-name", "valid-name")
90
91 call assert_fails(":set kmp=wrong;name", "E474:")
92 call assert_fails(":set kmp=wrong\\\\name", "E474:")
93 call assert_fails(":set kmp=wrong\\|name", "E474:")
94 call assert_fails(":set kmp=wrong/name", "E474:")
95 call assert_fails(":set kmp=wrong\\\nname", "E474:")
96
97 call assert_fails(":set kmp=trunc\x00name", "E544:")
98 call assert_fails(":set kmp=trunc\x00name", "trunc")
99endfunc