comparison src/testdir/test_options.vim @ 10322:5adc318767be v8.0.0056

commit https://github.com/vim/vim/commit/d0b5138ba4bccff8a744c99836041ef6322ed39a Author: Bram Moolenaar <Bram@vim.org> Date: Fri Nov 4 15:23:45 2016 +0100 patch 8.0.0056 Problem: When setting 'filetype' there is no check for a valid name. Solution: Only allow valid characters in 'filetype', 'syntax' and 'keymap'.
author Christian Brabandt <cb@256bit.org>
date Fri, 04 Nov 2016 15:30:07 +0100
parents 12c5c2614432
children ecbd3412f214
comparison
equal deleted inserted replaced
10321:a6b2b5a27cbc 10322:5adc318767be
46 set signcolumn=no 46 set signcolumn=no
47 call assert_fails('set signcolumn=nope') 47 call assert_fails('set signcolumn=nope')
48 endif 48 endif
49 endfunc 49 endfunc
50 50
51 func 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)
66 endfunc
67
68 func 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)
83 endfunc
84
85 func 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")
99 endfunc