Mercurial > vim
view src/testdir/test_options.vim @ 10416:ef5474130b0e v8.0.0102
commit https://github.com/vim/vim/commit/7554da4033498c4da0af3cde542c3e87e9097b73
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Nov 25 22:04:13 2016 +0100
patch 8.0.0102
Problem: Cannot set 'dictionary' to a path.
Solution: Allow for slash and backslash. Add a test (partly by Daisuke
Suzuki, closes https://github.com/vim/vim/issues/1279, closes https://github.com/vim/vim/issues/1284)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Fri, 25 Nov 2016 22:15:04 +0100 |
parents | ecbd3412f214 |
children | 7a631c6b0a20 |
line wrap: on
line source
" Test for options function! Test_whichwrap() set whichwrap=b,s call assert_equal('b,s', &whichwrap) set whichwrap+=h,l call assert_equal('b,s,h,l', &whichwrap) set whichwrap+=h,l call assert_equal('b,s,h,l', &whichwrap) set whichwrap+=h,l call assert_equal('b,s,h,l', &whichwrap) set whichwrap& endfunction function Test_options() let caught = 'ok' try options catch let caught = v:throwpoint . "\n" . v:exception endtry call assert_equal('ok', caught) " close option-window close endfunction function Test_path_keep_commas() " Test that changing 'path' keeps two commas. set path=foo,,bar set path-=bar set path+=bar call assert_equal('foo,,bar', &path) set path& endfunction func Test_signcolumn() if has('signs') call assert_equal("auto", &signcolumn) set signcolumn=yes set signcolumn=no call assert_fails('set signcolumn=nope') endif endfunc func Test_filetype_valid() if !has('autocmd') return endif set ft=valid_name call assert_equal("valid_name", &filetype) set ft=valid-name call assert_equal("valid-name", &filetype) call assert_fails(":set ft=wrong;name", "E474:") call assert_fails(":set ft=wrong\\\\name", "E474:") call assert_fails(":set ft=wrong\\|name", "E474:") call assert_fails(":set ft=wrong/name", "E474:") call assert_fails(":set ft=wrong\\\nname", "E474:") call assert_equal("valid-name", &filetype) exe "set ft=trunc\x00name" call assert_equal("trunc", &filetype) endfunc func Test_syntax_valid() if !has('syntax') return endif set syn=valid_name call assert_equal("valid_name", &syntax) set syn=valid-name call assert_equal("valid-name", &syntax) call assert_fails(":set syn=wrong;name", "E474:") call assert_fails(":set syn=wrong\\\\name", "E474:") call assert_fails(":set syn=wrong\\|name", "E474:") call assert_fails(":set syn=wrong/name", "E474:") call assert_fails(":set syn=wrong\\\nname", "E474:") call assert_equal("valid-name", &syntax) exe "set syn=trunc\x00name" call assert_equal("trunc", &syntax) endfunc func Test_keymap_valid() if !has('keymap') return endif call assert_fails(":set kmp=valid_name", "E544:") call assert_fails(":set kmp=valid_name", "valid_name") call assert_fails(":set kmp=valid-name", "E544:") call assert_fails(":set kmp=valid-name", "valid-name") call assert_fails(":set kmp=wrong;name", "E474:") call assert_fails(":set kmp=wrong\\\\name", "E474:") call assert_fails(":set kmp=wrong\\|name", "E474:") call assert_fails(":set kmp=wrong/name", "E474:") call assert_fails(":set kmp=wrong\\\nname", "E474:") call assert_fails(":set kmp=trunc\x00name", "E544:") call assert_fails(":set kmp=trunc\x00name", "trunc") endfunc func Test_dictionary() " Check that it's possible to set the option. set dictionary=/usr/share/dict/words call assert_equal('/usr/share/dict/words', &dictionary) set dictionary=/usr/share/dict/words,/and/there call assert_equal('/usr/share/dict/words,/and/there', &dictionary) set dictionary=/usr/share/dict\ words call assert_equal('/usr/share/dict words', &dictionary) " Check rejecting weird characters. call assert_fails("set dictionary=/not&there", "E474:") call assert_fails("set dictionary=/not>there", "E474:") call assert_fails("set dictionary=/not.*there", "E474:") endfunc