Mercurial > vim
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 |